nltk 3.2.1__zip → 3.3__zip
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.
- {nltk-3.2.1 → nltk-3.3}/LICENSE.txt +1 -1
- {nltk-3.2.1/nltk.egg-info → nltk-3.3}/PKG-INFO +13 -5
- nltk-3.3/README.md +49 -0
- nltk-3.3/nltk/VERSION +1 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/__init__.py +3 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/app/__init__.py +2 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/app/chartparser_app.py +92 -92
- {nltk-3.2.1 → nltk-3.3}/nltk/app/chunkparser_app.py +11 -13
- {nltk-3.2.1 → nltk-3.3}/nltk/app/collocations_app.py +8 -11
- {nltk-3.2.1 → nltk-3.3}/nltk/app/concordance_app.py +9 -11
- {nltk-3.2.1 → nltk-3.3}/nltk/app/nemo_app.py +18 -17
- {nltk-3.2.1 → nltk-3.3}/nltk/app/rdparser_app.py +10 -12
- {nltk-3.2.1 → nltk-3.3}/nltk/app/srparser_app.py +16 -16
- {nltk-3.2.1 → nltk-3.3}/nltk/app/wordfreq_app.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/app/wordnet_app.py +11 -11
- {nltk-3.2.1 → nltk-3.3}/nltk/book.py +2 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/ccg/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/ccg/api.py +67 -47
- {nltk-3.2.1 → nltk-3.3}/nltk/ccg/chart.py +7 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/ccg/combinator.py +42 -11
- {nltk-3.2.1 → nltk-3.3}/nltk/ccg/lexicon.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/ccg/logic.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chat/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chat/eliza.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chat/iesha.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chat/rude.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chat/suntsu.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chat/util.py +12 -10
- {nltk-3.2.1 → nltk-3.3}/nltk/chat/zen.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chunk/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chunk/api.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/chunk/named_entity.py +13 -13
- {nltk-3.2.1 → nltk-3.3}/nltk/chunk/regexp.py +9 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/chunk/util.py +12 -12
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/api.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/decisiontree.py +18 -18
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/maxent.py +26 -8
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/megam.py +5 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/naivebayes.py +29 -26
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/rte_classify.py +58 -89
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/scikitlearn.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/senna.py +24 -22
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/svm.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/tadm.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/textcat.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/util.py +13 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/weka.py +7 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/cluster/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/cluster/api.py +9 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/cluster/em.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/cluster/gaac.py +3 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/cluster/kmeans.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/cluster/util.py +35 -20
- nltk-3.3/nltk/collections.py +640 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/collocations.py +2 -2
- nltk-3.3/nltk/compat.py +365 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/__init__.py +37 -16
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/europarl_raw.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/__init__.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/aligned.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/api.py +12 -10
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/bnc.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/bracket_parse.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/categorized_sents.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/chasen.py +5 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/childes.py +8 -9
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/chunked.py +4 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/cmudict.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/comparative_sents.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/conll.py +19 -12
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/crubadan.py +2 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/dependency.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/framenet.py +1085 -119
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/ieer.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/indian.py +4 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/ipipan.py +6 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/knbc.py +2 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/lin.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/mte.py +5 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/nkjp.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/nombank.py +8 -8
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/nps_chat.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/opinion_lexicon.py +3 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/panlex_lite.py +1 -1
- nltk-3.3/nltk/corpus/reader/pl196x.py +292 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/plaintext.py +3 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/ppattach.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/propbank.py +8 -10
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/pros_cons.py +5 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/reviews.py +3 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/rte.py +5 -7
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/semcor.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/senseval.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/sentiwordnet.py +3 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/sinica_treebank.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/string_category.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/switchboard.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/tagged.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/timit.py +10 -8
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/toolbox.py +4 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/twitter.py +4 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/util.py +7 -3
- nltk-3.3/nltk/corpus/reader/verbnet.py +595 -0
- nltk-3.3/nltk/corpus/reader/wordlist.py +134 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/wordnet.py +357 -285
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/xmldocs.py +10 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/ycoe.py +25 -24
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/util.py +22 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/data.py +65 -29
- {nltk-3.2.1 → nltk-3.3}/nltk/decorators.py +5 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/downloader.py +59 -55
- {nltk-3.2.1 → nltk-3.3}/nltk/draw/__init__.py +4 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/draw/cfg.py +5 -8
- {nltk-3.2.1 → nltk-3.3}/nltk/draw/dispersion.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/draw/table.py +4 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/draw/tree.py +2 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/draw/util.py +17 -17
- {nltk-3.2.1 → nltk-3.3}/nltk/featstruct.py +290 -173
- {nltk-3.2.1 → nltk-3.3}/nltk/grammar.py +87 -44
- {nltk-3.2.1 → nltk-3.3}/nltk/help.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/inference/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/inference/api.py +27 -19
- {nltk-3.2.1 → nltk-3.3}/nltk/inference/discourse.py +20 -16
- {nltk-3.2.1 → nltk-3.3}/nltk/inference/nonmonotonic.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/inference/prover9.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/inference/resolution.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/inference/tableau.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/internals.py +44 -44
- {nltk-3.2.1 → nltk-3.3}/nltk/jsontags.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/__init__.py +2 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/agreement.py +29 -9
- nltk-3.3/nltk/metrics/aline.py +607 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/association.py +8 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/confusionmatrix.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/distance.py +12 -7
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/paice.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/scores.py +7 -7
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/segmentation.py +4 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/metrics/spearman.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/misc/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/misc/chomsky.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/misc/minimalset.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/misc/sort.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/misc/wordfinder.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/__init__.py +2 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/api.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/bllip.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/chart.py +8 -7
- nltk-3.3/nltk/parse/corenlp.py +780 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/dependencygraph.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/earleychart.py +4 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/evaluate.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/featurechart.py +6 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/generate.py +15 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/malt.py +2 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/nonprojectivedependencyparser.py +3 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/pchart.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/projectivedependencyparser.py +6 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/recursivedescent.py +2 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/shiftreduce.py +2 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/stanford.py +53 -28
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/transitionparser.py +11 -9
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/util.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/parse/viterbi.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/probability.py +75 -20
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/boxer.py +15 -15
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/chat80.py +6 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/cooper_storage.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/drt.py +9 -8
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/drt_glue_demo.py +5 -9
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/evaluate.py +9 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/glue.py +8 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/hole.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/lfg.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/linearlogic.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/logic.py +14 -14
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/relextract.py +11 -18
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/skolemize.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/sem/util.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/sentiment/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/sentiment/sentiment_analyzer.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/sentiment/util.py +14 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/sentiment/vader.py +41 -42
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/__init__.py +1 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/api.py +7 -4
- nltk-3.3/nltk/stem/arlstem.py +369 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/isri.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/lancaster.py +39 -12
- nltk-3.3/nltk/stem/porter.py +710 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/regexp.py +2 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/rslp.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/snowball.py +537 -13
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/util.py +11 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/stem/wordnet.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/__init__.py +32 -7
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/api.py +13 -8
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/brill.py +4 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/crf.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/hmm.py +11 -11
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/hunpos.py +4 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/mapping.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/perceptron.py +25 -10
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/senna.py +25 -23
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/sequential.py +19 -15
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/stanford.py +59 -36
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/tnt.py +11 -20
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/util.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/tbl/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/tbl/demo.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/tbl/erroranalysis.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/tbl/feature.py +5 -7
- {nltk-3.2.1 → nltk-3.3}/nltk/tbl/rule.py +6 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/tbl/template.py +18 -23
- {nltk-3.2.1 → nltk-3.3}/nltk/test/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/all.py +7 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/test/bnc.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/ccg.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/ccg_semantics.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/chat80.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/childes_fixt.py +1 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/chunk.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/classify.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/classify_fixt.py +2 -1
- nltk-3.3/nltk/test/collections.doctest +20 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/collocations.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/compat.doctest +0 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/test/compat_fixt.py +1 -0
- nltk-3.3/nltk/test/concordance.doctest +55 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/corpus.doctest +38 -49
- {nltk-3.2.1 → nltk-3.3}/nltk/test/crubadan.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/data.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/dependency.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/discourse.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/discourse_fixt.py +1 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/doctest_nose_plugin.py +8 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/test/drt.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/featgram.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/featstruct.doctest +2 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/test/framenet.doctest +82 -33
- {nltk-3.2.1 → nltk-3.3}/nltk/test/generate.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/gensim.doctest +6 -7
- {nltk-3.2.1 → nltk-3.3}/nltk/test/gensim_fixt.py +1 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/gluesemantics.doctest +13 -15
- {nltk-3.2.1 → nltk-3.3}/nltk/test/gluesemantics_malt.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/gluesemantics_malt_fixt.py +1 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/grammar.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/grammartestsuites.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/index.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/inference.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/inference_fixt.py +1 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/internals.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/japanese.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/logic.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/metrics.doctest +3 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/test/misc.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/nonmonotonic.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/nonmonotonic_fixt.py +1 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/parse.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/portuguese_en.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/probability.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/probability_fixt.py +2 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/propbank.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/relextract.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/resolution.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/runtests.py +35 -13
- {nltk-3.2.1 → nltk-3.3}/nltk/test/semantics.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/sentiment.doctest +3 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/test/sentiwordnet.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/simple.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/stem.doctest +2 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/test/tag.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/tokenize.doctest +109 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/test/toolbox.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/translate.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/tree.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/treeprettyprinter.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/treetransforms.doctest +1 -1
- nltk-3.3/nltk/test/unit/test_aline.py +52 -0
- nltk-3.3/nltk/test/unit/test_chunk.py +56 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_classify.py +20 -18
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_collocations.py +16 -7
- nltk-3.3/nltk/test/unit/test_concordance.py +98 -0
- nltk-3.3/nltk/test/unit/test_corenlp.py +1000 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_corpora.py +18 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_json2csv_corpus.py +4 -3
- nltk-3.3/nltk/test/unit/test_rte_classify.py +86 -0
- nltk-3.3/nltk/test/unit/test_senna.py +74 -0
- nltk-3.3/nltk/test/unit/test_stem.py +121 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_tgrep.py +4 -2
- nltk-3.3/nltk/test/unit/test_tokenize.py +168 -0
- nltk-3.3/nltk/test/unit/test_wordnet.py +134 -0
- nltk-3.3/nltk/test/unit/translate/test_bleu.py +244 -0
- nltk-3.3/nltk/test/unit/translate/test_gdfa.py +57 -0
- nltk-3.3/nltk/test/unit/translate/test_nist.py +37 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_stack_decoder.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/util.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/wordnet.doctest +17 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/test/wordnet_fixt.py +1 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/wordnet_lch.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/test/wsd.doctest +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/text.py +92 -39
- {nltk-3.2.1 → nltk-3.3}/nltk/tgrep.py +8 -7
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/__init__.py +37 -15
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/api.py +3 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/casual.py +10 -9
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/mwe.py +2 -2
- nltk-3.3/nltk/tokenize/nist.py +173 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/punkt.py +186 -167
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/regexp.py +13 -7
- nltk-3.3/nltk/tokenize/repp.py +151 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/sexpr.py +4 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/simple.py +7 -5
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/stanford.py +18 -14
- nltk-3.3/nltk/tokenize/stanford_segmenter.py +246 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/texttiling.py +43 -45
- nltk-3.3/nltk/tokenize/toktok.py +155 -0
- nltk-3.3/nltk/tokenize/treebank.py +363 -0
- nltk-3.3/nltk/tokenize/util.py +261 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/toolbox.py +4 -2
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/api.py +50 -40
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/bleu_score.py +221 -156
- nltk-3.3/nltk/translate/chrf_score.py +137 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/gale_church.py +32 -19
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/gdfa.py +14 -10
- nltk-3.3/nltk/translate/gleu_score.py +193 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm1.py +17 -8
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm2.py +4 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm4.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm5.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm_model.py +4 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/metrics.py +1 -1
- nltk-3.3/nltk/translate/nist_score.py +178 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/phrase_based.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/ribes_score.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/stack_decoder.py +5 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/tree.py +10 -8
- {nltk-3.2.1 → nltk-3.3}/nltk/treeprettyprinter.py +6 -6
- {nltk-3.2.1 → nltk-3.3}/nltk/twitter/__init__.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/twitter/api.py +8 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/twitter/common.py +9 -3
- {nltk-3.2.1 → nltk-3.3}/nltk/twitter/twitter_demo.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/twitter/twitterclient.py +1 -1
- {nltk-3.2.1 → nltk-3.3}/nltk/twitter/util.py +5 -4
- {nltk-3.2.1 → nltk-3.3}/nltk/util.py +41 -654
- {nltk-3.2.1 → nltk-3.3}/nltk/wsd.py +2 -2
- {nltk-3.2.1 → nltk-3.3/nltk.egg-info}/PKG-INFO +13 -5
- {nltk-3.2.1 → nltk-3.3}/nltk.egg-info/SOURCES.txt +23 -1
- nltk-3.3/nltk.egg-info/requires.txt +31 -0
- {nltk-3.2.1 → nltk-3.3}/setup.cfg +0 -1
- {nltk-3.2.1 → nltk-3.3}/setup.py +32 -5
- nltk-3.2.1/nltk/VERSION +0 -1
- nltk-3.2.1/nltk/compat.py +0 -706
- nltk-3.2.1/nltk/corpus/reader/pl196x.py +0 -278
- nltk-3.2.1/nltk/corpus/reader/verbnet.py +0 -408
- nltk-3.2.1/nltk/corpus/reader/wordlist.py +0 -37
- nltk-3.2.1/nltk/six.py +0 -868
- nltk-3.2.1/nltk/stem/porter.py +0 -692
- nltk-3.2.1/nltk/test/unit/test_stem.py +0 -36
- nltk-3.2.1/nltk/test/unit/test_tokenize.py +0 -23
- nltk-3.2.1/nltk/test/unit/translate/test_bleu.py +0 -138
- nltk-3.2.1/nltk/tokenize/stanford_segmenter.py +0 -157
- nltk-3.2.1/nltk/tokenize/treebank.py +0 -124
- nltk-3.2.1/nltk/tokenize/util.py +0 -90
- {nltk-3.2.1 → nltk-3.3}/INSTALL.txt +0 -0
- {nltk-3.2.1 → nltk-3.3}/MANIFEST.in +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/classify/positivenaivebayes.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/udhr.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/inference/mace.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/lazyimport.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/misc/babelfish.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/tag/brill_trainer.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/tbl/api.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/bleu.doctest +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/childes.doctest +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/corpus_fixt.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/paice.doctest +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/portuguese_en_fixt.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/segmentation_fixt.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/semantics_fixt.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/translate_fixt.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/__init__.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_2x_compat.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_corpus_views.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_hmm.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_naivebayes.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_seekable_unicode_stream_reader.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_tag.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_twitter_auth.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/__init__.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm1.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm2.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm3.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm4.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm5.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm_model.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/utils.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm3.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk/treetransforms.py +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk.egg-info/dependency_links.txt +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk.egg-info/not-zip-safe +0 -0
- {nltk-3.2.1 → nltk-3.3}/nltk.egg-info/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.. Copyright (C) 2001-
|
|
1
|
+
.. Copyright (C) 2001-2018 NLTK Project
|
|
2
2
|
.. For license information, see LICENSE.TXT
|
|
3
3
|
|
|
4
4
|
=======
|
|
@@ -62,7 +62,7 @@ Other distance measures:
|
|
|
62
62
|
>>> print(jaccard_distance(s1, s2))
|
|
63
63
|
0.6
|
|
64
64
|
>>> print(masi_distance(s1, s2))
|
|
65
|
-
0.868
|
|
65
|
+
0.868
|
|
66
66
|
|
|
67
67
|
----------------------
|
|
68
68
|
Miscellaneous Measures
|
|
@@ -239,7 +239,7 @@ For other associations, we ensure the ordering of the measures:
|
|
|
239
239
|
True
|
|
240
240
|
>>> bam.dice(20, (42, 20), N) > bam.dice(20, (41, 27), N)
|
|
241
241
|
True
|
|
242
|
-
>>> bam.fisher(20, (42, 20), N) > bam.fisher(20, (41, 27), N)
|
|
242
|
+
>>> bam.fisher(20, (42, 20), N) > bam.fisher(20, (41, 27), N) # doctest: +SKIP
|
|
243
243
|
False
|
|
244
244
|
|
|
245
245
|
For trigrams, we have to provide more count information:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
from __future__ import absolute_import
|
|
3
3
|
|
|
4
|
+
|
|
4
5
|
# probability.doctest uses HMM which requires numpy;
|
|
5
6
|
# skip probability.doctest if numpy is not available
|
|
6
7
|
|
|
@@ -9,4 +10,4 @@ def setup_module(module):
|
|
|
9
10
|
try:
|
|
10
11
|
import numpy
|
|
11
12
|
except ImportError:
|
|
12
|
-
raise SkipTest("probability.doctest requires numpy")
|
|
13
|
+
raise SkipTest("probability.doctest requires numpy")
|
|
@@ -17,18 +17,32 @@ if __name__ == '__main__':
|
|
|
17
17
|
# there shouldn't be import from NLTK for coverage to work properly
|
|
18
18
|
from doctest_nose_plugin import DoctestFix
|
|
19
19
|
|
|
20
|
+
try:
|
|
21
|
+
# Import RedNose plugin for colored test output
|
|
22
|
+
from rednose import RedNose
|
|
23
|
+
|
|
24
|
+
rednose_available = True
|
|
25
|
+
except ImportError:
|
|
26
|
+
rednose_available = False
|
|
27
|
+
|
|
28
|
+
|
|
20
29
|
class NltkPluginManager(PluginManager):
|
|
21
30
|
"""
|
|
22
31
|
Nose plugin manager that replaces standard doctest plugin
|
|
23
|
-
with a patched version.
|
|
32
|
+
with a patched version and adds RedNose plugin for colored test output.
|
|
24
33
|
"""
|
|
34
|
+
|
|
25
35
|
def loadPlugins(self):
|
|
26
36
|
for plug in builtin.plugins:
|
|
27
37
|
if plug != Doctest:
|
|
28
38
|
self.addPlugin(plug())
|
|
29
39
|
self.addPlugin(DoctestFix())
|
|
40
|
+
if rednose_available:
|
|
41
|
+
self.addPlugin(RedNose())
|
|
42
|
+
|
|
30
43
|
super(NltkPluginManager, self).loadPlugins()
|
|
31
44
|
|
|
45
|
+
|
|
32
46
|
manager = NltkPluginManager()
|
|
33
47
|
manager.loadPlugins()
|
|
34
48
|
|
|
@@ -47,18 +61,26 @@ if __name__ == '__main__':
|
|
|
47
61
|
# only extra options were passed
|
|
48
62
|
args += [NLTK_TEST_DIR]
|
|
49
63
|
|
|
64
|
+
# Activate RedNose and hide skipped test messages from output
|
|
65
|
+
if rednose_available:
|
|
66
|
+
args += [
|
|
67
|
+
'--rednose',
|
|
68
|
+
'--hide-skips'
|
|
69
|
+
]
|
|
70
|
+
|
|
50
71
|
arguments = [
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
72
|
+
'--exclude=', # why is this needed?
|
|
73
|
+
# '--with-xunit',
|
|
74
|
+
# '--xunit-file=$WORKSPACE/nosetests.xml',
|
|
75
|
+
# '--nocapture',
|
|
76
|
+
'--with-doctest',
|
|
77
|
+
# '--doctest-tests',
|
|
78
|
+
# '--debug=nose,nose.importer,nose.inspector,nose.plugins,nose.result,nose.selector',
|
|
79
|
+
'--doctest-extension=.doctest',
|
|
80
|
+
'--doctest-fixtures=_fixt',
|
|
81
|
+
'--doctest-options=+ELLIPSIS,+NORMALIZE_WHITESPACE,+IGNORE_EXCEPTION_DETAIL,+ALLOW_UNICODE,'
|
|
82
|
+
'doctestencoding=utf-8',
|
|
83
|
+
# '--verbosity=3',
|
|
84
|
+
] + args
|
|
63
85
|
|
|
64
86
|
nose.main(argv=arguments, plugins=manager.plugins)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.. Copyright (C) 2001-
|
|
1
|
+
.. Copyright (C) 2001-2018 NLTK Project
|
|
2
2
|
.. For license information, see LICENSE.TXT
|
|
3
3
|
|
|
4
4
|
===================
|
|
@@ -128,8 +128,8 @@ Vader
|
|
|
128
128
|
... under orders and in the ''least offensive way possible.''"
|
|
129
129
|
... ]
|
|
130
130
|
>>> sentences.extend(tricky_sentences)
|
|
131
|
-
>>> sid = SentimentIntensityAnalyzer()
|
|
132
131
|
>>> for sentence in sentences:
|
|
132
|
+
... sid = SentimentIntensityAnalyzer()
|
|
133
133
|
... print(sentence)
|
|
134
134
|
... ss = sid.polarity_scores(sentence)
|
|
135
135
|
... for k in sorted(ss):
|
|
@@ -230,4 +230,4 @@ Vader
|
|
|
230
230
|
the twin towers collapsed today
|
|
231
231
|
compound: -0.2732, neg: 0.344, neu: 0.656, pos: 0.0,
|
|
232
232
|
However, Mr. Carter solemnly argues, his client carried out the kidnapping under orders and in the ''least offensive way possible.''
|
|
233
|
-
compound: -0.5859, neg: 0.23, neu: 0.697, pos: 0.074,
|
|
233
|
+
compound: -0.5859, neg: 0.23, neu: 0.697, pos: 0.074,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.. Copyright (C) 2001-
|
|
1
|
+
.. Copyright (C) 2001-2018 NLTK Project
|
|
2
2
|
.. For license information, see LICENSE.TXT
|
|
3
3
|
|
|
4
4
|
==========
|
|
@@ -46,7 +46,7 @@ Unit tests for Snowball stemmer
|
|
|
46
46
|
See which languages are supported.
|
|
47
47
|
|
|
48
48
|
>>> print(" ".join(SnowballStemmer.languages))
|
|
49
|
-
danish dutch english finnish french german hungarian italian
|
|
49
|
+
arabic danish dutch english finnish french german hungarian italian
|
|
50
50
|
norwegian porter portuguese romanian russian spanish swedish
|
|
51
51
|
|
|
52
52
|
Create a new instance of a language specific subclass.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.. Copyright (C) 2001-
|
|
1
|
+
.. Copyright (C) 2001-2018 NLTK Project
|
|
2
2
|
.. For license information, see LICENSE.TXT
|
|
3
3
|
|
|
4
4
|
>>> from __future__ import print_function
|
|
@@ -40,6 +40,19 @@ Some test strings.
|
|
|
40
40
|
>>> word_tokenize(s10)
|
|
41
41
|
['There', 'were', '300,000', ',', 'but', 'that', 'was', "n't", 'enough', '.']
|
|
42
42
|
|
|
43
|
+
|
|
44
|
+
Testing improvement made to the TreebankWordTokenizer
|
|
45
|
+
|
|
46
|
+
>>> sx1 = u'\xabNow that I can do.\xbb'
|
|
47
|
+
>>> expected = [u'\xab', u'Now', u'that', u'I', u'can', u'do', u'.', u'\xbb']
|
|
48
|
+
>>> word_tokenize(sx1) == expected
|
|
49
|
+
True
|
|
50
|
+
>>> sx2 = u'The unicode 201C and 201D \u201cLEFT(RIGHT) DOUBLE QUOTATION MARK\u201d is also OPEN_PUNCT and CLOSE_PUNCT.'
|
|
51
|
+
>>> expected = [u'The', u'unicode', u'201C', u'and', u'201D', u'\u201c', u'LEFT', u'(', u'RIGHT', u')', u'DOUBLE', u'QUOTATION', u'MARK', u'\u201d', u'is', u'also', u'OPEN_PUNCT', u'and', u'CLOSE_PUNCT', u'.']
|
|
52
|
+
>>> word_tokenize(sx2) == expected
|
|
53
|
+
True
|
|
54
|
+
|
|
55
|
+
|
|
43
56
|
Sentence tokenization in word_tokenize:
|
|
44
57
|
|
|
45
58
|
>>> s11 = "I called Dr. Jones. I called Dr. Jones."
|
|
@@ -163,4 +176,98 @@ It should not hang on long sequences of the same punctuation character.
|
|
|
163
176
|
>>> tknzr = TweetTokenizer()
|
|
164
177
|
>>> s10 = "Photo: Aujourd'hui sur http://t.co/0gebOFDUzn Projet... http://t.co/bKfIUbydz2.............................. http://fb.me/3b6uXpz0L"
|
|
165
178
|
>>> tknzr.tokenize(s10)
|
|
166
|
-
[u'Photo', u':', u"Aujourd'hui", u'sur', u'http://t.co/0gebOFDUzn', u'Projet', u'...', u'http://t.co/bKfIUbydz2', u'...', u'http://fb.me/3b6uXpz0L']
|
|
179
|
+
[u'Photo', u':', u"Aujourd'hui", u'sur', u'http://t.co/0gebOFDUzn', u'Projet', u'...', u'http://t.co/bKfIUbydz2', u'...', u'http://fb.me/3b6uXpz0L']
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
Regression Tests: PunktSentenceTokenizer
|
|
183
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
184
|
+
|
|
185
|
+
The sentence splitter should remove whitespace following the sentence boundary.
|
|
186
|
+
|
|
187
|
+
>>> pst = PunktSentenceTokenizer()
|
|
188
|
+
>>> pst.tokenize('See Section 3). Or Section 2). ')
|
|
189
|
+
['See Section 3).', 'Or Section 2).']
|
|
190
|
+
>>> pst.tokenize('See Section 3.) Or Section 2.) ')
|
|
191
|
+
['See Section 3.)', 'Or Section 2.)']
|
|
192
|
+
>>> pst.tokenize('See Section 3.) Or Section 2.) ', realign_boundaries=False)
|
|
193
|
+
['See Section 3.', ') Or Section 2.', ')']
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
Two instances of PunktSentenceTokenizer should not share PunktParameters.
|
|
197
|
+
|
|
198
|
+
>>> pst = PunktSentenceTokenizer()
|
|
199
|
+
>>> pst2 = PunktSentenceTokenizer()
|
|
200
|
+
>>> pst._params is pst2._params
|
|
201
|
+
False
|
|
202
|
+
|
|
203
|
+
Regression Tests: align_tokens
|
|
204
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
205
|
+
Post-hoc alignment of tokens with a source string
|
|
206
|
+
|
|
207
|
+
>>> from nltk.tokenize.util import align_tokens
|
|
208
|
+
>>> list(align_tokens([''], ""))
|
|
209
|
+
[(0, 0)]
|
|
210
|
+
>>> list(align_tokens([''], " "))
|
|
211
|
+
[(0, 0)]
|
|
212
|
+
>>> list(align_tokens([], ""))
|
|
213
|
+
[]
|
|
214
|
+
>>> list(align_tokens([], " "))
|
|
215
|
+
[]
|
|
216
|
+
>>> list(align_tokens(['a'], "a"))
|
|
217
|
+
[(0, 1)]
|
|
218
|
+
>>> list(align_tokens(['abc', 'def'], "abcdef"))
|
|
219
|
+
[(0, 3), (3, 6)]
|
|
220
|
+
>>> list(align_tokens(['abc', 'def'], "abc def"))
|
|
221
|
+
[(0, 3), (4, 7)]
|
|
222
|
+
>>> list(align_tokens(['ab', 'cd'], "ab cd ef"))
|
|
223
|
+
[(0, 2), (3, 5)]
|
|
224
|
+
>>> list(align_tokens(['ab', 'cd', 'ef'], "ab cd ef"))
|
|
225
|
+
[(0, 2), (3, 5), (6, 8)]
|
|
226
|
+
>>> list(align_tokens(['ab', 'cd', 'efg'], "ab cd ef"))
|
|
227
|
+
Traceback (most recent call last):
|
|
228
|
+
....
|
|
229
|
+
ValueError: substring "efg" not found in "ab cd ef"
|
|
230
|
+
>>> list(align_tokens(['ab', 'cd', 'ef', 'gh'], "ab cd ef"))
|
|
231
|
+
Traceback (most recent call last):
|
|
232
|
+
....
|
|
233
|
+
ValueError: substring "gh" not found in "ab cd ef"
|
|
234
|
+
>>> list(align_tokens(['The', 'plane', ',', 'bound', 'for', 'St', 'Petersburg', ',', 'crashed', 'in', 'Egypt', "'s", 'Sinai', 'desert', 'just', '23', 'minutes', 'after', 'take-off', 'from', 'Sharm', 'el-Sheikh', 'on', 'Saturday', '.'], "The plane, bound for St Petersburg, crashed in Egypt's Sinai desert just 23 minutes after take-off from Sharm el-Sheikh on Saturday."))
|
|
235
|
+
[(0, 3), (4, 9), (9, 10), (11, 16), (17, 20), (21, 23), (24, 34), (34, 35), (36, 43), (44, 46), (47, 52), (52, 54), (55, 60), (61, 67), (68, 72), (73, 75), (76, 83), (84, 89), (90, 98), (99, 103), (104, 109), (110, 119), (120, 122), (123, 131), (131, 132)]
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
Regression Tests: MWETokenizer
|
|
239
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
240
|
+
Pickle an MWETokenizer
|
|
241
|
+
|
|
242
|
+
>>> from nltk.tokenize import MWETokenizer
|
|
243
|
+
>>> import pickle
|
|
244
|
+
|
|
245
|
+
>>> tokenizer = MWETokenizer([('hors', "d'oeuvre")], separator='+')
|
|
246
|
+
>>> p = pickle.dumps(tokenizer)
|
|
247
|
+
>>> unpickeled = pickle.loads(p)
|
|
248
|
+
>>> unpickeled.tokenize("An hors d'oeuvre tonight, sir?".split())
|
|
249
|
+
['An', "hors+d'oeuvre", 'tonight,', 'sir?']
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
Regression Tests: TextTilingTokenizer
|
|
253
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
254
|
+
|
|
255
|
+
TextTilingTokneizer tokenizes text into coherent subtopic chunks based upon Hearst's TextTiling algorithm.
|
|
256
|
+
|
|
257
|
+
>>> from nltk.tokenize import TextTilingTokenizer
|
|
258
|
+
>>> from nltk.corpus import brown
|
|
259
|
+
>>> tt = TextTilingTokenizer()
|
|
260
|
+
>>> tt.tokenize(brown.raw()[0:1000])
|
|
261
|
+
["\n\n\tThe/at Fulton/np-tl County/nn-tl Grand/jj-tl Jury/nn-tl said/vbd Friday/nr an/at investigation/nn of/in Atlanta's/np$ recent/jj primary/nn election/nn produced/vbd ``/`` no/at evidence/nn ''/'' that/cs any/dti irregularities/nns took/vbd place/nn ./.\n\n\n\tThe/at jury/nn further/rbr said/vbd in/in term-end/nn presentments/nns that/cs the/at City/nn-tl Executive/jj-tl Committee/nn-tl ,/, which/wdt had/hvd over-all/jj charge/nn of/in the/at election/nn ,/, ``/`` deserves/vbz the/at praise/nn and/cc thanks/nns of/in the/at City/nn-tl of/in-tl Atlanta/np-tl ''/'' for/in the/at manner/nn in/in which/wdt the/at election/nn was/bedz conducted/vbn ./.\n\n\n\tThe/at September-October/np term/nn jury/nn had/hvd been/ben charged/vbn by/in Fulton/np-tl Superior/jj-tl Court/nn-tl Judge/nn-tl Durwood/np Pye/np to/to investigate/vb reports/nns of/in possible/jj ``/`` irregularities/nns ''/'' in/in the/at hard-fought/jj primary/nn which/wdt was/bedz won/vbn by/in Mayor-nominate/nn-tl Ivan/np Allen/np Jr./"]
|
|
262
|
+
|
|
263
|
+
Test that `ValueError` exceptions are raised when illegal arguments are used.
|
|
264
|
+
|
|
265
|
+
>>> TextTilingTokenizer(similarity_method='foo').tokenize(brown.raw()[0:1000])
|
|
266
|
+
Traceback (most recent call last):
|
|
267
|
+
...
|
|
268
|
+
ValueError: Similarity method foo not recognized
|
|
269
|
+
>>> TextTilingTokenizer(smoothing_method='bar').tokenize(brown.raw()[0:1000])
|
|
270
|
+
Traceback (most recent call last):
|
|
271
|
+
...
|
|
272
|
+
ValueError: Smoothing method bar not recognized
|
|
273
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
Unit tests for nltk.metrics.aline
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import unicode_literals
|
|
7
|
+
|
|
8
|
+
import unittest
|
|
9
|
+
|
|
10
|
+
from nltk.metrics import aline
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class TestAline(unittest.TestCase):
|
|
14
|
+
"""
|
|
15
|
+
Test Aline algorithm for aligning phonetic sequences
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def test_aline(self):
|
|
19
|
+
result = aline.align('θin', 'tenwis')
|
|
20
|
+
expected = [[('θ', 't'), ('i', 'e'), ('n', 'n'), ('-', 'w'), ('-', 'i'), ('-', 's')]]
|
|
21
|
+
|
|
22
|
+
self.assertEqual(result, expected)
|
|
23
|
+
|
|
24
|
+
result = aline.align('jo', 'ʒə')
|
|
25
|
+
expected = [[('j', 'ʒ'), ('o', 'ə')]]
|
|
26
|
+
|
|
27
|
+
self.assertEqual(result, expected)
|
|
28
|
+
|
|
29
|
+
result = aline.align('pematesiweni', 'pematesewen')
|
|
30
|
+
expected = [[('p', 'p'), ('e', 'e'), ('m', 'm'), ('a', 'a'), ('t', 't'), ('e', 'e'),
|
|
31
|
+
('s', 's'), ('i', 'e'), ('w', 'w'), ('e', 'e'), ('n', 'n'), ('i', '-')]]
|
|
32
|
+
|
|
33
|
+
self.assertEqual(result, expected)
|
|
34
|
+
|
|
35
|
+
result = aline.align('tuwθ', 'dentis')
|
|
36
|
+
expected = [[('t', 'd'), ('u', 'e'), ('w', '-'), ('-', 'n'), ('-', 't'), ('-', 'i'), ('θ', 's')]]
|
|
37
|
+
|
|
38
|
+
self.assertEqual(result, expected)
|
|
39
|
+
|
|
40
|
+
def test_aline_delta(self):
|
|
41
|
+
"""
|
|
42
|
+
Test aline for computing the difference between two segments
|
|
43
|
+
"""
|
|
44
|
+
result = aline.delta('p', 'q')
|
|
45
|
+
expected = 20.0
|
|
46
|
+
|
|
47
|
+
self.assertEqual(result, expected)
|
|
48
|
+
|
|
49
|
+
result = aline.delta('a', 'A')
|
|
50
|
+
expected = 0.0
|
|
51
|
+
|
|
52
|
+
self.assertEqual(result, expected)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
from __future__ import absolute_import, unicode_literals
|
|
3
|
+
import unittest
|
|
4
|
+
|
|
5
|
+
from nltk import RegexpParser
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TestChunkRule(unittest.TestCase):
|
|
9
|
+
|
|
10
|
+
def test_tag_pattern2re_pattern_quantifier(self):
|
|
11
|
+
"""Test for bug https://github.com/nltk/nltk/issues/1597
|
|
12
|
+
|
|
13
|
+
Ensures that curly bracket quantifiers can be used inside a chunk rule.
|
|
14
|
+
This type of quantifier has been used for the supplementary example
|
|
15
|
+
in http://www.nltk.org/book/ch07.html#exploring-text-corpora.
|
|
16
|
+
"""
|
|
17
|
+
sent = [('The', 'AT'), ('September-October', 'NP'), ('term', 'NN'), ('jury', 'NN'), ('had', 'HVD'),
|
|
18
|
+
('been', 'BEN'), ('charged', 'VBN'), ('by', 'IN'), ('Fulton', 'NP-TL'), ('Superior', 'JJ-TL'),
|
|
19
|
+
('Court', 'NN-TL'), ('Judge', 'NN-TL'), ('Durwood', 'NP'), ('Pye', 'NP'), ('to', 'TO'),
|
|
20
|
+
('investigate', 'VB'), ('reports', 'NNS'), ('of', 'IN'), ('possible', 'JJ'), ('``', '``'),
|
|
21
|
+
('irregularities', 'NNS'), ("''", "''"), ('in', 'IN'), ('the', 'AT'), ('hard-fought', 'JJ'),
|
|
22
|
+
('primary', 'NN'), ('which', 'WDT'), ('was', 'BEDZ'), ('won', 'VBN'), ('by', 'IN'),
|
|
23
|
+
('Mayor-nominate', 'NN-TL'), ('Ivan', 'NP'), ('Allen', 'NP'), ('Jr.', 'NP'),
|
|
24
|
+
('.', '.')] # source: brown corpus
|
|
25
|
+
cp = RegexpParser('CHUNK: {<N.*>{4,}}')
|
|
26
|
+
tree = cp.parse(sent)
|
|
27
|
+
assert tree.pformat() == """(S
|
|
28
|
+
The/AT
|
|
29
|
+
September-October/NP
|
|
30
|
+
term/NN
|
|
31
|
+
jury/NN
|
|
32
|
+
had/HVD
|
|
33
|
+
been/BEN
|
|
34
|
+
charged/VBN
|
|
35
|
+
by/IN
|
|
36
|
+
Fulton/NP-TL
|
|
37
|
+
Superior/JJ-TL
|
|
38
|
+
(CHUNK Court/NN-TL Judge/NN-TL Durwood/NP Pye/NP)
|
|
39
|
+
to/TO
|
|
40
|
+
investigate/VB
|
|
41
|
+
reports/NNS
|
|
42
|
+
of/IN
|
|
43
|
+
possible/JJ
|
|
44
|
+
``/``
|
|
45
|
+
irregularities/NNS
|
|
46
|
+
''/''
|
|
47
|
+
in/IN
|
|
48
|
+
the/AT
|
|
49
|
+
hard-fought/JJ
|
|
50
|
+
primary/NN
|
|
51
|
+
which/WDT
|
|
52
|
+
was/BEDZ
|
|
53
|
+
won/VBN
|
|
54
|
+
by/IN
|
|
55
|
+
(CHUNK Mayor-nominate/NN-TL Ivan/NP Allen/NP Jr./NP)
|
|
56
|
+
./.)"""
|
|
@@ -7,31 +7,32 @@ from nose import SkipTest
|
|
|
7
7
|
from nltk import classify
|
|
8
8
|
|
|
9
9
|
TRAIN = [
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
(dict(a=1, b=1, c=1), 'y'),
|
|
11
|
+
(dict(a=1, b=1, c=1), 'x'),
|
|
12
|
+
(dict(a=1, b=1, c=0), 'y'),
|
|
13
|
+
(dict(a=0, b=1, c=1), 'x'),
|
|
14
|
+
(dict(a=0, b=1, c=1), 'y'),
|
|
15
|
+
(dict(a=0, b=0, c=1), 'y'),
|
|
16
|
+
(dict(a=0, b=1, c=0), 'x'),
|
|
17
|
+
(dict(a=0, b=0, c=0), 'x'),
|
|
18
|
+
(dict(a=0, b=1, c=1), 'y'),
|
|
19
|
+
]
|
|
20
20
|
|
|
21
21
|
TEST = [
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
(dict(a=1, b=0, c=1)), # unseen
|
|
23
|
+
(dict(a=1, b=0, c=0)), # unseen
|
|
24
|
+
(dict(a=0, b=1, c=1)), # seen 3 times, labels=y,y,x
|
|
25
|
+
(dict(a=0, b=1, c=0)), # seen 1 time, label=x
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
RESULTS = [
|
|
29
|
-
(0.16,
|
|
30
|
-
(0.46,
|
|
31
|
-
(0.41,
|
|
32
|
-
(0.76,
|
|
29
|
+
(0.16, 0.84),
|
|
30
|
+
(0.46, 0.54),
|
|
31
|
+
(0.41, 0.59),
|
|
32
|
+
(0.76, 0.24),
|
|
33
33
|
]
|
|
34
34
|
|
|
35
|
+
|
|
35
36
|
def assert_classifier_correct(algorithm):
|
|
36
37
|
try:
|
|
37
38
|
classifier = classify.MaxentClassifier.train(
|
|
@@ -49,5 +50,6 @@ def assert_classifier_correct(algorithm):
|
|
|
49
50
|
def test_megam():
|
|
50
51
|
assert_classifier_correct('MEGAM')
|
|
51
52
|
|
|
53
|
+
|
|
52
54
|
def test_tadm():
|
|
53
55
|
assert_classifier_correct('TADM')
|