nlptoolkit-morphologicalanalysis 1.0.0

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.
Files changed (65) hide show
  1. package/README.md +144 -0
  2. package/dist/Corpus/DisambiguatedWord.d.ts +20 -0
  3. package/dist/Corpus/DisambiguatedWord.js +38 -0
  4. package/dist/Corpus/DisambiguatedWord.js.map +1 -0
  5. package/dist/Corpus/DisambiguationCorpus.d.ts +4 -0
  6. package/dist/Corpus/DisambiguationCorpus.js +54 -0
  7. package/dist/Corpus/DisambiguationCorpus.js.map +1 -0
  8. package/dist/MorphologicalAnalysis/FiniteStateMachine.d.ts +63 -0
  9. package/dist/MorphologicalAnalysis/FiniteStateMachine.js +178 -0
  10. package/dist/MorphologicalAnalysis/FiniteStateMachine.js.map +1 -0
  11. package/dist/MorphologicalAnalysis/FsmMorphologicalAnalyzer.d.ts +399 -0
  12. package/dist/MorphologicalAnalysis/FsmMorphologicalAnalyzer.js +1255 -0
  13. package/dist/MorphologicalAnalysis/FsmMorphologicalAnalyzer.js.map +1 -0
  14. package/dist/MorphologicalAnalysis/FsmParse.d.ts +290 -0
  15. package/dist/MorphologicalAnalysis/FsmParse.js +684 -0
  16. package/dist/MorphologicalAnalysis/FsmParse.js.map +1 -0
  17. package/dist/MorphologicalAnalysis/FsmParseList.d.ts +96 -0
  18. package/dist/MorphologicalAnalysis/FsmParseList.js +242 -0
  19. package/dist/MorphologicalAnalysis/FsmParseList.js.map +1 -0
  20. package/dist/MorphologicalAnalysis/InflectionalGroup.d.ts +77 -0
  21. package/dist/MorphologicalAnalysis/InflectionalGroup.js +213 -0
  22. package/dist/MorphologicalAnalysis/InflectionalGroup.js.map +1 -0
  23. package/dist/MorphologicalAnalysis/MetamorphicParse.d.ts +63 -0
  24. package/dist/MorphologicalAnalysis/MetamorphicParse.js +592 -0
  25. package/dist/MorphologicalAnalysis/MetamorphicParse.js.map +1 -0
  26. package/dist/MorphologicalAnalysis/MorphologicalParse.d.ts +301 -0
  27. package/dist/MorphologicalAnalysis/MorphologicalParse.js +969 -0
  28. package/dist/MorphologicalAnalysis/MorphologicalParse.js.map +1 -0
  29. package/dist/MorphologicalAnalysis/MorphologicalTag.d.ts +510 -0
  30. package/dist/MorphologicalAnalysis/MorphologicalTag.js +525 -0
  31. package/dist/MorphologicalAnalysis/MorphologicalTag.js.map +1 -0
  32. package/dist/MorphologicalAnalysis/State.d.ts +40 -0
  33. package/dist/MorphologicalAnalysis/State.js +64 -0
  34. package/dist/MorphologicalAnalysis/State.js.map +1 -0
  35. package/dist/MorphologicalAnalysis/Transition.d.ts +159 -0
  36. package/dist/MorphologicalAnalysis/Transition.js +751 -0
  37. package/dist/MorphologicalAnalysis/Transition.js.map +1 -0
  38. package/index.js +12 -0
  39. package/package.json +30 -0
  40. package/penntreebank.txt +208431 -0
  41. package/source/Corpus/DisambiguatedWord.ts +29 -0
  42. package/source/Corpus/DisambiguationCorpus.ts +39 -0
  43. package/source/MorphologicalAnalysis/FiniteStateMachine.ts +165 -0
  44. package/source/MorphologicalAnalysis/FsmMorphologicalAnalyzer.ts +1256 -0
  45. package/source/MorphologicalAnalysis/FsmParse.ts +664 -0
  46. package/source/MorphologicalAnalysis/FsmParseList.ts +238 -0
  47. package/source/MorphologicalAnalysis/InflectionalGroup.ts +210 -0
  48. package/source/MorphologicalAnalysis/MetamorphicParse.ts +589 -0
  49. package/source/MorphologicalAnalysis/MorphologicalParse.ts +995 -0
  50. package/source/MorphologicalAnalysis/MorphologicalTag.ts +510 -0
  51. package/source/MorphologicalAnalysis/State.ts +59 -0
  52. package/source/MorphologicalAnalysis/Transition.ts +733 -0
  53. package/source/tsconfig.json +13 -0
  54. package/tests/DisambiguationCorpusTest.ts +12 -0
  55. package/tests/FiniteStateMachineTest.ts +87 -0
  56. package/tests/FsmMorphologicalAnalyzerTest.ts +204 -0
  57. package/tests/FsmParseListTest.ts +90 -0
  58. package/tests/FsmParseTest.ts +66 -0
  59. package/tests/InflectionalGroupTest.ts +84 -0
  60. package/tests/MorphologicalParseTest.ts +152 -0
  61. package/tests/TransitionTest.ts +174 -0
  62. package/tsconfig.json +15 -0
  63. package/turkish_dictionary.txt +62120 -0
  64. package/turkish_finite_state_machine.xml +1887 -0
  65. package/turkish_misspellings.txt +148932 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FsmParse.js","sourceRoot":"","sources":["../../source/MorphologicalAnalysis/FsmParse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { FsmParse } from "./FsmParse";
