Comparing version 1.0.11 to 1.0.12
@@ -7,5 +7,5 @@ import { NodeInterface } from "./index"; | ||
} | ||
export declare const findby: { | ||
export declare const findBy: { | ||
type: (type: string, nodes: NodeInterface[]) => boolean; | ||
label: (label: string, nodes: NodeInterface[]) => boolean; | ||
}; |
"use strict"; | ||
const inflectors = require("en-inflectors"); | ||
const relationships_1 = require("./rules/relationships"); | ||
const en_inflectors_1 = require("en-inflectors"); | ||
function default_1(nodes, recursionLimit) { | ||
@@ -38,3 +38,3 @@ nodes = identifyRoot(nodes); | ||
} | ||
else if (nx2 && ~oe.indexOf(new inflectors.Inflectors(nx1.tokens[0]).conjugate("VBP")) && ~vbs.indexOf(nx2.type)) | ||
else if (nx2 && ~oe.indexOf(new en_inflectors_1.Inflectors(nx1.tokens[0]).conjugate("VBP")) && ~vbs.indexOf(nx2.type)) | ||
continue; | ||
@@ -75,20 +75,22 @@ } | ||
let rel = relationships_1.relationships[i]; | ||
if (rel[0][0] !== "" && rel[0][0] !== left.type) | ||
if (rel.left.length && rel.left.indexOf(left.type) === -1) | ||
continue; | ||
else if (rel[0][1] !== "" && rel[0][1] !== right.type) | ||
else if (rel.right.length && rel.right.indexOf(right.type) === -1) | ||
continue; | ||
else if (rel[3] !== -1 && iteration <= rel[3]) | ||
else if (rel.delay !== -1 && iteration <= rel.delay) | ||
continue; | ||
else if (rel[2] !== -1 && ((right.index[0] - left.index[1]) - 1) > rel[2]) | ||
else if (rel.maxDistance !== -1 && ((right.index[0] - left.index[1]) - 1) > rel.maxDistance) | ||
continue; | ||
else if (rel[4] === "<-" && right.label === "ROOT") | ||
else if (rel.direction === "<-" && right.label === "ROOT") | ||
continue; | ||
else if (rel[4] === "->" && left.label === "ROOT") | ||
else if (rel.direction === "->" && left.label === "ROOT") | ||
continue; | ||
else if (rel[5] === "NSUBJ" && rel[4] === "->" && exports.findby.label('NSUBJ', right.left)) | ||
else if (rel.label === "NSUBJ" && rel.direction === "->" && exports.findBy.label("NSUBJ", right.left)) | ||
continue; | ||
else if (rel[1][0] !== "" && !~left.tokens.map(x => new inflectors.Inflectors(x).conjugate("VBP")).indexOf(rel[1][0])) | ||
else if (rel.label === "NSUBJPASS" && rel.direction === "->" && exports.findBy.label("NSUBJPASS", right.left)) | ||
continue; | ||
else if (rel[1][1] !== "" && !~right.tokens.map(x => new inflectors.Inflectors(x).conjugate("VBP")).indexOf(rel[1][1])) | ||
else if (rel.leftTokens.length && rel.leftTokens.indexOf(new en_inflectors_1.Inflectors(left.tokens[0]).conjugate("VBP")) === -1) | ||
continue; | ||
else if (rel.rightTokens.length && rel.rightTokens.indexOf(new en_inflectors_1.Inflectors(right.tokens[0]).conjugate("VBP")) === -1) | ||
continue; | ||
else { | ||
@@ -103,8 +105,8 @@ match = rel; | ||
return { | ||
direction: match[4], | ||
label: match[5] | ||
direction: match.direction, | ||
label: match.label | ||
}; | ||
} | ||
; | ||
exports.findby = { | ||
exports.findBy = { | ||
type: function (type, nodes) { | ||
@@ -111,0 +113,0 @@ return !!nodes.find((node) => node.type === type); |
export interface RelationshipInterface { | ||
0: Array<string>; | ||
1: Array<string>; | ||
2: number; | ||
3: number; | ||
4: string; | ||
5: string; | ||
left: string[]; | ||
right: string[]; | ||
leftTokens: string[]; | ||
rightTokens: string[]; | ||
maxDistance: number; | ||
delay: number; | ||
direction: string; | ||
label: string; | ||
} | ||
export declare const relationships: Array<RelationshipInterface>; | ||
export declare const relationships: RelationshipInterface[]; |
"use strict"; | ||
; | ||
exports.relationships = [ | ||
[["NP", "VP"], ["", ""], -1, 0, "->", "NSUBJ"], | ||
[["NP", "VB"], ["", ""], -1, 0, "->", "NSUBJ"], | ||
[["WDT", "VP"], ["", ""], -1, 0, "->", "NSUBJ"], | ||
[["WDT", "VB"], ["", ""], -1, 0, "->", "NSUBJ"], | ||
[["WP", "VP"], ["", ""], -1, 0, "->", "NSUBJ"], | ||
[["WP", "VB"], ["", ""], -1, 0, "->", "NSUBJ"], | ||
[["NP", "VBN"], ["", ""], 2, 0, "->", "NSUBJPASS"], | ||
[["WP", "VBN"], ["", ""], -1, 1, "->", "DOBJ"], | ||
[["VP", "NP"], ["", ""], -1, 0, "<-", "DOBJ"], | ||
[["VB", "NP"], ["", ""], -1, 0, "<-", "DOBJ"], | ||
[["WDT", "VP"], ["", ""], -1, 1, "->", "DOBJ"], | ||
[["WDT", "VB"], ["", ""], -1, 1, "->", "DOBJ"], | ||
[["WDT", "VBN"], ["", ""], -1, 1, "->", "DOBJ"], | ||
[["WP", "VP"], ["", ""], -1, 1, "->", "DOBJ"], | ||
[["WP", "VB"], ["", ""], -1, 1, "->", "DOBJ"], | ||
[["VP", "NP"], ["be", ""], -1, 0, "<-", "ATTR"], | ||
[["VB", "NP"], ["be", ""], -1, 0, "<-", "ATTR"], | ||
[["VBN", "NP"], ["be", ""], -1, 0, "<-", "ATTR"], | ||
[["VP", "VP"], ["", ""], -1, 5, "<-", "CCOMP"], | ||
[["VP", "VB"], ["", ""], -1, 5, "<-", "CCOMP"], | ||
[["VB", "VP"], ["", ""], -1, 5, "<-", "CCOMP"], | ||
[["VB", "VB"], ["", ""], -1, 5, "<-", "CCOMP"], | ||
[["VP", "VBN"], ["", ""], -1, 5, "<-", "CCOMP"], | ||
[["VB", "VBN"], ["", ""], -1, 5, "<-", "CCOMP"], | ||
[["VBN", "VB"], ["", ""], -1, 5, "<-", "CCOMP"], | ||
[["VBN", "VP"], ["", ""], -1, 5, "<-", "CCOMP"], | ||
[["EX", "VP"], ["", ""], 2, 0, "->", "EXPL"], | ||
[["EX", "VB"], ["", ""], 2, 0, "->", "EXPL"], | ||
[["EX", "VBN"], ["", ""], 2, 0, "->", "EXPL"], | ||
[["VP", "EX"], ["", ""], -1, 0, "<-", "EXPL"], | ||
[["VB", "EX"], ["", ""], -1, 0, "<-", "EXPL"], | ||
[["VBN", "EX"], ["", ""], -1, 0, "<-", "EXPL"], | ||
[["VP", "JJR"], ["", ""], -1, 0, "<-", "ADVMOD"], | ||
[["VP", "ADV"], ["", ""], -1, 0, "<-", "ADVMOD"], | ||
[["VB", "JJR"], ["", ""], -1, 0, "<-", "ADVMOD"], | ||
[["VB", "ADV"], ["", ""], -1, 0, "<-", "ADVMOD"], | ||
[["VBN", "JJR"], ["", ""], -1, 0, "<-", "ADVMOD"], | ||
[["VBN", "ADV"], ["", ""], -1, 0, "<-", "ADVMOD"], | ||
[["JJR", "VP"], ["", ""], 3, 0, "->", "ADVMOD"], | ||
[["ADV", "VP"], ["", ""], 3, 0, "->", "ADVMOD"], | ||
[["JJR", "VB"], ["", ""], 3, 0, "->", "ADVMOD"], | ||
[["ADV", "VB"], ["", ""], 3, 0, "->", "ADVMOD"], | ||
[["JJR", "VBN"], ["", ""], 3, 0, "->", "ADVMOD"], | ||
[["ADV", "VBN"], ["", ""], 3, 0, "->", "ADVMOD"], | ||
[["ADV", "NP"], ["", ""], 3, 0, "->", "ADVMOD"], | ||
[["JJR", "PP"], ["", ""], -1, 1, "<-", "ADVMOD"], | ||
[["VB", "PP"], ["", ""], -1, 1, "<-", "ADVMOD"], | ||
[["VP", "PP"], ["", ""], -1, 1, "<-", "ADVMOD"], | ||
[["VBN", "PP"], ["", ""], -1, 1, "<-", "ADVMOD"], | ||
[["VP", "EM"], ["", ""], -1, 0, "<-", "DISCOURSE"], | ||
[["VB", "EM"], ["", ""], -1, 0, "<-", "DISCOURSE"], | ||
[["VBN", "EM"], ["", ""], -1, 0, "<-", "DISCOURSE"], | ||
[["EM", "VP"], ["", ""], -1, 0, "->", "DISCOURSE"], | ||
[["EM", "VB"], ["", ""], -1, 0, "->", "DISCOURSE"], | ||
[["EM", "VBN"], ["", ""], -1, 0, "->", "DISCOURSE"], | ||
[["NP", "EM"], ["", ""], -1, 0, "<-", "DISCOURSE"], | ||
[["EM", "NP"], ["", ""], -1, 0, "->", "DISCOURSE"], | ||
[["VP", "PRT"], ["", ""], 5, -1, "<-", "VPRT"], | ||
[["VB", "PRT"], ["", ""], 5, -1, "<-", "VPRT"], | ||
[["VBN", "PRT"], ["", ""], 5, -1, "<-", "VPRT"], | ||
[["PRT", "VP"], ["", ""], -1, 0, "->", "VPRT"], | ||
[["PRT", "VB"], ["", ""], -1, 0, "->", "VPRT"], | ||
[["PRT", "VBN"], ["", ""], -1, 0, "->", "VPRT"], | ||
[["NP", "PRT"], ["", ""], 5, -1, "<-", "VPRT"], | ||
[["PRT", "NP"], ["", ""], -1, 0, "->", "VPRT"], | ||
[["MD", "VP"], ["", ""], -1, 0, "->", "AUX"], | ||
[["MD", "VB"], ["", ""], -1, 0, "->", "AUX"], | ||
[["MD", "VBN"], ["", ""], -1, 0, "->", "AUX"], | ||
[["TO", "VB"], ["", ""], -1, 0, "->", "AUX"], | ||
[["TO", "VP"], ["", ""], -1, 0, "->", "AUX"], | ||
[["TO", "VBN"], ["", ""], -1, 0, "->", "AUX"], | ||
[["VP", "VP"], ["be", ""], 0, 0, "->", "AUX"], | ||
[["VB", "VP"], ["be", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VB"], ["be", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VP"], ["be", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VB"], ["be", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["be", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VP"], ["can", ""], 0, 0, "->", "AUX"], | ||
[["VB", "VP"], ["can", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VB"], ["can", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VP"], ["can", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VB"], ["can", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["can", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VP"], ["do", ""], 0, 0, "->", "AUX"], | ||
[["VB", "VP"], ["do", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VB"], ["do", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VP"], ["do", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VB"], ["do", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["do", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VP"], ["have", ""], 0, 0, "->", "AUX"], | ||
[["VB", "VP"], ["have", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VB"], ["have", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VP"], ["have", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VB"], ["have", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["have", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VP"], ["may", ""], 0, 0, "->", "AUX"], | ||
[["VB", "VP"], ["may", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VB"], ["may", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VP"], ["may", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VB"], ["may", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["may", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VP"], ["will", ""], 0, 0, "->", "AUX"], | ||
[["VB", "VP"], ["will", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VB"], ["will", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VP"], ["will", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VB"], ["will", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["will", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VP"], ["shall", ""], 0, 0, "->", "AUX"], | ||
[["VB", "VP"], ["shall", ""], 0, 0, "->", "AUX"], | ||
[["VP", "VB"], ["shall", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VP"], ["shall", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VB"], ["shall", ""], 0, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["shall", ""], 0, 0, "->", "AUX"], | ||
[["MD", "VP"], ["", ""], -1, 0, "->", "AUX"], | ||
[["MD", "VB"], ["", ""], -1, 0, "->", "AUX"], | ||
[["MD", "VBN"], ["", ""], -1, 0, "->", "AUX"], | ||
[["TO", "VB"], ["", ""], -1, 0, "->", "AUX"], | ||
[["TO", "VP"], ["", ""], -1, 0, "->", "AUX"], | ||
[["TO", "VBN"], ["", ""], -1, 0, "->", "AUX"], | ||
[["VP", "VP"], ["be", ""], 1, 0, "->", "AUX"], | ||
[["VB", "VP"], ["be", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VB"], ["be", ""], 1, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["be", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VP"], ["can", ""], 1, 0, "->", "AUX"], | ||
[["VB", "VP"], ["can", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VB"], ["can", ""], 1, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["can", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VP"], ["do", ""], 1, 0, "->", "AUX"], | ||
[["VB", "VP"], ["do", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VB"], ["do", ""], 1, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["do", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VP"], ["have", ""], 1, 0, "->", "AUX"], | ||
[["VB", "VP"], ["have", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VB"], ["have", ""], 1, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["have", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VP"], ["may", ""], 1, 0, "->", "AUX"], | ||
[["VB", "VP"], ["may", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VB"], ["may", ""], 1, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["may", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VP"], ["will", ""], 1, 0, "->", "AUX"], | ||
[["VB", "VP"], ["will", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VB"], ["will", ""], 1, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["will", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VP"], ["shall", ""], 1, 0, "->", "AUX"], | ||
[["VB", "VP"], ["shall", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VB"], ["shall", ""], 1, 0, "->", "AUX"], | ||
[["VBN", "VBN"], ["shall", ""], 1, 0, "->", "AUX"], | ||
[["VP", "VBN"], ["be", ""], 1, 0, "->", "AUXPASS"], | ||
[["VP", "VBN"], ["can", ""], 1, 0, "->", "AUXPASS"], | ||
[["VP", "VBN"], ["do", ""], 1, 0, "->", "AUXPASS"], | ||
[["VP", "VBN"], ["have", ""], 1, 0, "->", "AUXPASS"], | ||
[["VP", "VBN"], ["may", ""], 1, 0, "->", "AUXPASS"], | ||
[["VP", "VBN"], ["will", ""], 1, 0, "->", "AUXPASS"], | ||
[["VP", "VBN"], ["shall", ""], 1, 0, "->", "AUXPASS"], | ||
[["VB", "VBN"], ["be", ""], 1, 0, "->", "AUXPASS"], | ||
[["VB", "VBN"], ["can", ""], 1, 0, "->", "AUXPASS"], | ||
[["VB", "VBN"], ["do", ""], 1, 0, "->", "AUXPASS"], | ||
[["VB", "VBN"], ["have", ""], 1, 0, "->", "AUXPASS"], | ||
[["VB", "VBN"], ["may", ""], 1, 0, "->", "AUXPASS"], | ||
[["VB", "VBN"], ["will", ""], 1, 0, "->", "AUXPASS"], | ||
[["VB", "VBN"], ["shall", ""], 1, 0, "->", "AUXPASS"], | ||
[["PP", "VB"], ["that", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["because", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["by", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["despite", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["although", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["if", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["of", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["though", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["unless", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["whereas", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["whether", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["for", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["that", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["because", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["by", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["despite", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["although", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["if", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["of", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["though", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["unless", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["whereas", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["whether", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VP"], ["for", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["that", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["because", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["by", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["despite", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["although", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["if", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["of", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["though", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["unless", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["whereas", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["whether", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VBN"], ["for", ""], -1, 1, "->", "COMPMARK"], | ||
[["PP", "VB"], ["", ""], 4, 1, "->", "ADVMARK"], | ||
[["PP", "VP"], ["", ""], 4, 1, "->", "ADVMARK"], | ||
[["PP", "VBN"], ["", ""], 4, 1, "->", "ADVMARK"], | ||
[["ADV", "VB"], ["", ""], 4, 1, "->", "ADVMARK"], | ||
[["ADV", "VP"], ["", ""], 4, 1, "->", "ADVMARK"], | ||
[["ADV", "VBN"], ["", ""], 4, 1, "->", "ADVMARK"], | ||
[["VP", "ADJ"], ["be", ""], 4, 0, "->", "COP"], | ||
[["VB", "ADJ"], ["be", ""], 4, 0, "->", "COP"], | ||
[["VBN", "ADJ"], ["be", ""], 4, 0, "->", "COP"], | ||
[["ADJ", "CD"], ["", ""], -1, 0, "<-", "NUMMOD"], | ||
[["ADJP", "CD"], ["", ""], -1, 0, "<-", "NUMMOD"], | ||
[["VP", "CD"], ["", ""], -1, 0, "<-", "NUMMOD"], | ||
[["VBN", "CD"], ["", ""], -1, 0, "<-", "NUMMOD"], | ||
[["VB", "CD"], ["", ""], -1, 0, "<-", "NUMMOD"], | ||
[["CD", "VP"], ["", ""], 0, -1, "->", "NUMMOD"], | ||
[["CD", "VB"], ["", ""], 0, -1, "->", "NUMMOD"], | ||
[["CD", "VBN"], ["", ""], 0, -1, "->", "NUMMOD"], | ||
[["CD", "NP"], ["", ""], 0, -1, "->", "NUMMOD"], | ||
[["NP", "CD"], ["", ""], -1, 0, "<-", "NUMMOD"], | ||
[["ADV", "NP"], ["", ""], -1, 0, "<-", "NMOD"], | ||
[["VB", "TO"], ["", ""], -1, 0, "<-", "NMOD"], | ||
[["VBN", "TO"], ["", ""], -1, 0, "<-", "NMOD"], | ||
[["VP", "TO"], ["", ""], -1, 0, "<-", "NMOD"], | ||
[["NP", "VP"], ["", ""], 4, 4, "->", "NMOD"], | ||
[["NP", "VB"], ["", ""], 4, 4, "->", "NMOD"], | ||
[["NP", "VBN"], ["", ""], 4, 4, "->", "NMOD"], | ||
[["VBN", "NP"], ["", ""], -1, 0, "<-", "NMOD"], | ||
[["NP", "PP"], ["", ""], 4, 4, "<-", "ACL"], | ||
[["VP", "ADJ"], ["", ""], -1, 0, "<-", "AMOD"], | ||
[["VB", "ADJ"], ["", ""], -1, 0, "<-", "AMOD"], | ||
[["VBN", "ADJ"], ["", ""], -1, 0, "<-", "AMOD"], | ||
[["VP", "ADJP"], ["", ""], -1, 0, "<-", "AMOD"], | ||
[["VB", "ADJP"], ["", ""], -1, 0, "<-", "AMOD"], | ||
[["VBN", "ADJP"], ["", ""], -1, 0, "<-", "AMOD"], | ||
[["ADJ", "VP"], ["", ""], -1, 9, "->", "AMOD"], | ||
[["ADJ", "VB"], ["", ""], -1, 9, "->", "AMOD"], | ||
[["ADJ", "VBN"], ["", ""], -1, 9, "->", "AMOD"], | ||
[["ADJP", "VP"], ["", ""], -1, 9, "->", "AMOD"], | ||
[["ADJP", "VB"], ["", ""], -1, 9, "->", "AMOD"], | ||
[["ADJP", "VBN"], ["", ""], -1, 9, "->", "AMOD"], | ||
[["WDT", "NP"], ["", ""], -1, 0, "->", "DET"], | ||
[["WP", "NP"], ["", ""], -1, 0, "->", "DET"], | ||
[["TO", "NP"], ["", ""], -1, 0, "->", "CASE"], | ||
[["PP", "NP"], ["", ""], -1, 0, "->", "CASE"], | ||
[["", "PUNCT"], ["", ""], -1, 3, "<-", "PUNCT"], | ||
[["PUNCT", ""], ["", ""], -1, 4, "->", "PUNCT"], | ||
[["CC", ""], ["", ""], -1, -1, "->", "CC"], | ||
[["", "CC"], ["", ""], -1, -1, "<-", "CC"], | ||
[["", "UH"], ["", ""], -1, -1, "<-", "INTERJ"], | ||
[["UH", ""], ["", ""], -1, -1, "->", "INTERJ"], | ||
{ | ||
left: ["NP", "WDT", "WP"], | ||
right: ["VP", "VB"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "NSUBJ" | ||
}, | ||
{ | ||
left: ["NP"], | ||
right: ["VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 2, | ||
delay: 0, | ||
direction: "->", | ||
label: "NSUBJPASS" | ||
}, | ||
{ | ||
left: ["VP", "VB", "VBN"], | ||
right: ["NP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "DOBJ" | ||
}, | ||
{ | ||
left: ["WDT", "WP"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 1, | ||
direction: "->", | ||
label: "DOBJ" | ||
}, | ||
{ | ||
left: ["VP", "VBN", "VB"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 5, | ||
direction: "<-", | ||
label: "CCOMP" | ||
}, | ||
{ | ||
left: ["EX"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 2, | ||
delay: 0, | ||
direction: "->", | ||
label: "EXPL" | ||
}, | ||
{ | ||
left: ["VP", "VB", "VBN"], | ||
right: ["EX"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "EXPL" | ||
}, | ||
{ | ||
left: ["VP", "VB", "VBN"], | ||
right: ["JJR", "ADV"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "ADVMOD" | ||
}, | ||
{ | ||
left: ["JJR", "ADV"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 3, | ||
delay: 0, | ||
direction: "->", | ||
label: "ADVMOD" | ||
}, | ||
{ | ||
left: ["ADV"], | ||
right: ["NP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 3, | ||
delay: 0, | ||
direction: "->", | ||
label: "ADVMOD" | ||
}, | ||
{ | ||
left: ["JJR", "VB", "VP", "VBN"], | ||
right: ["PP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 1, | ||
direction: "<-", | ||
label: "ADVMOD" | ||
}, | ||
{ | ||
left: ["VP", "VB", "VBN"], | ||
right: ["EM"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "DISCOURSE" | ||
}, | ||
{ | ||
left: ["EM"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "DISCOURSE" | ||
}, | ||
{ | ||
left: ["EM"], | ||
right: ["NP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "DISCOURSE" | ||
}, | ||
{ | ||
left: ["NP"], | ||
right: ["EM"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "DISCOURSE" | ||
}, | ||
{ | ||
left: ["VP", "VB", "VBN"], | ||
right: ["PRT"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 5, | ||
delay: -1, | ||
direction: "<-", | ||
label: "VPRT" | ||
}, | ||
{ | ||
left: ["PRT"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "VPRT" | ||
}, | ||
{ | ||
left: ["NP"], | ||
right: ["PRT"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 5, | ||
delay: -1, | ||
direction: "<-", | ||
label: "VPRT" | ||
}, | ||
{ | ||
left: ["PRT"], | ||
right: ["NP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "VPRT" | ||
}, | ||
{ | ||
left: ["MD", "TO"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "AUX" | ||
}, | ||
{ | ||
left: ["MD", "TO"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "AUX" | ||
}, | ||
{ | ||
left: ["VP", "VB"], | ||
right: ["VP", "VB"], | ||
leftTokens: ["be", "can", "do", "have", "may", "will", "shall"], | ||
rightTokens: [], | ||
maxDistance: 1, | ||
delay: 0, | ||
direction: "->", | ||
label: "AUX" | ||
}, | ||
{ | ||
left: ["VBN"], | ||
right: ["VBN"], | ||
leftTokens: ["be", "can", "do", "have", "may", "will", "shall"], | ||
rightTokens: [], | ||
maxDistance: 1, | ||
delay: 0, | ||
direction: "->", | ||
label: "AUX" | ||
}, | ||
{ | ||
left: ["VP", "VB"], | ||
right: ["VBN"], | ||
leftTokens: ["be", "can", "do", "have", "may", "will", "shall"], | ||
rightTokens: [], | ||
maxDistance: 1, | ||
delay: 0, | ||
direction: "->", | ||
label: "AUXPASS" | ||
}, | ||
{ | ||
left: ["PP"], | ||
right: ["VB", "VP", "VBN"], | ||
leftTokens: ["that", "because", "by", "despite", "although", "if", "of", "though", "unless", "whereas", "whether"], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 1, | ||
direction: "->", | ||
label: "COMPMARK" | ||
}, | ||
{ | ||
left: ["PP"], | ||
right: ["VB", "VP", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 4, | ||
delay: 1, | ||
direction: "->", | ||
label: "ADVMARK" | ||
}, | ||
{ | ||
left: ["VP", "VB", "VBN"], | ||
right: ["ADJ"], | ||
leftTokens: ["be"], | ||
rightTokens: [], | ||
maxDistance: 4, | ||
delay: 0, | ||
direction: "->", | ||
label: "COP" | ||
}, | ||
{ | ||
left: ["VP", "VB", "VBN", "ADJ", "ADJP", "NP"], | ||
right: ["CD"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "NUMMOD" | ||
}, | ||
{ | ||
left: ["CD"], | ||
right: ["VP", "VB", "VBN", "NP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 0, | ||
delay: -1, | ||
direction: "->", | ||
label: "NUMMOD" | ||
}, | ||
{ | ||
left: ["ADV", "VBN"], | ||
right: ["NP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "NMOD" | ||
}, | ||
{ | ||
left: ["VB", "VP", "VBN"], | ||
right: ["TO"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "NMOD" | ||
}, | ||
{ | ||
left: ["NP"], | ||
right: ["VP", "VB", "VBN"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 4, | ||
delay: 4, | ||
direction: "->", | ||
label: "NMOD" | ||
}, | ||
{ | ||
left: ["NP"], | ||
right: ["PP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: 4, | ||
delay: 4, | ||
direction: "<-", | ||
label: "ACL" | ||
}, | ||
{ | ||
left: ["VP", "VB", "VBN"], | ||
right: ["ADJ", "ADJP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "<-", | ||
label: "AMOD" | ||
}, | ||
{ | ||
left: ["WDT", "WP"], | ||
right: ["NP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "DET" | ||
}, | ||
{ | ||
left: ["TO", "PP"], | ||
right: ["NP"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 0, | ||
direction: "->", | ||
label: "CASE" | ||
}, | ||
{ | ||
left: [], | ||
right: ["PUNCT"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 3, | ||
direction: "<-", | ||
label: "PUNCT" | ||
}, | ||
{ | ||
left: [], | ||
right: ["PUNCT"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 4, | ||
direction: "->", | ||
label: "PUNCT" | ||
}, | ||
{ | ||
left: [], | ||
right: ["PUNCT"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: 4, | ||
direction: "->", | ||
label: "PUNCT" | ||
}, | ||
{ | ||
left: ["CC"], | ||
right: [], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: -1, | ||
direction: "->", | ||
label: "CC" | ||
}, | ||
{ | ||
left: [], | ||
right: ["CC"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: -1, | ||
direction: "<-", | ||
label: "CC" | ||
}, | ||
{ | ||
left: [], | ||
right: ["UH"], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: -1, | ||
direction: "<-", | ||
label: "INTERJ" | ||
}, | ||
{ | ||
left: ["UH"], | ||
right: [], | ||
leftTokens: [], | ||
rightTokens: [], | ||
maxDistance: -1, | ||
delay: -1, | ||
direction: "->", | ||
label: "INTERJ" | ||
} | ||
]; |
@@ -17,2 +17,16 @@ "use strict"; | ||
(nodes) => { | ||
return nodes.map((node) => { | ||
const ATTRi = node.right.findIndex((x) => x.label === "ATTR"); | ||
if (!~ATTRi) | ||
return node; | ||
const hasW = node.left.find((x) => x.tags[0].charAt(0) === "W"); | ||
if (!hasW) { | ||
console.log(JSON.stringify(node)); | ||
return node; | ||
} | ||
node.right[ATTRi].label = "DOBJ"; | ||
return node; | ||
}); | ||
}, | ||
(nodes) => { | ||
var CCOMPi = nodes.findIndex(x => x.label === "CCOMP"); | ||
@@ -76,5 +90,6 @@ if (~CCOMPi) { | ||
var CASE = x.left.find(x => x.label === "CASE"); | ||
if (!CASE || CASE.tokens[0] !== "of") | ||
if (!CASE || (CASE.tokens[0].toLowerCase() !== "of" && CASE.tokens[0].toLowerCase() !== "by")) | ||
n.push(x); | ||
else { | ||
console.log(CASE.tokens[0]); | ||
x.label = "NMOD"; | ||
@@ -91,4 +106,4 @@ var newParent = n.findIndex(x => x.label.endsWith("SUBJ") || x.label.endsWith("OBL") || x.label.endsWith("OBJ")); | ||
(nodes) => { | ||
if (nodes[0] && nodes[0].type === 'VP' && (!relating_1.findby.label('NSUBJ', nodes[0].left)) && (!relating_1.findby.label('NSUBJ', nodes[0].right))) { | ||
if (relating_1.findby.label('DOBJ', nodes[0].right)) | ||
if (nodes[0] && nodes[0].type === 'VP' && (!relating_1.findBy.label('NSUBJ', nodes[0].left)) && (!relating_1.findBy.label('NSUBJ', nodes[0].right))) { | ||
if (relating_1.findBy.label('DOBJ', nodes[0].right)) | ||
nodes[0].label = 'NSUBJ'; | ||
@@ -95,0 +110,0 @@ } |
{ | ||
"name": "en-parse", | ||
"version": "1.0.11", | ||
"version": "1.0.12", | ||
"description": "English language syntactic dependency parser", | ||
"main": "./dist/index.js", | ||
"types": "./dist/index.d.ts", | ||
"script":{ | ||
"scripts":{ | ||
"prepublish":"mocha && tsc", | ||
"test":"mocha", | ||
"build":"tsc", | ||
"prepublish":"mocha && tsc" | ||
"build":"tsc" | ||
}, | ||
@@ -12,0 +12,0 @@ "dependencies": { |
1161
42187