-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathFetchPatternMatches.scala
More file actions
62 lines (50 loc) · 2.12 KB
/
FetchPatternMatches.scala
File metadata and controls
62 lines (50 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package example
import scala.collection.mutable._
import scala.io.Source
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.io._
import com.readr.model.annotation._
import com.readr.model.Offsets
import com.readr.model.annotation.Annotations
import com.readr.client.util.AnnotationSequenceFileReader
import com.readr.client.Client
import com.readr.model.Project
import com.readr.client.meaning.frames
import com.readr.model.frame.Frame
import com.typesafe.config.ConfigFactory
import com.readr.client.meaning.frames
import com.readr.client.meaning.frameValences
import com.readr.model.annotation.AnnotationConfirmationType
import com.readr.model.annotation.AnnotatedSentence
object FetchPatternMatches extends Settings {
def main(args:Array[String]) = {
implicit val p = Project(ns, proj)
Client.open(host, user, password)
val frameID = frames.idByName("1sttest")
if (frameID == -1)
println("Frame not found")
val frameCounts = frameValences.findMatches(frameID)
println("totalMatches = " + frameCounts.totalMatches)
println("confirmedMatches = " + frameCounts.confirmedMatches)
println("...")
val prs = frameValences.sentences(AnnotationConfirmationType.AllMatches, frameID, 0, 100)
if (prs.list.isEmpty)
println("No matches.")
for (as:AnnotatedSentence <- prs.list) {
println("doc " + as.documentID + ", sentNum " + as.sentNum)
val ann = as.annotations
val textAnn = ann(0).asInstanceOf[TextAnn]
val tokenOffsetAnn = ann(1).asInstanceOf[TokenOffsetAnn]
val sentenceOffsetAnn = ann(2).asInstanceOf[SentenceOffsetAnn]
val sentenceTokenOffsetAnn = ann(3).asInstanceOf[SentenceTokenOffsetAnn]
val framePatterns = ann(4).asInstanceOf[FrameMatchFeatureAnn]
val frameManual = ann(5).asInstanceOf[FrameMatchFeatureAnn]
println(textAnn.text)
for (arg <- framePatterns.features(0).args)
println("arg " + arg.argNum + ": " + (arg.pos - sentenceTokenOffsetAnn.sents(0).f))
}
if (prs.hasMore)
println("Note: There are more matches.")
Client.close
}
}