UNPKG

finnlp

Version:

Natural language processing in JavaScript

58 lines (57 loc) 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var lexed = require("lexed"); var tagger = require("en-pos"); var parser = require("en-parse"); var en_norm_1 = require("en-norm"); var lemmatizer_1 = require("lemmatizer"); var Run = (function () { function Run(input) { this.raw = ""; this.intercepted = ""; this.sentences = []; this.raw = input; this.intercepted = en_norm_1.resolveContractions(en_norm_1.replaceConfusables(input)); for (var index = 0; index < exports.preProcessors.length; index++) { var interceptor = exports.preProcessors[index]; this.intercepted = interceptor(this.intercepted); } var _lexer = new lexed.Lexed(this.intercepted).lexer(); for (var index = 0; index < _lexer.sentences.length; index++) { this.sentences[index] = { sentence: "", confidence: 0, deps: [], tags: [], depsTree: {}, tokens: [], lemmas: [] }; this.sentences[index].sentence = _lexer.sentences[index]; this.sentences[index].tokens = en_norm_1.normalizeCaps(_lexer.tokens[index]); this.sentences[index].lemmas = this.sentences[index].tokens.map(lemmatizer_1.lemmatizer); var taggingInstance = new tagger.Tag(this.sentences[index].tokens).initial().smooth(); this.sentences[index].tags = taggingInstance.tags; this.sentences[index].confidence = (taggingInstance.confidence.reduce(function (a, b) { return a + b; }, 0) / taggingInstance.confidence.length) - 10; this.sentences[index].depsTree = parser.tree(this.sentences[index].tags, this.sentences[index].tokens)[0]; this.sentences[index].deps = parser.toArray(this.sentences[index].depsTree); } var result = { raw: this.raw, intercepted: this.intercepted, sentences: this.sentences }; for (var index = 0; index < exports.postProcessors.length; index++) { result = exports.postProcessors[index](result); } this.raw = result.raw; this.intercepted = result.intercepted; this.sentences = result.sentences; return this; } return Run; }()); exports.Run = Run; ; exports.preProcessors = []; exports.postProcessors = [];