gitextract_o86o2zrq/ ├── .eslintrc.json ├── .gitconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── pull_request_template.md │ └── workflows/ │ ├── codeql-analysis.yml │ ├── linter.yml │ ├── node.js.yml │ └── npm-publish.yml ├── .gitignore ├── .npmignore ├── .nycrc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── SECURITY.md ├── benchmarks/ │ ├── index.js │ ├── metaphone.js │ ├── sample-id.txt │ ├── soundex.js │ └── stemmer_id.js ├── examples/ │ ├── classification/ │ │ ├── MaxEntAppliedToPOSTagging_spec.js │ │ ├── basic.js │ │ ├── recall.js │ │ ├── store.js │ │ └── try_events.js │ ├── inflection/ │ │ ├── count.js │ │ └── noun.js │ ├── phonetics/ │ │ ├── compare.js │ │ └── tokenize_and_phoneticize.js │ ├── stemming/ │ │ ├── stem_corpus.js │ │ └── stem_word.js │ ├── tfidf/ │ │ ├── array_example.js │ │ ├── multiple_terms.js │ │ └── tfidf_example.js │ └── tokenizer/ │ └── testSentenceTokenizer.js ├── index.js ├── io_spec/ │ ├── MaxEntClassifier_spec.js │ ├── Sample_spec.js │ ├── StorageBackend_spec.js │ ├── bayes_classifier_spec.js │ ├── classifier_spec.js │ ├── logistic_regression_classifier_spec.js │ ├── test_data/ │ │ └── tfidf/ │ │ ├── one │ │ ├── tfidf_document1.txt │ │ ├── tfidf_document2.txt │ │ ├── tfidf_document3.txt │ │ ├── tfidf_document4.txt │ │ └── two │ ├── tfidf_spec.js │ ├── tmp/ │ │ ├── .this_folder_exists.txt │ │ ├── 055ff9e6-bf89-42d0-b44a-4dcc523bf6fc.json │ │ ├── 7cfb947f-0115-4ef6-b21b-d9554d51caf2.json │ │ ├── bf35794b-83e7-4628-8ec2-a0cf451a6fb2.json │ │ └── c2ee3580-26b9-4972-b7f9-e59a933ed021.json │ ├── wordnet_index_spec.js │ ├── wordnet_spec.js │ └── wordnet_test.ts ├── lib/ │ └── natural/ │ ├── analyzers/ │ │ ├── SenType.ts │ │ ├── index.d.ts │ │ ├── index.js │ │ └── sentence_analyzer.js │ ├── brill_pos_tagger/ │ │ ├── data/ │ │ │ ├── Dutch/ │ │ │ │ ├── README.txt │ │ │ │ ├── brill_CONTEXTRULES.jg │ │ │ │ ├── brill_CONTEXTRULES.json │ │ │ │ ├── brill_LEXICON.jg │ │ │ │ └── brill_Lexicon.json │ │ │ └── English/ │ │ │ ├── README.txt │ │ │ ├── lexicon_from_posjs.json │ │ │ ├── tr_from_brill_paper.json │ │ │ ├── tr_from_brill_paper.txt │ │ │ ├── tr_from_posjs.json │ │ │ └── tr_from_posjs.txt │ │ ├── index.d.ts │ │ ├── index.js │ │ └── lib/ │ │ ├── Brill_POS_Tagger.js │ │ ├── Brill_POS_Tester.js │ │ ├── Brill_POS_Trainer.js │ │ ├── Corpus.js │ │ ├── Lexicon.js │ │ ├── Predicate.js │ │ ├── RuleSet.js │ │ ├── RuleTemplate.js │ │ ├── RuleTemplates.js │ │ ├── Sentence.js │ │ ├── TF_Parser.js │ │ ├── TF_Parser.pegjs │ │ └── TransformationRule.js │ ├── classifiers/ │ │ ├── bayes_classifier.js │ │ ├── classifier.js │ │ ├── classifier_train_parallel.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── logistic_regression_classifier.js │ │ └── maxent/ │ │ ├── Classifier.js │ │ ├── Context.js │ │ ├── Distribution.js │ │ ├── Element.js │ │ ├── Feature.js │ │ ├── FeatureSet.js │ │ ├── GISScaler.js │ │ ├── POS/ │ │ │ ├── ME_Corpus.js │ │ │ ├── ME_Sentence.js │ │ │ └── POS_Element.js │ │ ├── Sample.js │ │ └── SimpleExample/ │ │ └── SE_Element.js │ ├── distance/ │ │ ├── dice_coefficient.js │ │ ├── hamming_distance.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── jaro-winkler_distance.js │ │ └── levenshtein_distance.js │ ├── index.d.ts │ ├── index.js │ ├── inflectors/ │ │ ├── count_inflector.js │ │ ├── form_set.js │ │ ├── fr/ │ │ │ ├── count_inflector.js │ │ │ └── noun_inflector.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── ja/ │ │ │ └── noun_inflector.js │ │ ├── noun_inflector.js │ │ ├── present_verb_inflector.js │ │ └── singular_plural_inflector.js │ ├── ngrams/ │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── ngrams.js │ │ └── ngrams_zh.js │ ├── normalizers/ │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── normalizer.js │ │ ├── normalizer_ja.js │ │ ├── normalizer_no.js │ │ ├── normalizer_sv.js │ │ └── remove_diacritics.js │ ├── phonetics/ │ │ ├── dm_soundex.js │ │ ├── double_metaphone.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── metaphone.js │ │ ├── phonetic.js │ │ └── soundex.js │ ├── sentiment/ │ │ ├── Basque/ │ │ │ └── senticon_eu.json │ │ ├── Catalan/ │ │ │ └── senticon_ca.json │ │ ├── Dutch/ │ │ │ ├── negations_du.json │ │ │ └── pattern-sentiment-nl.json │ │ ├── English/ │ │ │ ├── negations_en.json │ │ │ ├── pattern-sentiment-en.json │ │ │ └── senticon_en.json │ │ ├── French/ │ │ │ └── pattern-sentiment-fr.json │ │ ├── Galician/ │ │ │ └── senticon_gl.json │ │ ├── German/ │ │ │ ├── negations_de.json │ │ │ └── pattern-sentiment-de.json │ │ ├── Italian/ │ │ │ └── pattern-sentiment-it.json │ │ ├── Portuguese/ │ │ │ ├── afinnShortSortedPortuguese.json │ │ │ └── negations_pt.json │ │ ├── SentimentAnalyzer.js │ │ ├── Spanish/ │ │ │ ├── afinnShortSortedSpanish.json │ │ │ ├── negations_es.json │ │ │ └── senticon_es.json │ │ ├── index.d.ts │ │ ├── index.js │ │ └── tools/ │ │ ├── README.md │ │ ├── XmlParser4PatternData.js │ │ └── sentimentXmlParser.js │ ├── spellcheck/ │ │ ├── index.d.ts │ │ ├── index.js │ │ └── spellcheck.js │ ├── stemmers/ │ │ ├── Carry/ │ │ │ ├── index.js │ │ │ ├── stepConfs.js │ │ │ └── utils.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── indonesian/ │ │ │ ├── base_stemmer_id.js │ │ │ ├── data/ │ │ │ │ └── kata-dasar.json │ │ │ ├── prefix_rules.js │ │ │ ├── removal.js │ │ │ ├── stemmer_id.js │ │ │ └── suffix_rules.js │ │ ├── lancaster_rules.js │ │ ├── lancaster_stemmer.js │ │ ├── porter_stemmer.js │ │ ├── porter_stemmer_de.js │ │ ├── porter_stemmer_es.js │ │ ├── porter_stemmer_fa.js │ │ ├── porter_stemmer_fr.js │ │ ├── porter_stemmer_it.js │ │ ├── porter_stemmer_nl.js │ │ ├── porter_stemmer_no.js │ │ ├── porter_stemmer_pt.js │ │ ├── porter_stemmer_ru.js │ │ ├── porter_stemmer_sv.js │ │ ├── porter_stemmer_uk.js │ │ ├── stemmer.js │ │ ├── stemmer_de.js │ │ ├── stemmer_es.js │ │ ├── stemmer_fa.js │ │ ├── stemmer_fr.js │ │ ├── stemmer_it.js │ │ ├── stemmer_ja.js │ │ ├── stemmer_nl.js │ │ ├── stemmer_no.js │ │ ├── stemmer_pl.js │ │ ├── stemmer_pt.js │ │ ├── stemmer_ru.js │ │ ├── stemmer_sv.js │ │ ├── stemmer_uk.js │ │ └── token.js │ ├── tfidf/ │ │ ├── index.d.ts │ │ ├── index.js │ │ └── tfidf.js │ ├── tokenizers/ │ │ ├── aggressive_tokenizer.js │ │ ├── aggressive_tokenizer_de.js │ │ ├── aggressive_tokenizer_es.js │ │ ├── aggressive_tokenizer_fa.js │ │ ├── aggressive_tokenizer_fr.js │ │ ├── aggressive_tokenizer_hi.js │ │ ├── aggressive_tokenizer_id.js │ │ ├── aggressive_tokenizer_it.js │ │ ├── aggressive_tokenizer_nl.js │ │ ├── aggressive_tokenizer_no.js │ │ ├── aggressive_tokenizer_pl.js │ │ ├── aggressive_tokenizer_pt.js │ │ ├── aggressive_tokenizer_ru.js │ │ ├── aggressive_tokenizer_sv.js │ │ ├── aggressive_tokenizer_uk.js │ │ ├── aggressive_tokenizer_vi.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── orthography_matchers.js │ │ ├── regexp_tokenizer.js │ │ ├── sentence_tokenizer.js │ │ ├── sentence_tokenizer_deprecated.js │ │ ├── tokenizer.js │ │ ├── tokenizer_case.js │ │ ├── tokenizer_ja.js │ │ └── treebank_word_tokenizer.js │ ├── transliterators/ │ │ ├── index.d.ts │ │ ├── index.js │ │ └── ja/ │ │ └── index.js │ ├── trie/ │ │ ├── index.d.ts │ │ ├── index.js │ │ └── trie.js │ ├── util/ │ │ ├── abbreviations_en.js │ │ ├── abbreviations_es.js │ │ ├── bag.js │ │ ├── directed_edge.js │ │ ├── edge_weighted_digraph.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── longest_path_tree.js │ │ ├── shortest_path_tree.js │ │ ├── stopwords.js │ │ ├── stopwords_es.js │ │ ├── stopwords_fa.js │ │ ├── stopwords_fr.js │ │ ├── stopwords_id.js │ │ ├── stopwords_it.js │ │ ├── stopwords_ja.js │ │ ├── stopwords_nl.js │ │ ├── stopwords_no.js │ │ ├── stopwords_pl.js │ │ ├── stopwords_pt.js │ │ ├── stopwords_ru.js │ │ ├── stopwords_sv.js │ │ ├── stopwords_uk.js │ │ ├── stopwords_zh.js │ │ ├── storage/ │ │ │ ├── File.js │ │ │ ├── Memcached.js │ │ │ ├── MongoDB.js │ │ │ ├── Postgres.js │ │ │ ├── Redis.js │ │ │ ├── StorageBackend.js │ │ │ ├── docker-compose.yml │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── topological.js │ │ └── utils.js │ └── wordnet/ │ ├── data_file.js │ ├── index.d.ts │ ├── index.js │ ├── index_file.js │ ├── wordnet.js │ └── wordnet_file.js ├── package.json ├── rollup.config.mjs ├── spec/ │ ├── MaxEntClassifier_spec.ts │ ├── SentimentAnalyzer_spec.ts │ ├── WordPunctTokenizer_spec.ts │ ├── aggressive_tokenizer_de_spec.ts │ ├── aggressive_tokenizer_es_spec.ts │ ├── aggressive_tokenizer_fr_spec.ts │ ├── aggressive_tokenizer_hi_spec.ts │ ├── aggressive_tokenizer_nl_spec.ts │ ├── aggressive_tokenizer_pt_spec.ts │ ├── aggressive_tokenizer_spec.ts │ ├── aggressive_tokenizer_sv_spec.ts │ ├── aggressive_tokenizer_vi_spec.ts │ ├── bayes_classifier_spec.ts │ ├── brill_pos_tagger_spec.ts │ ├── brill_pos_trainer_spec.ts │ ├── carry_stemmer_fr_spec.ts │ ├── classifier_spec.ts │ ├── count_inflector_fr_spec.ts │ ├── count_inflector_spec.ts │ ├── damerau_levenshtein_spec.ts │ ├── dice_coefficient_spec.ts │ ├── double_metaphone_spec.ts │ ├── esm/ │ │ └── smoke.mjs │ ├── hamming_distance_spec.ts │ ├── jaro-winkler_spec.ts │ ├── lancaster_stemmer_spec.ts │ ├── levenshtein_spec.ts │ ├── logistic_regression_classifier_spec.ts │ ├── longest_path_tree_spec.ts │ ├── metaphone_spec.ts │ ├── ngram_spec.ts │ ├── ngram_zh_spec.ts │ ├── normalizer_ja_spec.ts │ ├── normalizer_no_spec.ts │ ├── normalizer_spec.ts │ ├── noun_inflector_fr_spec.ts │ ├── noun_inflector_ja_spec.ts │ ├── noun_inflector_spec.ts │ ├── orthography_tokenizer_spec.ts │ ├── porter_stemmer_de_spec.ts │ ├── porter_stemmer_es_spec.ts │ ├── porter_stemmer_fr_spec.ts │ ├── porter_stemmer_it_spec.ts │ ├── porter_stemmer_nl_spec.ts │ ├── porter_stemmer_no_spec.ts │ ├── porter_stemmer_pt_spec.ts │ ├── porter_stemmer_ru_spec.ts │ ├── porter_stemmer_spec.ts │ ├── porter_stemmer_sv_spec.ts │ ├── present_verb_inflector_spec.ts │ ├── remove_diacritics_spec.ts │ ├── sentence_analyzer_spec.ts │ ├── sentence_tokenizer_spec.ts │ ├── shortest_path_tree_spec.ts │ ├── soundex_spec.ts │ ├── spellcheck_spec.ts │ ├── stemmer_id_spec.ts │ ├── stemmer_ja_spec.ts │ ├── stemmer_token_spec.ts │ ├── support/ │ │ ├── count_tests.js │ │ └── jasmine.json │ ├── test_data/ │ │ ├── ConvertSnowballDict.js │ │ ├── NYT-20150205-picassos-granddaughter-plans-to-sell-art-worrying-the-market.json │ │ ├── NYT-20150205-picassos-granddaughter-plans_expected_tag_results.json │ │ ├── Volkskrant-20150205-Knot-geldpers-aanzetten-is-paardenmiddel-voor-half-procent-inflatie.json │ │ ├── Wikipedia_EN_FrenchRevolution.json │ │ ├── Wikipedia_EN_InfluenceOfTheFrenchRevolution.json │ │ ├── browntag_nolines_excerpt.json │ │ ├── browntag_nolines_excerpt_maxent.json │ │ ├── dutchStemResults.json │ │ ├── index.document1.txt │ │ ├── snowball_de.json │ │ ├── snowball_es.json │ │ ├── snowball_fr.json │ │ ├── snowball_it.json │ │ ├── snowball_nl.json │ │ ├── snowball_no.json │ │ ├── snowball_pt.json │ │ ├── sv_stemmer_sample.js │ │ ├── tfdif_testcorpus.txt │ │ ├── tfidf_teststopwords.txt │ │ └── wordnet_mini.sql │ ├── tfidf_spec.ts │ ├── tokenizer_case_spec.ts │ ├── tokenizer_ja_spec.ts │ ├── transliterator_ja_spec.ts │ ├── treebank_word_tokenizer_spec.ts │ └── trie_spec.ts └── tsconfig.json