nlptoolkit-annotatedtree 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/Layer/DependencyLayer.d.ts +4 -0
- package/dist/Layer/DependencyLayer.js +4 -0
- package/dist/Layer/DependencyLayer.js.map +1 -1
- package/dist/Layer/EnglishPropbankLayer.d.ts +9 -0
- package/dist/Layer/EnglishPropbankLayer.js +9 -0
- package/dist/Layer/EnglishPropbankLayer.js.map +1 -1
- package/dist/Layer/EnglishSemanticLayer.d.ts +5 -0
- package/dist/Layer/EnglishSemanticLayer.js +5 -0
- package/dist/Layer/EnglishSemanticLayer.js.map +1 -1
- package/dist/Layer/EnglishWordLayer.d.ts +4 -0
- package/dist/Layer/EnglishWordLayer.js +4 -0
- package/dist/Layer/EnglishWordLayer.js.map +1 -1
- package/dist/Layer/MetaMorphemeLayer.d.ts +19 -0
- package/dist/Layer/MetaMorphemeLayer.js +19 -0
- package/dist/Layer/MetaMorphemeLayer.js.map +1 -1
- package/dist/Layer/MetaMorphemesMovedLayer.d.ts +20 -0
- package/dist/Layer/MetaMorphemesMovedLayer.js +20 -0
- package/dist/Layer/MetaMorphemesMovedLayer.js.map +1 -1
- package/dist/Layer/MorphologicalAnalysisLayer.d.ts +32 -0
- package/dist/Layer/MorphologicalAnalysisLayer.js +32 -0
- package/dist/Layer/MorphologicalAnalysisLayer.js.map +1 -1
- package/dist/Layer/MultiWordLayer.d.ts +9 -0
- package/dist/Layer/MultiWordLayer.js +9 -0
- package/dist/Layer/MultiWordLayer.js.map +1 -1
- package/dist/Layer/NERLayer.d.ts +14 -0
- package/dist/Layer/NERLayer.js +14 -0
- package/dist/Layer/NERLayer.js.map +1 -1
- package/dist/Layer/PersianWordLayer.d.ts +4 -0
- package/dist/Layer/PersianWordLayer.js +4 -0
- package/dist/Layer/PersianWordLayer.js.map +1 -1
- package/dist/Layer/ShallowParseLayer.d.ts +11 -0
- package/dist/Layer/ShallowParseLayer.js +11 -0
- package/dist/Layer/ShallowParseLayer.js.map +1 -1
- package/dist/Layer/SingleWordLayer.d.ts +4 -0
- package/dist/Layer/SingleWordLayer.js +4 -0
- package/dist/Layer/SingleWordLayer.js.map +1 -1
- package/dist/Layer/SourceLanguageWordLayer.d.ts +4 -0
- package/dist/Layer/SourceLanguageWordLayer.js +4 -0
- package/dist/Layer/SourceLanguageWordLayer.js.map +1 -1
- package/dist/Layer/TargetLanguageWordLayer.d.ts +10 -1
- package/dist/Layer/TargetLanguageWordLayer.js +9 -0
- package/dist/Layer/TargetLanguageWordLayer.js.map +1 -1
- package/dist/Layer/TurkishPropbankLayer.d.ts +18 -0
- package/dist/Layer/TurkishPropbankLayer.js +18 -0
- package/dist/Layer/TurkishPropbankLayer.js.map +1 -1
- package/dist/Layer/TurkishSemanticLayer.d.ts +11 -0
- package/dist/Layer/TurkishSemanticLayer.js +11 -0
- package/dist/Layer/TurkishSemanticLayer.js.map +1 -1
- package/dist/Layer/TurkishWordLayer.d.ts +4 -0
- package/dist/Layer/TurkishWordLayer.js +4 -0
- package/dist/Layer/TurkishWordLayer.js.map +1 -1
- package/dist/Layer/WordLayer.d.ts +12 -0
- package/dist/Layer/WordLayer.js +12 -0
- package/dist/Layer/WordLayer.js.map +1 -1
- package/dist/LayerInfo.d.ts +188 -0
- package/dist/LayerInfo.js +229 -63
- package/dist/LayerInfo.js.map +1 -1
- package/dist/ParseNodeDrawable.d.ts +102 -0
- package/dist/ParseNodeDrawable.js +102 -0
- package/dist/ParseNodeDrawable.js.map +1 -1
- package/dist/ParseTreeDrawable.d.ts +134 -0
- package/dist/ParseTreeDrawable.js +153 -16
- package/dist/ParseTreeDrawable.js.map +1 -1
- package/dist/Processor/Condition/IsDoubleNode.d.ts +6 -0
- package/dist/Processor/Condition/IsDoubleNode.js +6 -0
- package/dist/Processor/Condition/IsDoubleNode.js.map +1 -1
- package/dist/Processor/Condition/IsDoubleNodeWithDifferentTags.d.ts +6 -0
- package/dist/Processor/Condition/IsDoubleNodeWithDifferentTags.js +6 -0
- package/dist/Processor/Condition/IsDoubleNodeWithDifferentTags.js.map +1 -1
- package/dist/Processor/Condition/IsEnglishLeafNode.d.ts +5 -0
- package/dist/Processor/Condition/IsEnglishLeafNode.js +5 -0
- package/dist/Processor/Condition/IsEnglishLeafNode.js.map +1 -1
- package/dist/Processor/Condition/IsLeafNode.d.ts +5 -0
- package/dist/Processor/Condition/IsLeafNode.js +5 -0
- package/dist/Processor/Condition/IsLeafNode.js.map +1 -1
- package/dist/Processor/Condition/IsNodeWithPredicate.d.ts +11 -0
- package/dist/Processor/Condition/IsNodeWithPredicate.js +11 -0
- package/dist/Processor/Condition/IsNodeWithPredicate.js.map +1 -1
- package/dist/Processor/Condition/IsNodeWithSymbol.d.ts +9 -0
- package/dist/Processor/Condition/IsNodeWithSymbol.js +9 -0
- package/dist/Processor/Condition/IsNodeWithSymbol.js.map +1 -1
- package/dist/Processor/Condition/IsNodeWithSynSetId.d.ts +9 -0
- package/dist/Processor/Condition/IsNodeWithSynSetId.js +9 -0
- package/dist/Processor/Condition/IsNodeWithSynSetId.js.map +1 -1
- package/dist/Processor/Condition/IsNoneNode.d.ts +5 -0
- package/dist/Processor/Condition/IsNoneNode.js +5 -0
- package/dist/Processor/Condition/IsNoneNode.js.map +1 -1
- package/dist/Processor/Condition/IsNullElement.d.ts +6 -0
- package/dist/Processor/Condition/IsNullElement.js +6 -0
- package/dist/Processor/Condition/IsNullElement.js.map +1 -1
- package/dist/Processor/Condition/IsNumber.d.ts +6 -0
- package/dist/Processor/Condition/IsNumber.js +6 -0
- package/dist/Processor/Condition/IsNumber.js.map +1 -1
- package/dist/Processor/Condition/IsPredicateVerbNode.d.ts +11 -0
- package/dist/Processor/Condition/IsPredicateVerbNode.js +11 -0
- package/dist/Processor/Condition/IsPredicateVerbNode.js.map +1 -1
- package/dist/Processor/Condition/IsProperNoun.d.ts +5 -0
- package/dist/Processor/Condition/IsProperNoun.js +5 -0
- package/dist/Processor/Condition/IsProperNoun.js.map +1 -1
- package/dist/Processor/Condition/IsPunctuationNode.d.ts +5 -0
- package/dist/Processor/Condition/IsPunctuationNode.js +5 -0
- package/dist/Processor/Condition/IsPunctuationNode.js.map +1 -1
- package/dist/Processor/Condition/IsTransferable.d.ts +5 -0
- package/dist/Processor/Condition/IsTransferable.js +5 -0
- package/dist/Processor/Condition/IsTransferable.js.map +1 -1
- package/dist/Processor/Condition/IsTurkishLeafNode.d.ts +5 -0
- package/dist/Processor/Condition/IsTurkishLeafNode.js +5 -0
- package/dist/Processor/Condition/IsTurkishLeafNode.js.map +1 -1
- package/dist/Processor/Condition/IsVPNode.d.ts +5 -0
- package/dist/Processor/Condition/IsVPNode.js +5 -0
- package/dist/Processor/Condition/IsVPNode.js.map +1 -1
- package/dist/Processor/Condition/IsVerbNode.d.ts +10 -0
- package/dist/Processor/Condition/IsVerbNode.js +10 -0
- package/dist/Processor/Condition/IsVerbNode.js.map +1 -1
- package/dist/Processor/LayerExist/ContainsLayerInformation.d.ts +9 -0
- package/dist/Processor/LayerExist/ContainsLayerInformation.js +9 -0
- package/dist/Processor/LayerExist/ContainsLayerInformation.js.map +1 -1
- package/dist/Processor/LayerExist/NotContainsLayerInformation.d.ts +9 -0
- package/dist/Processor/LayerExist/NotContainsLayerInformation.js +9 -0
- package/dist/Processor/LayerExist/NotContainsLayerInformation.js.map +1 -1
- package/dist/Processor/LayerExist/SemiContainsLayerInformation.d.ts +10 -0
- package/dist/Processor/LayerExist/SemiContainsLayerInformation.js +10 -0
- package/dist/Processor/LayerExist/SemiContainsLayerInformation.js.map +1 -1
- package/dist/Processor/LeafConverter/LeafToEnglish.d.ts +3 -0
- package/dist/Processor/LeafConverter/LeafToEnglish.js +3 -0
- package/dist/Processor/LeafConverter/LeafToEnglish.js.map +1 -1
- package/dist/Processor/LeafConverter/LeafToLanguageConverter.d.ts +7 -0
- package/dist/Processor/LeafConverter/LeafToLanguageConverter.js +7 -0
- package/dist/Processor/LeafConverter/LeafToLanguageConverter.js.map +1 -1
- package/dist/Processor/LeafConverter/LeafToPersian.d.ts +3 -0
- package/dist/Processor/LeafConverter/LeafToPersian.js +3 -0
- package/dist/Processor/LeafConverter/LeafToPersian.js.map +1 -1
- package/dist/Processor/LeafConverter/LeafToRootFormConverter.d.ts +7 -0
- package/dist/Processor/LeafConverter/LeafToRootFormConverter.js +7 -0
- package/dist/Processor/LeafConverter/LeafToRootFormConverter.js.map +1 -1
- package/dist/Processor/LeafConverter/LeafToTurkish.d.ts +3 -0
- package/dist/Processor/LeafConverter/LeafToTurkish.js +3 -0
- package/dist/Processor/LeafConverter/LeafToTurkish.js.map +1 -1
- package/dist/Processor/NodeDrawableCollector.d.ts +16 -0
- package/dist/Processor/NodeDrawableCollector.js +16 -0
- package/dist/Processor/NodeDrawableCollector.js.map +1 -1
- package/dist/Processor/TreeToStringConverter.d.ts +15 -0
- package/dist/Processor/TreeToStringConverter.js +15 -0
- package/dist/Processor/TreeToStringConverter.js.map +1 -1
- package/dist/TreeBankDrawable.d.ts +20 -0
- package/dist/TreeBankDrawable.js +20 -0
- package/dist/TreeBankDrawable.js.map +1 -1
- package/dist/index.d.ts +58 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/package.json +14 -14
- package/source/Layer/DependencyLayer.ts +4 -0
- package/source/Layer/EnglishPropbankLayer.ts +9 -0
- package/source/Layer/EnglishSemanticLayer.ts +5 -0
- package/source/Layer/EnglishWordLayer.ts +4 -0
- package/source/Layer/MetaMorphemeLayer.ts +19 -0
- package/source/Layer/MetaMorphemesMovedLayer.ts +20 -0
- package/source/Layer/MorphologicalAnalysisLayer.ts +32 -0
- package/source/Layer/MultiWordLayer.ts +9 -0
- package/source/Layer/NERLayer.ts +14 -0
- package/source/Layer/PersianWordLayer.ts +4 -0
- package/source/Layer/ShallowParseLayer.ts +11 -0
- package/source/Layer/SingleWordLayer.ts +4 -0
- package/source/Layer/SourceLanguageWordLayer.ts +4 -0
- package/source/Layer/TargetLanguageWordLayer.ts +10 -1
- package/source/Layer/TurkishPropbankLayer.ts +18 -0
- package/source/Layer/TurkishSemanticLayer.ts +11 -0
- package/source/Layer/TurkishWordLayer.ts +4 -0
- package/source/Layer/WordLayer.ts +12 -0
- package/source/LayerInfo.ts +333 -155
- package/source/ParseNodeDrawable.ts +102 -0
- package/source/ParseTreeDrawable.ts +158 -16
- package/source/Processor/Condition/IsDoubleNode.ts +6 -0
- package/source/Processor/Condition/IsDoubleNodeWithDifferentTags.ts +6 -0
- package/source/Processor/Condition/IsEnglishLeafNode.ts +5 -0
- package/source/Processor/Condition/IsLeafNode.ts +5 -0
- package/source/Processor/Condition/IsNodeWithPredicate.ts +11 -0
- package/source/Processor/Condition/IsNodeWithSymbol.ts +9 -0
- package/source/Processor/Condition/IsNodeWithSynSetId.ts +9 -0
- package/source/Processor/Condition/IsNoneNode.ts +5 -0
- package/source/Processor/Condition/IsNullElement.ts +6 -0
- package/source/Processor/Condition/IsNumber.ts +6 -0
- package/source/Processor/Condition/IsPredicateVerbNode.ts +11 -0
- package/source/Processor/Condition/IsProperNoun.ts +5 -0
- package/source/Processor/Condition/IsPunctuationNode.ts +5 -0
- package/source/Processor/Condition/IsTransferable.ts +5 -0
- package/source/Processor/Condition/IsTurkishLeafNode.ts +5 -0
- package/source/Processor/Condition/IsVPNode.ts +5 -0
- package/source/Processor/Condition/IsVerbNode.ts +10 -0
- package/source/Processor/LayerExist/ContainsLayerInformation.ts +9 -0
- package/source/Processor/LayerExist/NotContainsLayerInformation.ts +9 -0
- package/source/Processor/LayerExist/SemiContainsLayerInformation.ts +10 -0
- package/source/Processor/LeafConverter/LeafToEnglish.ts +3 -0
- package/source/Processor/LeafConverter/LeafToLanguageConverter.ts +7 -0
- package/source/Processor/LeafConverter/LeafToPersian.ts +3 -0
- package/source/Processor/LeafConverter/LeafToRootFormConverter.ts +7 -0
- package/source/Processor/LeafConverter/LeafToTurkish.ts +3 -0
- package/source/Processor/NodeDrawableCollector.ts +16 -0
- package/source/Processor/TreeToStringConverter.ts +15 -0
- package/source/TreeBankDrawable.ts +20 -0
- package/source/index.ts +58 -0
- package/source/tsconfig.json +1 -1
- package/tsconfig.json +1 -2
- package/index.js +0 -58
package/source/LayerInfo.ts
CHANGED
|
@@ -25,71 +25,76 @@ export class LayerInfo {
|
|
|
25
25
|
|
|
26
26
|
private layers: Map<ViewLayerType, WordLayer> = new Map<ViewLayerType, WordLayer>()
|
|
27
27
|
|
|
28
|
+
/**
|
|
29
|
+
* Constructs the layer information from the given string. Layers are represented as
|
|
30
|
+
* {layername1=layervalue1}{layername2=layervalue2}...{layernamek=layervaluek} where layer name is one of the
|
|
31
|
+
* following: turkish, persian, english, morphologicalAnalysis, metaMorphemes, metaMorphemesMoved, dependency,
|
|
32
|
+
* semantics, namedEntity, propBank, englishPropbank, englishSemantics, shallowParse. Splits the string w.r.t.
|
|
33
|
+
* parentheses and constructs layer objects and put them layers map accordingly.
|
|
34
|
+
* @param info Line consisting of layer info.
|
|
35
|
+
*/
|
|
28
36
|
constructor(info?: string) {
|
|
29
37
|
let splitLayers = info.split(/[{}]/);
|
|
30
|
-
for (let layer of splitLayers){
|
|
31
|
-
if (layer == ""){
|
|
38
|
+
for (let layer of splitLayers) {
|
|
39
|
+
if (layer == "") {
|
|
32
40
|
continue;
|
|
33
41
|
}
|
|
34
42
|
let layerType = layer.substring(0, layer.indexOf("="));
|
|
35
43
|
let layerValue = layer.substring(layer.indexOf("=") + 1);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
switch (layerType) {
|
|
45
|
+
case "turkish":
|
|
46
|
+
this.layers.set(ViewLayerType.TURKISH_WORD, new TurkishWordLayer(layerValue));
|
|
47
|
+
break;
|
|
48
|
+
case "persian":
|
|
40
49
|
this.layers.set(ViewLayerType.PERSIAN_WORD, new PersianWordLayer(layerValue));
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
50
|
+
break;
|
|
51
|
+
case "english":
|
|
52
|
+
this.layers.set(ViewLayerType.ENGLISH_WORD, new EnglishWordLayer(layerValue));
|
|
53
|
+
break;
|
|
54
|
+
case "morphologicalAnalysis":
|
|
55
|
+
this.layers.set(ViewLayerType.INFLECTIONAL_GROUP, new MorphologicalAnalysisLayer(layerValue));
|
|
56
|
+
this.layers.set(ViewLayerType.PART_OF_SPEECH, new MorphologicalAnalysisLayer(layerValue));
|
|
57
|
+
break;
|
|
58
|
+
case "metaMorphemes":
|
|
59
|
+
this.layers.set(ViewLayerType.META_MORPHEME, new MetaMorphemeLayer(layerValue));
|
|
60
|
+
break;
|
|
61
|
+
case "metaMorphemesMoved":
|
|
62
|
+
this.layers.set(ViewLayerType.META_MORPHEME_MOVED, new MetaMorphemesMovedLayer(layerValue));
|
|
63
|
+
break;
|
|
64
|
+
case "dependency":
|
|
65
|
+
this.layers.set(ViewLayerType.DEPENDENCY, new DependencyLayer(layerValue));
|
|
66
|
+
break;
|
|
67
|
+
case "semantics":
|
|
68
|
+
this.layers.set(ViewLayerType.SEMANTICS, new TurkishSemanticLayer(layerValue));
|
|
69
|
+
break;
|
|
70
|
+
case "namedEntity":
|
|
71
|
+
this.layers.set(ViewLayerType.NER, new NERLayer(layerValue));
|
|
72
|
+
break;
|
|
73
|
+
case "propBank":
|
|
74
|
+
this.layers.set(ViewLayerType.PROPBANK, new TurkishPropbankLayer(layerValue));
|
|
75
|
+
break;
|
|
76
|
+
case "englishPropbank":
|
|
77
|
+
this.layers.set(ViewLayerType.ENGLISH_PROPBANK, new EnglishPropbankLayer(layerValue));
|
|
78
|
+
break;
|
|
79
|
+
case "englishSemantics":
|
|
80
|
+
this.layers.set(ViewLayerType.ENGLISH_SEMANTICS, new EnglishSemanticLayer(layerValue));
|
|
81
|
+
break;
|
|
82
|
+
case "shallowParse":
|
|
83
|
+
this.layers.set(ViewLayerType.SHALLOW_PARSE, new ShallowParseLayer(layerValue));
|
|
84
|
+
break;
|
|
87
85
|
}
|
|
88
86
|
}
|
|
89
87
|
}
|
|
90
88
|
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Changes the given layer info with the given string layer value. For all layers new layer object is created and
|
|
91
|
+
* replaces the original object. For turkish layer, it also destroys inflectional_group, part_of_speech,
|
|
92
|
+
* meta_morpheme, meta_morpheme_moved and semantics layers. For persian layer, it also destroys the semantics layer.
|
|
93
|
+
* @param viewLayer Layer name.
|
|
94
|
+
* @param layerValue New layer value.
|
|
95
|
+
*/
|
|
96
|
+
setLayerData(viewLayer: ViewLayerType, layerValue: string) {
|
|
97
|
+
switch (viewLayer) {
|
|
93
98
|
case ViewLayerType.PERSIAN_WORD:
|
|
94
99
|
this.layers.set(ViewLayerType.PERSIAN_WORD, new PersianWordLayer(layerValue));
|
|
95
100
|
this.layers.delete(ViewLayerType.SEMANTICS);
|
|
@@ -141,25 +146,49 @@ export class LayerInfo {
|
|
|
141
146
|
}
|
|
142
147
|
}
|
|
143
148
|
|
|
144
|
-
|
|
149
|
+
/**
|
|
150
|
+
* Updates the inflectional_group and part_of_speech layers according to the given parse.
|
|
151
|
+
* @param parse New parse to update layers.
|
|
152
|
+
*/
|
|
153
|
+
setMorphologicalAnalysis(parse: MorphologicalParse) {
|
|
145
154
|
this.layers.set(ViewLayerType.INFLECTIONAL_GROUP, new MorphologicalAnalysisLayer(parse.toString()));
|
|
146
155
|
this.layers.set(ViewLayerType.PART_OF_SPEECH, new MorphologicalAnalysisLayer(parse.toString()));
|
|
147
156
|
}
|
|
148
157
|
|
|
149
|
-
|
|
158
|
+
/**
|
|
159
|
+
* Updates the metamorpheme layer according to the given parse.
|
|
160
|
+
* @param parse NEw parse to update layer.
|
|
161
|
+
*/
|
|
162
|
+
setMetaMorphemes(parse: MetamorphicParse) {
|
|
150
163
|
this.layers.set(ViewLayerType.META_MORPHEME, new MetaMorphemeLayer(parse.toString()));
|
|
151
164
|
}
|
|
152
165
|
|
|
153
|
-
|
|
166
|
+
/**
|
|
167
|
+
* Checks if the given layer exists.
|
|
168
|
+
* @param viewLayerType Layer name
|
|
169
|
+
* @return True if the layer exists, false otherwise.
|
|
170
|
+
*/
|
|
171
|
+
layerExists(viewLayerType: ViewLayerType): boolean {
|
|
154
172
|
return this.layers.has(viewLayerType)
|
|
155
173
|
}
|
|
156
174
|
|
|
157
|
-
|
|
158
|
-
|
|
175
|
+
/**
|
|
176
|
+
* Two level layer check method. For turkish, persian and english_semantics layers, if the layer does not exist,
|
|
177
|
+
* returns english layer. For part_of_speech, inflectional_group, meta_morpheme, semantics, propbank, shallow_parse,
|
|
178
|
+
* english_propbank layers, if the layer does not exist, it checks turkish layer. For meta_morpheme_moved, if the
|
|
179
|
+
* layer does not exist, it checks meta_morpheme layer.
|
|
180
|
+
* @param viewLayer Layer to be checked.
|
|
181
|
+
* @return Returns the original layer if the layer exists. For turkish, persian and english_semantics layers, if the
|
|
182
|
+
* layer does not exist, returns english layer. For part_of_speech, inflectional_group, meta_morpheme, semantics,
|
|
183
|
+
* propbank, shallow_parse, english_propbank layers, if the layer does not exist, it checks turkish layer
|
|
184
|
+
* recursively. For meta_morpheme_moved, if the layer does not exist, it checks meta_morpheme layer recursively.
|
|
185
|
+
*/
|
|
186
|
+
checkLayer(viewLayer: ViewLayerType): ViewLayerType {
|
|
187
|
+
switch (viewLayer) {
|
|
159
188
|
case ViewLayerType.TURKISH_WORD:
|
|
160
189
|
case ViewLayerType.PERSIAN_WORD:
|
|
161
190
|
case ViewLayerType.ENGLISH_SEMANTICS:
|
|
162
|
-
if (!this.layers.has(viewLayer)){
|
|
191
|
+
if (!this.layers.has(viewLayer)) {
|
|
163
192
|
return ViewLayerType.ENGLISH_WORD;
|
|
164
193
|
}
|
|
165
194
|
case ViewLayerType.PART_OF_SPEECH:
|
|
@@ -181,24 +210,35 @@ export class LayerInfo {
|
|
|
181
210
|
return viewLayer;
|
|
182
211
|
}
|
|
183
212
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
213
|
+
/**
|
|
214
|
+
* Returns number of words in the Turkish or Persian layer, whichever exists.
|
|
215
|
+
* @return Number of words in the Turkish or Persian layer, whichever exists.
|
|
216
|
+
*/
|
|
217
|
+
getNumberOfWords(): number {
|
|
218
|
+
if (this.layers.has(ViewLayerType.TURKISH_WORD)) {
|
|
219
|
+
return (<TurkishWordLayer>this.layers.get(ViewLayerType.TURKISH_WORD)).size();
|
|
187
220
|
} else {
|
|
188
|
-
if (this.layers.has(ViewLayerType.PERSIAN_WORD)){
|
|
189
|
-
return (<PersianWordLayer>
|
|
221
|
+
if (this.layers.has(ViewLayerType.PERSIAN_WORD)) {
|
|
222
|
+
return (<PersianWordLayer>this.layers.get(ViewLayerType.PERSIAN_WORD)).size();
|
|
190
223
|
}
|
|
191
224
|
}
|
|
192
225
|
}
|
|
193
226
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
227
|
+
/**
|
|
228
|
+
* Returns the layer value at the given index.
|
|
229
|
+
* @param viewLayerType Layer for which the value at the given word index will be returned.
|
|
230
|
+
* @param index Word Position of the layer value.
|
|
231
|
+
* @param layerName Name of the layer.
|
|
232
|
+
* @return Layer info at word position index for a multiword layer.
|
|
233
|
+
*/
|
|
234
|
+
private getMultiWordAt(viewLayerType: ViewLayerType, index: number, layerName: string): string {
|
|
235
|
+
if (this.layers.has(viewLayerType)) {
|
|
236
|
+
if (this.layers.get(viewLayerType) instanceof MultiWordLayer) {
|
|
237
|
+
let multiWordLayer = <MultiWordLayer<string>>this.layers.get(viewLayerType);
|
|
238
|
+
if (index < multiWordLayer.size() && index >= 0) {
|
|
199
239
|
return multiWordLayer.getItemAt(index);
|
|
200
240
|
} else {
|
|
201
|
-
if (viewLayerType == ViewLayerType.SEMANTICS){
|
|
241
|
+
if (viewLayerType == ViewLayerType.SEMANTICS) {
|
|
202
242
|
return multiWordLayer.getItemAt(multiWordLayer.size() - 1);
|
|
203
243
|
}
|
|
204
244
|
}
|
|
@@ -206,30 +246,59 @@ export class LayerInfo {
|
|
|
206
246
|
}
|
|
207
247
|
}
|
|
208
248
|
|
|
209
|
-
|
|
249
|
+
/**
|
|
250
|
+
* Layers may contain multiple Turkish words. This method returns the Turkish word at position index.
|
|
251
|
+
* @param index Position of the Turkish word.
|
|
252
|
+
* @return The Turkish word at position index.
|
|
253
|
+
*/
|
|
254
|
+
getTurkishWordAt(index: number): string {
|
|
210
255
|
return this.getMultiWordAt(ViewLayerType.TURKISH_WORD, index, "turkish");
|
|
211
256
|
}
|
|
212
257
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
258
|
+
/**
|
|
259
|
+
* Returns number of meanings in the Turkish layer.
|
|
260
|
+
* @return Number of meanings in the Turkish layer.
|
|
261
|
+
*/
|
|
262
|
+
getNumberOfMeanings(): number {
|
|
263
|
+
if (this.layers.has(ViewLayerType.SEMANTICS)) {
|
|
264
|
+
return (<TurkishSemanticLayer>this.layers.get(ViewLayerType.SEMANTICS)).size();
|
|
216
265
|
} else {
|
|
217
266
|
return 0;
|
|
218
267
|
}
|
|
219
268
|
}
|
|
220
269
|
|
|
221
|
-
|
|
270
|
+
/**
|
|
271
|
+
* Layers may contain multiple semantic information corresponding to multiple Turkish words. This method returns
|
|
272
|
+
* the sense id at position index.
|
|
273
|
+
* @param index Position of the Turkish word.
|
|
274
|
+
* @throws LayerNotExistsException If the layer does not exist, it throws LayerNotExistsException.
|
|
275
|
+
* @throws WordNotExistsException If the index is out of bounds, it throws WordNotExistsException.
|
|
276
|
+
* @return The Turkish sense id at position index.
|
|
277
|
+
*/
|
|
278
|
+
getSemanticAt(index: number): string {
|
|
222
279
|
return this.getMultiWordAt(ViewLayerType.SEMANTICS, index, "semantics");
|
|
223
280
|
}
|
|
224
281
|
|
|
225
|
-
|
|
282
|
+
/**
|
|
283
|
+
* Layers may contain multiple shallow parse information corresponding to multiple Turkish words. This method
|
|
284
|
+
* returns the shallow parse tag at position index.
|
|
285
|
+
* @param index Position of the Turkish word.
|
|
286
|
+
* @throws LayerNotExistsException If the layer does not exist, it throws LayerNotExistsException.
|
|
287
|
+
* @throws WordNotExistsException If the index is out of bounds, it throws WordNotExistsException.
|
|
288
|
+
* @return The shallow parse tag at position index.
|
|
289
|
+
*/
|
|
290
|
+
getShallowParseAt(index: number): string {
|
|
226
291
|
return this.getMultiWordAt(ViewLayerType.SHALLOW_PARSE, index, "shallowParse");
|
|
227
292
|
}
|
|
228
293
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
294
|
+
/**
|
|
295
|
+
* Returns the Turkish PropBank argument info.
|
|
296
|
+
* @return Turkish PropBank argument info.
|
|
297
|
+
*/
|
|
298
|
+
getArgument(): Argument {
|
|
299
|
+
if (this.layers.has(ViewLayerType.PROPBANK)) {
|
|
300
|
+
if (this.layers.get(ViewLayerType.PROPBANK) instanceof TurkishPropbankLayer) {
|
|
301
|
+
let argumentLayer = <TurkishPropbankLayer>this.layers.get(ViewLayerType.PROPBANK);
|
|
233
302
|
return argumentLayer.getArgument();
|
|
234
303
|
} else {
|
|
235
304
|
return null;
|
|
@@ -239,77 +308,117 @@ export class LayerInfo {
|
|
|
239
308
|
}
|
|
240
309
|
}
|
|
241
310
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
311
|
+
/**
|
|
312
|
+
* A word may have multiple English propbank info. This method returns the English PropBank argument info at
|
|
313
|
+
* position index.
|
|
314
|
+
* @return English PropBank argument info at position index.
|
|
315
|
+
*/
|
|
316
|
+
getArgumentAt(index: number): Argument {
|
|
317
|
+
if (this.layers.has(ViewLayerType.ENGLISH_PROPBANK)) {
|
|
318
|
+
if (this.layers.get(ViewLayerType.ENGLISH_PROPBANK) instanceof SingleWordMultiItemLayer) {
|
|
319
|
+
let multiArgumentLayer = <SingleWordMultiItemLayer<Argument>>this.layers.get(ViewLayerType.ENGLISH_PROPBANK);
|
|
246
320
|
return multiArgumentLayer.getItemAt(index);
|
|
247
321
|
}
|
|
248
322
|
}
|
|
249
323
|
}
|
|
250
324
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
325
|
+
/**
|
|
326
|
+
* Layers may contain multiple morphological parse information corresponding to multiple Turkish words. This method
|
|
327
|
+
* returns the morphological parse at position index.
|
|
328
|
+
* @param index Position of the Turkish word.
|
|
329
|
+
* @return The morphological parse at position index.
|
|
330
|
+
*/
|
|
331
|
+
getMorphologicalParseAt(index: number): MorphologicalParse {
|
|
332
|
+
if (this.layers.has(ViewLayerType.INFLECTIONAL_GROUP)) {
|
|
333
|
+
if (this.layers.get(ViewLayerType.INFLECTIONAL_GROUP) instanceof MultiWordLayer) {
|
|
334
|
+
let multiWordLayer = <MultiWordLayer<MorphologicalParse>>this.layers.get(ViewLayerType.INFLECTIONAL_GROUP);
|
|
335
|
+
if (index < multiWordLayer.size() && index >= 0) {
|
|
256
336
|
return multiWordLayer.getItemAt(index);
|
|
257
337
|
}
|
|
258
338
|
}
|
|
259
339
|
}
|
|
260
340
|
}
|
|
261
341
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
342
|
+
/**
|
|
343
|
+
* Layers may contain multiple metamorphic parse information corresponding to multiple Turkish words. This method
|
|
344
|
+
* returns the metamorphic parse at position index.
|
|
345
|
+
* @param index Position of the Turkish word.
|
|
346
|
+
* @return The metamorphic parse at position index.
|
|
347
|
+
*/
|
|
348
|
+
getMetamorphicParseAt(index: number): MetamorphicParse {
|
|
349
|
+
if (this.layers.has(ViewLayerType.META_MORPHEME)) {
|
|
350
|
+
if (this.layers.get(ViewLayerType.META_MORPHEME) instanceof MultiWordLayer) {
|
|
351
|
+
let multiWordLayer = <MultiWordLayer<MetamorphicParse>>this.layers.get(ViewLayerType.META_MORPHEME);
|
|
352
|
+
if (index < multiWordLayer.size() && index >= 0) {
|
|
267
353
|
return multiWordLayer.getItemAt(index);
|
|
268
354
|
}
|
|
269
355
|
}
|
|
270
356
|
}
|
|
271
357
|
}
|
|
272
358
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
359
|
+
/**
|
|
360
|
+
* Layers may contain multiple metamorphemes corresponding to one or multiple Turkish words. This method
|
|
361
|
+
* returns the metamorpheme at position index.
|
|
362
|
+
* @param index Position of the metamorpheme.
|
|
363
|
+
* @return The metamorpheme at position index.
|
|
364
|
+
*/
|
|
365
|
+
getMetaMorphemeAtIndex(index: number): string {
|
|
366
|
+
if (this.layers.has(ViewLayerType.META_MORPHEME)) {
|
|
367
|
+
if (this.layers.get(ViewLayerType.META_MORPHEME) instanceof MetaMorphemeLayer) {
|
|
368
|
+
let metaMorphemeLayer = <MetaMorphemeLayer>this.layers.get(ViewLayerType.META_MORPHEME);
|
|
369
|
+
if (index < metaMorphemeLayer.getLayerSize(ViewLayerType.META_MORPHEME) && index >= 0) {
|
|
278
370
|
return metaMorphemeLayer.getLayerInfoAt(ViewLayerType.META_MORPHEME, index);
|
|
279
371
|
}
|
|
280
372
|
}
|
|
281
373
|
}
|
|
282
374
|
}
|
|
283
375
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
376
|
+
/**
|
|
377
|
+
* Layers may contain multiple metamorphemes corresponding to one or multiple Turkish words. This method
|
|
378
|
+
* returns all metamorphemes from position index.
|
|
379
|
+
* @param index Start position of the metamorpheme.
|
|
380
|
+
* @return All metamorphemes from position index.
|
|
381
|
+
*/
|
|
382
|
+
getMetaMorphemeFromIndex(index: number): string {
|
|
383
|
+
if (this.layers.has(ViewLayerType.META_MORPHEME)) {
|
|
384
|
+
if (this.layers.get(ViewLayerType.META_MORPHEME) instanceof MetaMorphemeLayer) {
|
|
385
|
+
let metaMorphemeLayer = <MetaMorphemeLayer>this.layers.get(ViewLayerType.META_MORPHEME);
|
|
386
|
+
if (index < metaMorphemeLayer.getLayerSize(ViewLayerType.META_MORPHEME) && index >= 0) {
|
|
289
387
|
return metaMorphemeLayer.getLayerInfoFrom(index);
|
|
290
388
|
}
|
|
291
389
|
}
|
|
292
390
|
}
|
|
293
391
|
}
|
|
294
392
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
393
|
+
/**
|
|
394
|
+
* For layers with multiple item information, this method returns total items in that layer.
|
|
395
|
+
* @param viewLayer Layer name
|
|
396
|
+
* @return Total items in the given layer.
|
|
397
|
+
*/
|
|
398
|
+
getLayerSize(viewLayer: ViewLayerType): number {
|
|
399
|
+
if (this.layers.get(viewLayer) instanceof MultiWordMultiItemLayer) {
|
|
400
|
+
return (<MultiWordMultiItemLayer<any>>this.layers.get(viewLayer)).getLayerSize(viewLayer);
|
|
298
401
|
} else {
|
|
299
|
-
if (this.layers.get(viewLayer) instanceof SingleWordMultiItemLayer){
|
|
300
|
-
return (<SingleWordMultiItemLayer<any>>
|
|
402
|
+
if (this.layers.get(viewLayer) instanceof SingleWordMultiItemLayer) {
|
|
403
|
+
return (<SingleWordMultiItemLayer<any>>this.layers.get(viewLayer)).getLayerSize(viewLayer);
|
|
301
404
|
}
|
|
302
405
|
}
|
|
303
406
|
return 0;
|
|
304
407
|
}
|
|
305
408
|
|
|
306
|
-
|
|
307
|
-
|
|
409
|
+
/**
|
|
410
|
+
* For layers with multiple item information, this method returns the item at position index.
|
|
411
|
+
* @param viewLayer Layer name
|
|
412
|
+
* @param index Position of the item.
|
|
413
|
+
* @return The item at position index.
|
|
414
|
+
*/
|
|
415
|
+
getLayerInfoAt(viewLayer: ViewLayerType, index: number): string {
|
|
416
|
+
switch (viewLayer) {
|
|
308
417
|
case ViewLayerType.META_MORPHEME_MOVED:
|
|
309
418
|
case ViewLayerType.PART_OF_SPEECH:
|
|
310
419
|
case ViewLayerType.INFLECTIONAL_GROUP:
|
|
311
|
-
if (this.layers.get(viewLayer) instanceof MultiWordMultiItemLayer){
|
|
312
|
-
return (<MultiWordMultiItemLayer<any>>
|
|
420
|
+
if (this.layers.get(viewLayer) instanceof MultiWordMultiItemLayer) {
|
|
421
|
+
return (<MultiWordMultiItemLayer<any>>this.layers.get(viewLayer)).getLayerInfoAt(viewLayer, index);
|
|
313
422
|
}
|
|
314
423
|
break;
|
|
315
424
|
case ViewLayerType.META_MORPHEME:
|
|
@@ -321,35 +430,54 @@ export class LayerInfo {
|
|
|
321
430
|
}
|
|
322
431
|
}
|
|
323
432
|
|
|
324
|
-
|
|
433
|
+
/**
|
|
434
|
+
* Returns the string form of all layer information except part_of_speech layer.
|
|
435
|
+
* @return The string form of all layer information except part_of_speech layer.
|
|
436
|
+
*/
|
|
437
|
+
getLayerDescription(): string {
|
|
325
438
|
let result = "";
|
|
326
|
-
for (let viewLayerType of this.layers.keys()){
|
|
327
|
-
if (viewLayerType != ViewLayerType.PART_OF_SPEECH){
|
|
439
|
+
for (let viewLayerType of this.layers.keys()) {
|
|
440
|
+
if (viewLayerType != ViewLayerType.PART_OF_SPEECH) {
|
|
328
441
|
result = result + this.layers.get(viewLayerType).getLayerDescription();
|
|
329
442
|
}
|
|
330
443
|
}
|
|
331
444
|
return result;
|
|
332
445
|
}
|
|
333
446
|
|
|
334
|
-
|
|
335
|
-
|
|
447
|
+
/**
|
|
448
|
+
* Returns the layer info for the given layer.
|
|
449
|
+
* @param viewLayer Layer name.
|
|
450
|
+
* @return Layer info for the given layer.
|
|
451
|
+
*/
|
|
452
|
+
getLayerData(viewLayer: ViewLayerType): string {
|
|
453
|
+
if (this.layers.has(viewLayer)) {
|
|
336
454
|
return this.layers.get(viewLayer).getLayerValue();
|
|
337
455
|
} else {
|
|
338
456
|
return null;
|
|
339
457
|
}
|
|
340
458
|
}
|
|
341
459
|
|
|
342
|
-
|
|
460
|
+
/**
|
|
461
|
+
* Returns the layer info for the given layer, if that layer exists. Otherwise, it returns the fallback layer info
|
|
462
|
+
* determined by the checkLayer.
|
|
463
|
+
* @param viewLayer Layer name
|
|
464
|
+
* @return Layer info for the given layer if it exists. Otherwise, it returns the fallback layer info determined by
|
|
465
|
+
* the checkLayer.
|
|
466
|
+
*/
|
|
467
|
+
getRobustLayerData(viewLayer: ViewLayerType): string {
|
|
343
468
|
viewLayer = this.checkLayer(viewLayer);
|
|
344
469
|
return this.getLayerData(viewLayer);
|
|
345
470
|
}
|
|
346
471
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
472
|
+
/**
|
|
473
|
+
* Initializes the metamorphemesmoved layer with metamorpheme layer except the root word.
|
|
474
|
+
*/
|
|
475
|
+
private updateMetaMorphemesMoved() {
|
|
476
|
+
if (this.layers.has(ViewLayerType.META_MORPHEME)) {
|
|
477
|
+
let metaMorphemeLayer = <MetaMorphemeLayer>this.layers.get(ViewLayerType.META_MORPHEME);
|
|
478
|
+
if (metaMorphemeLayer.size() > 0) {
|
|
351
479
|
let result = metaMorphemeLayer.getItemAt(0).toString();
|
|
352
|
-
for (let i = 1; i < metaMorphemeLayer.size(); i++){
|
|
480
|
+
for (let i = 1; i < metaMorphemeLayer.size(); i++) {
|
|
353
481
|
result = result + " " + metaMorphemeLayer.getItemAt(i).toString();
|
|
354
482
|
}
|
|
355
483
|
this.layers.set(ViewLayerType.META_MORPHEME_MOVED, new MetaMorphemesMovedLayer(result));
|
|
@@ -357,47 +485,77 @@ export class LayerInfo {
|
|
|
357
485
|
}
|
|
358
486
|
}
|
|
359
487
|
|
|
360
|
-
|
|
488
|
+
/**
|
|
489
|
+
* Removes the given layer from hash map.
|
|
490
|
+
* @param layerType Layer to be removed.
|
|
491
|
+
*/
|
|
492
|
+
removeLayer(layerType: ViewLayerType) {
|
|
361
493
|
this.layers.delete(layerType)
|
|
362
494
|
}
|
|
363
495
|
|
|
364
|
-
|
|
496
|
+
/**
|
|
497
|
+
* Removes metamorpheme and metamorphemesmoved layers.
|
|
498
|
+
*/
|
|
499
|
+
metaMorphemeClear() {
|
|
365
500
|
this.layers.delete(ViewLayerType.META_MORPHEME);
|
|
366
501
|
this.layers.delete(ViewLayerType.META_MORPHEME_MOVED);
|
|
367
502
|
}
|
|
368
503
|
|
|
369
|
-
|
|
504
|
+
/**
|
|
505
|
+
* Removes English layer.
|
|
506
|
+
*/
|
|
507
|
+
englishClear() {
|
|
370
508
|
this.layers.delete(ViewLayerType.ENGLISH_WORD);
|
|
371
509
|
}
|
|
372
510
|
|
|
373
|
-
|
|
511
|
+
/**
|
|
512
|
+
* Removes the dependency layer.
|
|
513
|
+
*/
|
|
514
|
+
dependencyClear() {
|
|
374
515
|
this.layers.delete(ViewLayerType.DEPENDENCY);
|
|
375
516
|
}
|
|
376
517
|
|
|
377
|
-
|
|
518
|
+
/**
|
|
519
|
+
* Removed metamorphemesmoved layer.
|
|
520
|
+
*/
|
|
521
|
+
metaMorphemesMovedClear() {
|
|
378
522
|
this.layers.delete(ViewLayerType.META_MORPHEME_MOVED);
|
|
379
523
|
}
|
|
380
524
|
|
|
381
|
-
|
|
525
|
+
/**
|
|
526
|
+
* Removes the Turkish semantic layer.
|
|
527
|
+
*/
|
|
528
|
+
semanticClear() {
|
|
382
529
|
this.layers.delete(ViewLayerType.SEMANTICS);
|
|
383
530
|
}
|
|
384
531
|
|
|
385
|
-
|
|
532
|
+
/**
|
|
533
|
+
* Removes the English semantic layer.
|
|
534
|
+
*/
|
|
535
|
+
englishSemanticClear() {
|
|
386
536
|
this.layers.delete(ViewLayerType.ENGLISH_SEMANTICS);
|
|
387
537
|
}
|
|
388
538
|
|
|
389
|
-
|
|
539
|
+
/**
|
|
540
|
+
* Removes the morphological analysis, part of speech, metamorpheme, and metamorphemesmoved layers.
|
|
541
|
+
*/
|
|
542
|
+
morphologicalAnalysisClear() {
|
|
390
543
|
this.layers.delete(ViewLayerType.INFLECTIONAL_GROUP);
|
|
391
544
|
this.layers.delete(ViewLayerType.PART_OF_SPEECH);
|
|
392
545
|
this.layers.delete(ViewLayerType.META_MORPHEME);
|
|
393
546
|
this.layers.delete(ViewLayerType.META_MORPHEME_MOVED);
|
|
394
547
|
}
|
|
395
548
|
|
|
396
|
-
|
|
549
|
+
/**
|
|
550
|
+
* Removes the metamorpheme at position index.
|
|
551
|
+
* @param index Position of the metamorpheme to be removed.
|
|
552
|
+
* @return Metamorphemes concatenated as a string after the removed metamorpheme.
|
|
553
|
+
*/
|
|
554
|
+
metaMorphemeRemove(index: number): MetamorphicParse {
|
|
397
555
|
let removedParse
|
|
398
|
-
if (this.layers.has(ViewLayerType.META_MORPHEME)){
|
|
399
|
-
let metaMorphemeLayer = <MetaMorphemeLayer>
|
|
400
|
-
if (index >= 0 && index < metaMorphemeLayer.getLayerSize(ViewLayerType.META_MORPHEME)){
|
|
556
|
+
if (this.layers.has(ViewLayerType.META_MORPHEME)) {
|
|
557
|
+
let metaMorphemeLayer = <MetaMorphemeLayer>this.layers.get(ViewLayerType.META_MORPHEME);
|
|
558
|
+
if (index >= 0 && index < metaMorphemeLayer.getLayerSize(ViewLayerType.META_MORPHEME)) {
|
|
401
559
|
removedParse = metaMorphemeLayer.metaMorphemeRemoveFromIndex(index);
|
|
402
560
|
this.updateMetaMorphemesMoved();
|
|
403
561
|
}
|
|
@@ -405,29 +563,43 @@ export class LayerInfo {
|
|
|
405
563
|
return removedParse;
|
|
406
564
|
}
|
|
407
565
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
566
|
+
/**
|
|
567
|
+
* Checks if the last inflectional group contains VERB tag.
|
|
568
|
+
* @return True if the last inflectional group contains VERB tag, false otherwise.
|
|
569
|
+
*/
|
|
570
|
+
isVerbal(): boolean {
|
|
571
|
+
if (this.layers.has(ViewLayerType.INFLECTIONAL_GROUP)) {
|
|
572
|
+
return (<MorphologicalAnalysisLayer>this.layers.get(ViewLayerType.INFLECTIONAL_GROUP)).isVerbal();
|
|
411
573
|
} else {
|
|
412
574
|
return false;
|
|
413
575
|
}
|
|
414
576
|
}
|
|
415
577
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
578
|
+
/**
|
|
579
|
+
* Checks if the last verbal inflectional group contains ZERO tag.
|
|
580
|
+
* @return True if the last verbal inflectional group contains ZERO tag, false otherwise.
|
|
581
|
+
*/
|
|
582
|
+
isNominal(): boolean {
|
|
583
|
+
if (this.layers.has(ViewLayerType.INFLECTIONAL_GROUP)) {
|
|
584
|
+
return (<MorphologicalAnalysisLayer>this.layers.get(ViewLayerType.INFLECTIONAL_GROUP)).isNominal();
|
|
419
585
|
} else {
|
|
420
586
|
return false;
|
|
421
587
|
}
|
|
422
588
|
}
|
|
423
589
|
|
|
424
|
-
|
|
590
|
+
/**
|
|
591
|
+
* Creates an array list of LayerInfo objects, where each object correspond to one word in the tree node. Turkish
|
|
592
|
+
* words, morphological parses, metamorpheme parses, semantic senses, shallow parses are divided into corresponding
|
|
593
|
+
* words. Named entity tags and propbank arguments are the same for all words.
|
|
594
|
+
* @return An array list of LayerInfo objects created from the layer info of the node.
|
|
595
|
+
*/
|
|
596
|
+
divideIntoWords(): Array<LayerInfo> {
|
|
425
597
|
let result = new Array<LayerInfo>();
|
|
426
|
-
for (let i = 0; i < this.getNumberOfWords(); i++){
|
|
598
|
+
for (let i = 0; i < this.getNumberOfWords(); i++) {
|
|
427
599
|
let layerInfo = new LayerInfo();
|
|
428
600
|
layerInfo.setLayerData(ViewLayerType.TURKISH_WORD, this.getTurkishWordAt(i));
|
|
429
601
|
layerInfo.setLayerData(ViewLayerType.ENGLISH_WORD, this.getLayerData(ViewLayerType.ENGLISH_WORD));
|
|
430
|
-
if (this.layerExists(ViewLayerType.INFLECTIONAL_GROUP)){
|
|
602
|
+
if (this.layerExists(ViewLayerType.INFLECTIONAL_GROUP)) {
|
|
431
603
|
layerInfo.setMorphologicalAnalysis(this.getMorphologicalParseAt(i));
|
|
432
604
|
}
|
|
433
605
|
if (this.layerExists(ViewLayerType.META_MORPHEME)) {
|
|
@@ -439,7 +611,7 @@ export class LayerInfo {
|
|
|
439
611
|
if (this.layerExists(ViewLayerType.ENGLISH_SEMANTICS)) {
|
|
440
612
|
layerInfo.setLayerData(ViewLayerType.ENGLISH_SEMANTICS, this.getLayerData(ViewLayerType.ENGLISH_SEMANTICS));
|
|
441
613
|
}
|
|
442
|
-
if (this.layerExists(ViewLayerType.NER)){
|
|
614
|
+
if (this.layerExists(ViewLayerType.NER)) {
|
|
443
615
|
layerInfo.setLayerData(ViewLayerType.NER, this.getLayerData(ViewLayerType.NER));
|
|
444
616
|
}
|
|
445
617
|
if (this.layerExists(ViewLayerType.SEMANTICS)) {
|
|
@@ -456,24 +628,30 @@ export class LayerInfo {
|
|
|
456
628
|
return result;
|
|
457
629
|
}
|
|
458
630
|
|
|
459
|
-
|
|
631
|
+
/**
|
|
632
|
+
* Converts layer info of the word at position wordIndex to an AnnotatedWord. Layers are converted to their
|
|
633
|
+
* counterparts in the AnnotatedWord.
|
|
634
|
+
* @param wordIndex Index of the word to be converted.
|
|
635
|
+
* @return Converted annotatedWord
|
|
636
|
+
*/
|
|
637
|
+
toAnnotatedWord(wordIndex: number): AnnotatedWord {
|
|
460
638
|
let annotatedWord = new AnnotatedWord(this.getTurkishWordAt(wordIndex));
|
|
461
|
-
if (this.layerExists(ViewLayerType.INFLECTIONAL_GROUP)){
|
|
639
|
+
if (this.layerExists(ViewLayerType.INFLECTIONAL_GROUP)) {
|
|
462
640
|
annotatedWord.setParse(this.getMorphologicalParseAt(wordIndex).toString());
|
|
463
641
|
}
|
|
464
|
-
if (this.layerExists(ViewLayerType.META_MORPHEME)){
|
|
642
|
+
if (this.layerExists(ViewLayerType.META_MORPHEME)) {
|
|
465
643
|
annotatedWord.setMetamorphicParse(this.getMetamorphicParseAt(wordIndex).toString());
|
|
466
644
|
}
|
|
467
|
-
if (this.layerExists(ViewLayerType.SEMANTICS)){
|
|
645
|
+
if (this.layerExists(ViewLayerType.SEMANTICS)) {
|
|
468
646
|
annotatedWord.setSemantic(this.getSemanticAt(wordIndex));
|
|
469
647
|
}
|
|
470
|
-
if (this.layerExists(ViewLayerType.NER)){
|
|
648
|
+
if (this.layerExists(ViewLayerType.NER)) {
|
|
471
649
|
annotatedWord.setNamedEntityType(this.getLayerData(ViewLayerType.NER));
|
|
472
650
|
}
|
|
473
|
-
if (this.layerExists(ViewLayerType.PROPBANK)){
|
|
474
|
-
annotatedWord.
|
|
651
|
+
if (this.layerExists(ViewLayerType.PROPBANK)) {
|
|
652
|
+
annotatedWord.setArgumentList(this.getArgument().toString());
|
|
475
653
|
}
|
|
476
|
-
if (this.layerExists(ViewLayerType.SHALLOW_PARSE)){
|
|
654
|
+
if (this.layerExists(ViewLayerType.SHALLOW_PARSE)) {
|
|
477
655
|
annotatedWord.setShallowParse(this.getShallowParseAt(wordIndex));
|
|
478
656
|
}
|
|
479
657
|
return annotatedWord;
|