2
+ import { Word } from "nlptoolkit-dictionary/dist/Dictionary/Word";
3
+ export declare class FsmParseList {
4
+ private readonly fsmParses;
5
+ /**
6
+ * A constructor of {@link FsmParseList} class which takes an {@link Array} fsmParses as an input. First it sorts
7
+ * the items of the {@link Array} then loops through it, if the current item's transitions equal to the next item's
8
+ * transitions, it removes the latter item. At the end, it assigns this {@link Array} to the fsmParses variable.
9
+ *
10
+ * @param fsmParses {@link FsmParse} type{@link Array} input.
11
+ */
12
+ constructor(fsmParses: Array<FsmParse>);
13
+ /**
14
+ * The size method returns the size of fsmParses {@link Array}.
15
+ *
16
+ * @return the size of fsmParses {@link Array}.
17
+ */
18
+ size(): number;
19
+ /**
20
+ * The getFsmParse method takes an integer index as an input and returns the item of fsmParses {@link Array} at
21
+ * given index.
22
+ *
23
+ * @param index Integer input.
24
+ * @return the item of fsmParses {@link Array} at given index.
25
+ */
26
+ getFsmParse(index: number): FsmParse;
27
+ /**
28
+ * The rootWords method gets the first item's root of fsmParses {@link Array} and uses it as currentRoot. Then loops
29
+ * through the fsmParses, if the current item's root does not equal to the currentRoot, it then assigns it as the
30
+ * currentRoot and accumulates root words in a {@link String} result.
31
+ *
32
+ * @return String result that has root words.
33
+ */
34
+ rootWords(): string;
35
+ /**
36
+ * The reduceToParsesWithSameRootAndPos method takes a {@link Word} currentWithPos as an input and loops i times till
37
+ * i equals to the size of the fsmParses {@link Array}. If the given currentWithPos does not equal to the ith item's
38
+ * root and the MorphologicalTag of the first inflectional of fsmParses, it removes the ith item from the {@link Array}.
39
+ *
40
+ * @param currentWithPos {@link Word} input.
41
+ */
42
+ reduceToParsesWithSameRootAndPos(currentWithPos: Word): void;
43
+ /**
44
+ * The getParseWithLongestRootWord method returns the parse with the longest root word. If more than one parse has the
45
+ * longest root word, the first parse with that root is returned.
46
+ *
47
+ * @return FsmParse Parse with the longest root word.
48
+ */
49
+ getParseWithLongestRootWord(): FsmParse;
50
+ /**
51
+ * The reduceToParsesWithSameRoot method takes a {@link String} currentWithPos as an input and loops i times till
52
+ * i equals to the size of the fsmParses {@link Array}. If the given currentRoot does not equal to the root of ith
53
+ * item of fsmParses, it removes the ith item from the {@link Array}.
54
+ *
55
+ * @param currentRoot {@link String} input.
56
+ */
57
+ reduceToParsesWithSameRoot(currentRoot: string): void;
58
+ /**
59
+ * The constructParseListForDifferentRootWithPos method initially creates a result {@link Array} then loops through the
60
+ * fsmParses {@link Array}. For the first iteration, it creates new {@link Array} as initial, then adds the
61
+ * first item od fsmParses to initial and also add this initial {@link Array} to the result {@link Array}.
62
+ * For the following iterations, it checks whether the current item's root with the MorphologicalTag of the first inflectional
63
+ * equal to the previous item's root with the MorphologicalTag of the first inflectional. If so, it adds that item
64
+ * to the result {@link Array}, if not it creates new {@link Array} as initial and adds the first item od fsmParses
65
+ * to initial and also add this initial {@link Array} to the result {@link Array}.
66
+ *
67
+ * @return result {@link Array} type of {@link FsmParseList}.
68
+ */
69
+ constructParseListForDifferentRootWithPos(): Array<FsmParseList>;
70
+ /**
71
+ * The parsesWithoutPrefixAndSuffix method first creates a {@link String} array named analyses with the size of
72
+ * fsmParses {@link Array}'s size.
73
+ * <p>
74
+ * If the size is just 1, it then returns the first item's transitionList, if it is greater than 1, loops through
75
+ * the fsmParses and puts the transitionList of each item to the analyses array.
76
+ * <p>
77
+ * If the removePrefix condition holds, it loops through the analyses array and takes each item's substring after
78
+ * the first + sign and updates that item of analyses array with that substring.
79
+ * <p>
80
+ * If the removeSuffix condition holds, it loops through the analyses array and takes each item's substring till the
81
+ * last + sign and updates that item of analyses array with that substring.
82
+ * <p>
83
+ * It then removes the duplicate items of analyses array and returns a result {@link String} that has the
84
+ * accumulated items of analyses array.
85
+ *
86
+ * @return result {@link String} that has the accumulated items of analyses array.
87
+ */
88
+ parsesWithoutPrefixAndSuffix(): string;
89
+ /**
90
+ * The overridden toString method loops through the fsmParses {@link Array} and accumulates the items to a result
91
+ * {@link String}.
92
+ *
93
+ * @return result {@link String} that has the items of fsmParses {@link Array}.
94
+ */
95
+ toString(): string;
96
+ }
@@ -0,0 +1,242 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FsmParseList = void 0;
13
+ class FsmParseList {
14
+ /**
15
+ * A constructor of {@link FsmParseList} class which takes an {@link Array} fsmParses as an input. First it sorts
16
+ * the items of the {@link Array} then loops through it, if the current item's transitions equal to the next item's
17
+ * transitions, it removes the latter item. At the end, it assigns this {@link Array} to the fsmParses variable.
18
+ *
19
+ * @param fsmParses {@link FsmParse} type{@link Array} input.
20
+ */
21
+ constructor(fsmParses) {
22
+ this.fsmParses = new Array();
23
+ fsmParses.sort((fsmParse1, fsmParse2) => fsmParse1.getFsmParseTransitionList().localeCompare(fsmParse2.getFsmParseTransitionList()));
24
+ for (let i = 0; i < fsmParses.length - 1; i++) {
25
+ if (fsmParses[i].getFsmParseTransitionList() == fsmParses[i + 1].getFsmParseTransitionList()) {
26
+ fsmParses.splice(i + 1, 1);
27
+ i--;
28
+ }
29
+ }
30
+ this.fsmParses = fsmParses;
31
+ }
32
+ /**
33
+ * The size method returns the size of fsmParses {@link Array}.
34
+ *
35
+ * @return the size of fsmParses {@link Array}.
36
+ */
37
+ size() {
38
+ return this.fsmParses.length;
39
+ }
40
+ /**
41
+ * The getFsmParse method takes an integer index as an input and returns the item of fsmParses {@link Array} at
42
+ * given index.
43
+ *
44
+ * @param index Integer input.
45
+ * @return the item of fsmParses {@link Array} at given index.
46
+ */
47
+ getFsmParse(index) {
48
+ return this.fsmParses[index];
49
+ }
50
+ /**
51
+ * The rootWords method gets the first item's root of fsmParses {@link Array} and uses it as currentRoot. Then loops
52
+ * through the fsmParses, if the current item's root does not equal to the currentRoot, it then assigns it as the
53
+ * currentRoot and accumulates root words in a {@link String} result.
54
+ *
55
+ * @return String result that has root words.
56
+ */
57
+ rootWords() {
58
+ let result = this.fsmParses[0].getWord().getName(), currentRoot = result;
59
+ for (let i = 1; i < this.fsmParses.length; i++) {
60
+ if (this.fsmParses[i].getWord().getName() != currentRoot) {
61
+ currentRoot = this.fsmParses[i].getWord().getName();
62
+ result = result + "$" + currentRoot;
63
+ }
64
+ }
65
+ return result;
66
+ }
67
+ /**
68
+ * The reduceToParsesWithSameRootAndPos method takes a {@link Word} currentWithPos as an input and loops i times till
69
+ * i equals to the size of the fsmParses {@link Array}. If the given currentWithPos does not equal to the ith item's
70
+ * root and the MorphologicalTag of the first inflectional of fsmParses, it removes the ith item from the {@link Array}.
71
+ *
72
+ * @param currentWithPos {@link Word} input.
73
+ */
74
+ reduceToParsesWithSameRootAndPos(currentWithPos) {
75
+ let i = 0;
76
+ while (i < this.fsmParses.length) {
77
+ if (this.fsmParses[i].getWordWithPos().getName() != currentWithPos.getName()) {
78
+ this.fsmParses.splice(i, 1);
79
+ }
80
+ else {
81
+ i++;
82
+ }
83
+ }
84
+ }
85
+ /**
86
+ * The getParseWithLongestRootWord method returns the parse with the longest root word. If more than one parse has the
87
+ * longest root word, the first parse with that root is returned.
88
+ *
89
+ * @return FsmParse Parse with the longest root word.
90
+ */
91
+ getParseWithLongestRootWord() {
92
+ let maxLength = -1;
93
+ let bestParse = undefined;
94
+ for (let currentParse of this.fsmParses) {
95
+ if (currentParse.getWord().getName().length > maxLength) {
96
+ maxLength = currentParse.getWord().getName().length;
97
+ bestParse = currentParse;
98
+ }
99
+ }
100
+ return bestParse;
101
+ }
102
+ /**
103
+ * The reduceToParsesWithSameRoot method takes a {@link String} currentWithPos as an input and loops i times till
104
+ * i equals to the size of the fsmParses {@link Array}. If the given currentRoot does not equal to the root of ith
105
+ * item of fsmParses, it removes the ith item from the {@link Array}.
106
+ *
107
+ * @param currentRoot {@link String} input.
108
+ */
109
+ reduceToParsesWithSameRoot(currentRoot) {
110
+ let i = 0;
111
+ while (i < this.fsmParses.length) {
112
+ if (this.fsmParses[i].getWord().getName() != currentRoot) {
113
+ this.fsmParses.splice(i, 1);
114
+ }
115
+ else {
116
+ i++;
117
+ }
118
+ }
119
+ }
120
+ /**
121
+ * The constructParseListForDifferentRootWithPos method initially creates a result {@link Array} then loops through the
122
+ * fsmParses {@link Array}. For the first iteration, it creates new {@link Array} as initial, then adds the
123
+ * first item od fsmParses to initial and also add this initial {@link Array} to the result {@link Array}.
124
+ * For the following iterations, it checks whether the current item's root with the MorphologicalTag of the first inflectional
125
+ * equal to the previous item's root with the MorphologicalTag of the first inflectional. If so, it adds that item
126
+ * to the result {@link Array}, if not it creates new {@link Array} as initial and adds the first item od fsmParses
127
+ * to initial and also add this initial {@link Array} to the result {@link Array}.
128
+ *
129
+ * @return result {@link Array} type of {@link FsmParseList}.
130
+ */
131
+ constructParseListForDifferentRootWithPos() {
132
+ let result = new Array();
133
+ let i = 0;
134
+ while (i < this.fsmParses.length) {
135
+ if (i == 0) {
136
+ let initial = new Array();
137
+ initial.push(this.fsmParses[i]);
138
+ result.push(new FsmParseList(initial));
139
+ }
140
+ else {
141
+ if (this.fsmParses[i].getWordWithPos().getName() == this.fsmParses[i - 1].getWordWithPos().getName()) {
142
+ result[result.length - 1].fsmParses.push(this.fsmParses[i]);
143
+ }
144
+ else {
145
+ let initial = new Array();
146
+ initial.push(this.fsmParses[i]);
147
+ result.push(new FsmParseList(initial));
148
+ }
149
+ }
150
+ i++;
151
+ }
152
+ return result;
153
+ }
154
+ /**
155
+ * The parsesWithoutPrefixAndSuffix method first creates a {@link String} array named analyses with the size of
156
+ * fsmParses {@link Array}'s size.
157
+ * <p>
158
+ * If the size is just 1, it then returns the first item's transitionList, if it is greater than 1, loops through
159
+ * the fsmParses and puts the transitionList of each item to the analyses array.
160
+ * <p>
161
+ * If the removePrefix condition holds, it loops through the analyses array and takes each item's substring after
162
+ * the first + sign and updates that item of analyses array with that substring.
163
+ * <p>
164
+ * If the removeSuffix condition holds, it loops through the analyses array and takes each item's substring till the
165
+ * last + sign and updates that item of analyses array with that substring.
166
+ * <p>
167
+ * It then removes the duplicate items of analyses array and returns a result {@link String} that has the
168
+ * accumulated items of analyses array.
169
+ *
170
+ * @return result {@link String} that has the accumulated items of analyses array.
171
+ */
172
+ parsesWithoutPrefixAndSuffix() {
173
+ let analyses = new Array();
174
+ let removePrefix = true, removeSuffix = true;
175
+ if (this.fsmParses.length == 1) {
176
+ return this.fsmParses[0].getFsmParseTransitionList().substring(this.fsmParses[0].getFsmParseTransitionList().indexOf("+") + 1);
177
+ }
178
+ for (let i = 0; i < this.fsmParses.length; i++) {
179
+ analyses.push(this.fsmParses[i].getFsmParseTransitionList());
180
+ }
181
+ while (removePrefix) {
182
+ removePrefix = true;
183
+ for (let i = 0; i < this.fsmParses.length - 1; i++) {
184
+ if (!analyses[i].includes("+") || !analyses[i + 1].includes("+") ||
185
+ analyses[i].substring(0, analyses[i].indexOf("+") + 1) != analyses[i + 1].substring(0, analyses[i + 1].indexOf("+") + 1)) {
186
+ removePrefix = false;
187
+ break;
188
+ }
189
+ }
190
+ if (removePrefix) {
191
+ for (let i = 0; i < this.fsmParses.length; i++) {
192
+ analyses[i] = analyses[i].substring(analyses[i].indexOf("+") + 1);
193
+ }
194
+ }
195
+ }
196
+ while (removeSuffix) {
197
+ removeSuffix = true;
198
+ for (let i = 0; i < this.fsmParses.length - 1; i++) {
199
+ if (!analyses[i].includes("+") || !analyses[i + 1].includes("+") ||
200
+ analyses[i].substring(analyses[i].lastIndexOf("+")) != analyses[i + 1].substring(analyses[i + 1].lastIndexOf("+"))) {
201
+ removeSuffix = false;
202
+ break;
203
+ }
204
+ }
205
+ if (removeSuffix) {
206
+ for (let i = 0; i < this.fsmParses.length; i++) {
207
+ analyses[i] = analyses[i].substring(0, analyses[i].lastIndexOf("+"));
208
+ }
209
+ }
210
+ }
211
+ for (let i = 0; i < analyses.length; i++) {
212
+ for (let j = i + 1; j < analyses.length; j++) {
213
+ if (analyses[i] > analyses[j]) {
214
+ let tmp = analyses[i];
215
+ analyses[i] = analyses[j];
216
+ analyses[j] = tmp;
217
+ }
218
+ }
219
+ }
220
+ let result = analyses[0];
221
+ for (let i = 1; i < analyses.length; i++) {
222
+ result = result + "$" + analyses[i];
223
+ }
224
+ return result;
225
+ }
226
+ /**
227
+ * The overridden toString method loops through the fsmParses {@link Array} and accumulates the items to a result
228
+ * {@link String}.
229
+ *
230
+ * @return result {@link String} that has the items of fsmParses {@link Array}.
231
+ */
232
+ toString() {
233
+ let result = "";
234
+ for (let i = 0; i < this.fsmParses.length; i++) {
235
+ result += this.fsmParses[i] + "\n";
236
+ }
237
+ return result;
238
+ }
239
+ }
240
+ exports.FsmParseList = FsmParseList;
241
+ });
242
+ //# sourceMappingURL=FsmParseList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FsmParseList.js","sourceRoot":"","sources":["../../source/MorphologicalAnalysis/FsmParseList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { MorphologicalTag } from "./MorphologicalTag";
2
+ export declare class InflectionalGroup {
3
+ private IG;
4
+ static tags: string[];
5
+ static morphoTags: MorphologicalTag[];
6
+ /**
7
+ * The getMorphologicalTag method takes a String tag as an input and if the input matches with one of the elements of
8
+ * tags array, it then gets the morphoTags of this tag and returns it.
9
+ *
10
+ * @param tag String to get morphoTags from.
11
+ * @return morphoTags if found, null otherwise.
12
+ */
13
+ static getMorphologicalTag(tag: string): MorphologicalTag;
14
+ /**
15
+ * The getTag method takes a MorphologicalTag type tag as an input and returns its corresponding tag from tags array.
16
+ *
17
+ * @param tag MorphologicalTag type input to find tag from.
18
+ * @return tag if found, null otherwise.
19
+ */
20
+ static getTag(tag: MorphologicalTag): string;
21
+ /**
22
+ * A constructor of {@link InflectionalGroup} class which initializes the IG {@link Array} by parsing given input
23
+ * String IG by + and calling the getMorphologicalTag method with these substrings. If getMorphologicalTag method returns
24
+ * a tag, it adds this tag to the IG {@link Array}.
25
+ *
26
+ * @param IG String input.
27
+ */
28
+ constructor(IG: string);
29
+ /**
30
+ * Another getTag method which takes index as an input and returns the corresponding tag from IG {@link ArrayList}.
31
+ *
32
+ * @param index to get tag.
33
+ * @return tag at input index.
34
+ */
35
+ getTag(index: number): MorphologicalTag;
36
+ /**
37
+ * The size method returns the size of the IG {@link Array}.
38
+ *
39
+ * @return the size of the IG {@link Array}.
40
+ */
41
+ size(): number;
42
+ /**
43
+ * Overridden toString method to return resulting tags in IG {@link Array}.
44
+ *
45
+ * @return String result.
46
+ */
47
+ toString(): string;
48
+ /**
49
+ * The containsCase method loops through the tags in IG {@link Array} and finds out the tags of the NOMINATIVE,
50
+ * ACCUSATIVE, DATIVE, LOCATIVE or ABLATIVE cases.
51
+ *
52
+ * @return tag which holds the condition.
53
+ */
54
+ containsCase(): MorphologicalTag;
55
+ /**
56
+ * The containsPlural method loops through the tags in IG {@link Array} and checks whether the tags are from
57
+ * the agreement plural or possessive plural, i.e A1PL, A2PL, A3PL, P1PL, P2PL and P3PL.
58
+ *
59
+ * @return true if the tag is plural, false otherwise.
60
+ */
61
+ containsPlural(): boolean;
62
+ /**
63
+ * The containsTag method takes a MorphologicalTag type tag as an input and loops through the tags in
64
+ * IG {@link Array} and returns true if the input matches with on of the tags in the IG.
65
+ *
66
+ * @param tag MorphologicalTag type input to search for.
67
+ * @return true if tag matches with the tag in IG, false otherwise.
68
+ */
69
+ containsTag(tag: MorphologicalTag): boolean;
70
+ /**
71
+ * The containsPossessive method loops through the tags in IG {@link Array} and returns true if the tag in IG is
72
+ * one of the possessives: P1PL, P1SG, P2PL, P2SG, P3PL AND P3SG.
73
+ *
74
+ * @return true if it contains possessive tag, false otherwise.
75
+ */
76
+ containsPossessive(): boolean;
77
+ }