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,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: IEER Corpus Reader
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Steven Bird <stevenbird1@gmail.com>
|
|
5
5
|
# Edward Loper <edloper@gmail.com>
|
|
6
6
|
# URL: <http://nltk.org/>
|
|
@@ -22,6 +22,8 @@ APW_19980429, NYT_19980315, NYT_19980403, and NYT_19980407.
|
|
|
22
22
|
"""
|
|
23
23
|
from __future__ import unicode_literals
|
|
24
24
|
|
|
25
|
+
from six import string_types
|
|
26
|
+
|
|
25
27
|
import nltk
|
|
26
28
|
from nltk import compat
|
|
27
29
|
from nltk.corpus.reader.api import *
|
|
@@ -66,7 +68,7 @@ class IEERCorpusReader(CorpusReader):
|
|
|
66
68
|
"""
|
|
67
69
|
def raw(self, fileids=None):
|
|
68
70
|
if fileids is None: fileids = self._fileids
|
|
69
|
-
elif isinstance(fileids,
|
|
71
|
+
elif isinstance(fileids, string_types): fileids = [fileids]
|
|
70
72
|
return concat([self.open(f).read() for f in fileids])
|
|
71
73
|
|
|
72
74
|
def docs(self, fileids=None):
|
|
@@ -108,4 +110,3 @@ class IEERCorpusReader(CorpusReader):
|
|
|
108
110
|
if line.strip() == '</DOC>': break
|
|
109
111
|
# Return the document
|
|
110
112
|
return ['\n'.join(out)]
|
|
111
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: Indian Language POS-Tagged Corpus Reader
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Steven Bird <stevenbird1@gmail.com>
|
|
5
5
|
# Edward Loper <edloper@gmail.com>
|
|
6
6
|
# URL: <http://nltk.org/>
|
|
@@ -18,7 +18,8 @@ Contents:
|
|
|
18
18
|
- Telugu: IIIT Hyderabad
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
|
-
from
|
|
21
|
+
from six import string_types
|
|
22
|
+
|
|
22
23
|
from nltk.tag import str2tuple, map_tag
|
|
23
24
|
|
|
24
25
|
from nltk.corpus.reader.util import *
|
|
@@ -58,7 +59,7 @@ class IndianCorpusReader(CorpusReader):
|
|
|
58
59
|
|
|
59
60
|
def raw(self, fileids=None):
|
|
60
61
|
if fileids is None: fileids = self._fileids
|
|
61
|
-
elif isinstance(fileids,
|
|
62
|
+
elif isinstance(fileids, string_types): fileids = [fileids]
|
|
62
63
|
return concat([self.open(f).read() for f in fileids])
|
|
63
64
|
|
|
64
65
|
|
|
@@ -82,5 +83,3 @@ class IndianCorpusView(StreamBackedCorpusView):
|
|
|
82
83
|
return [sent]
|
|
83
84
|
else:
|
|
84
85
|
return sent
|
|
85
|
-
|
|
86
|
-
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
# Natural Language Toolkit: IPI PAN Corpus Reader
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Konrad Goluchowski <kodie@mimuw.edu.pl>
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
7
7
|
|
|
8
8
|
import functools
|
|
9
9
|
|
|
10
|
-
from
|
|
10
|
+
from six import string_types
|
|
11
|
+
|
|
11
12
|
from nltk.corpus.reader.util import StreamBackedCorpusView, concat
|
|
12
13
|
from nltk.corpus.reader.api import CorpusReader
|
|
13
14
|
|
|
@@ -93,11 +94,11 @@ class IPIPANCorpusReader(CorpusReader):
|
|
|
93
94
|
if channels is None and domains is None and \
|
|
94
95
|
categories is None:
|
|
95
96
|
return CorpusReader.fileids(self)
|
|
96
|
-
if isinstance(channels,
|
|
97
|
+
if isinstance(channels, string_types):
|
|
97
98
|
channels = [channels]
|
|
98
|
-
if isinstance(domains,
|
|
99
|
+
if isinstance(domains, string_types):
|
|
99
100
|
domains = [domains]
|
|
100
|
-
if isinstance(categories,
|
|
101
|
+
if isinstance(categories, string_types):
|
|
101
102
|
categories = [categories]
|
|
102
103
|
if channels:
|
|
103
104
|
return self._list_morph_files_by('channel', channels)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#! /usr/bin/env python
|
|
2
2
|
# KNB Corpus reader
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Masato Hagiwara <hagisan@gmail.com>
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
from __future__ import print_function
|
|
10
10
|
|
|
11
11
|
import re
|
|
12
|
+
from six import string_types
|
|
12
13
|
|
|
13
|
-
from nltk.compat import string_types
|
|
14
14
|
from nltk.parse import DependencyGraph
|
|
15
15
|
|
|
16
16
|
from nltk.corpus.reader.util import (
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
A reader for corpora whose documents are in MTE format.
|
|
3
3
|
"""
|
|
4
4
|
import os
|
|
5
|
+
import re
|
|
5
6
|
from functools import reduce
|
|
6
|
-
|
|
7
|
+
|
|
8
|
+
from six import string_types
|
|
9
|
+
|
|
7
10
|
from nltk.corpus.reader import concat, TaggedCorpusReader
|
|
8
11
|
from nltk.corpus.reader.xmldocs import XMLCorpusView
|
|
9
12
|
|
|
10
|
-
import xml.etree.ElementTree as etree
|
|
11
|
-
import re
|
|
12
13
|
|
|
13
14
|
def xpath(root, path, ns):
|
|
14
15
|
return root.findall(path, ns)
|
|
@@ -179,7 +180,7 @@ class MTECorpusReader(TaggedCorpusReader):
|
|
|
179
180
|
|
|
180
181
|
def __fileids(self, fileids):
|
|
181
182
|
if fileids is None: fileids = self._fileids
|
|
182
|
-
elif isinstance(fileids,
|
|
183
|
+
elif isinstance(fileids, string_types): fileids = [fileids]
|
|
183
184
|
# filter wrong userinput
|
|
184
185
|
fileids = filter(lambda x : x in self._fileids, fileids)
|
|
185
186
|
# filter multext-east sourcefiles that are not compatible to the teip5 specification
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: NKJP Corpus Reader
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Gabriela Kaczka
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
import functools
|
|
9
9
|
import os
|
|
10
10
|
import tempfile
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
from six import string_types
|
|
12
13
|
|
|
13
14
|
from nltk.corpus.reader.util import concat
|
|
14
15
|
from nltk.corpus.reader.xmldocs import XMLCorpusReader, XMLCorpusView
|
|
@@ -53,7 +54,7 @@ class NKJPCorpusReader(XMLCorpusReader):
|
|
|
53
54
|
x.header(fileids=['WilkDom', '/home/USER/nltk_data/corpora/nkjp/WilkWilczy'])
|
|
54
55
|
x.tagged_words(fileids=['WilkDom', '/home/USER/nltk_data/corpora/nkjp/WilkWilczy'], tags=['subst', 'comp'])
|
|
55
56
|
"""
|
|
56
|
-
if isinstance(fileids,
|
|
57
|
+
if isinstance(fileids, string_types):
|
|
57
58
|
XMLCorpusReader.__init__(self, root, fileids + '.*/header.xml')
|
|
58
59
|
else:
|
|
59
60
|
XMLCorpusReader.__init__(self, root, [fileid + '/header.xml' for fileid in fileids])
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
# Natural Language Toolkit: NomBank Corpus Reader
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Authors: Paul Bedaride <paul.bedaride@gmail.com>
|
|
5
5
|
# Edward Loper <edloper@gmail.com>
|
|
6
6
|
# URL: <http://nltk.org/>
|
|
7
7
|
# For license information, see LICENSE.TXT
|
|
8
8
|
|
|
9
9
|
from __future__ import unicode_literals
|
|
10
|
+
from xml.etree import ElementTree
|
|
11
|
+
from functools import total_ordering
|
|
12
|
+
|
|
13
|
+
from six import string_types
|
|
10
14
|
|
|
11
15
|
from nltk.tree import Tree
|
|
12
|
-
from xml.etree import ElementTree
|
|
13
16
|
from nltk.internals import raise_unorderable_types
|
|
14
|
-
from nltk.compat import
|
|
17
|
+
from nltk.compat import python_2_unicode_compatible
|
|
15
18
|
|
|
16
19
|
from nltk.corpus.reader.util import *
|
|
17
20
|
from nltk.corpus.reader.api import *
|
|
@@ -66,7 +69,7 @@ class NombankCorpusReader(CorpusReader):
|
|
|
66
69
|
:return: the text contents of the given fileids, as a single string.
|
|
67
70
|
"""
|
|
68
71
|
if fileids is None: fileids = self._fileids
|
|
69
|
-
elif isinstance(fileids,
|
|
72
|
+
elif isinstance(fileids, string_types): fileids = [fileids]
|
|
70
73
|
return concat([self.open(f).read() for f in fileids])
|
|
71
74
|
|
|
72
75
|
def instances(self, baseform=None):
|
|
@@ -108,9 +111,7 @@ class NombankCorpusReader(CorpusReader):
|
|
|
108
111
|
for roleset in etree.findall('predicate/roleset'):
|
|
109
112
|
if roleset.attrib['id'] == roleset_id:
|
|
110
113
|
return roleset
|
|
111
|
-
|
|
112
|
-
raise ValueError('Roleset %s not found in %s' %
|
|
113
|
-
(roleset_id, framefile))
|
|
114
|
+
raise ValueError('Roleset %s not found in %s' % (roleset_id, framefile))
|
|
114
115
|
|
|
115
116
|
def rolesets(self, baseform=None):
|
|
116
117
|
"""
|
|
@@ -418,4 +419,3 @@ class NombankTreePointer(NombankPointer):
|
|
|
418
419
|
else:
|
|
419
420
|
wordnum += 1
|
|
420
421
|
stack.pop()
|
|
421
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: Opinion Lexicon Corpus Reader
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Pierpaolo Pantone <24alsecondo@gmail.com>
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
@@ -27,8 +27,8 @@ Related papers:
|
|
|
27
27
|
Comparing Opinions on the Web". Proceedings of the 14th International World
|
|
28
28
|
Wide Web conference (WWW-2005), May 10-14, 2005, Chiba, Japan.
|
|
29
29
|
"""
|
|
30
|
+
from six import string_types
|
|
30
31
|
|
|
31
|
-
from nltk.compat import string_types
|
|
32
32
|
from nltk.corpus.reader import WordListCorpusReader
|
|
33
33
|
from nltk.corpus.reader.api import *
|
|
34
34
|
|
|
@@ -83,7 +83,7 @@ class OpinionLexiconCorpusReader(WordListCorpusReader):
|
|
|
83
83
|
:rtype: list(str)
|
|
84
84
|
"""
|
|
85
85
|
if fileids is None: fileids = self._fileids
|
|
86
|
-
elif isinstance(fileids,
|
|
86
|
+
elif isinstance(fileids, string_types): fileids = [fileids]
|
|
87
87
|
return concat([self.CorpusView(path, self._read_word_block, encoding=enc)
|
|
88
88
|
for (path, enc, fileid) in self.abspaths(fileids, True, True)])
|
|
89
89
|
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# Natural Language Toolkit:
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
|
+
# Author: Piotr Kasprzyk <p.j.kasprzyk@gmail.com>
|
|
5
|
+
# URL: <http://nltk.org/>
|
|
6
|
+
# For license information, see LICENSE.TXT
|
|
7
|
+
|
|
8
|
+
from six import string_types
|
|
9
|
+
|
|
10
|
+
from nltk.corpus.reader.api import *
|
|
11
|
+
from nltk.corpus.reader.xmldocs import XMLCorpusReader
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
PARA = re.compile(r'<p(?: [^>]*){0,1}>(.*?)</p>')
|
|
15
|
+
SENT = re.compile(r'<s(?: [^>]*){0,1}>(.*?)</s>')
|
|
16
|
+
|
|
17
|
+
TAGGEDWORD = re.compile(r'<([wc](?: [^>]*){0,1}>)(.*?)</[wc]>')
|
|
18
|
+
WORD = re.compile(r'<[wc](?: [^>]*){0,1}>(.*?)</[wc]>')
|
|
19
|
+
|
|
20
|
+
TYPE = re.compile(r'type="(.*?)"')
|
|
21
|
+
ANA = re.compile(r'ana="(.*?)"')
|
|
22
|
+
|
|
23
|
+
TEXTID = re.compile(r'text id="(.*?)"')
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class TEICorpusView(StreamBackedCorpusView):
|
|
27
|
+
def __init__(self, corpus_file,
|
|
28
|
+
tagged, group_by_sent, group_by_para,
|
|
29
|
+
tagset=None, head_len=0, textids=None):
|
|
30
|
+
|
|
31
|
+
self._tagged = tagged
|
|
32
|
+
self._textids = textids
|
|
33
|
+
|
|
34
|
+
self._group_by_sent = group_by_sent
|
|
35
|
+
self._group_by_para = group_by_para
|
|
36
|
+
# WARNING -- skip header
|
|
37
|
+
StreamBackedCorpusView.__init__(self, corpus_file, startpos=head_len)
|
|
38
|
+
|
|
39
|
+
_pagesize = 4096
|
|
40
|
+
|
|
41
|
+
def read_block(self, stream):
|
|
42
|
+
block = stream.readlines(self._pagesize)
|
|
43
|
+
block = concat(block)
|
|
44
|
+
while (block.count('<text id') > block.count('</text>')) \
|
|
45
|
+
or block.count('<text id') == 0:
|
|
46
|
+
tmp = stream.readline()
|
|
47
|
+
if len(tmp) <= 0:
|
|
48
|
+
break
|
|
49
|
+
block += tmp
|
|
50
|
+
|
|
51
|
+
block = block.replace('\n', '')
|
|
52
|
+
|
|
53
|
+
textids = TEXTID.findall(block)
|
|
54
|
+
if self._textids:
|
|
55
|
+
for tid in textids:
|
|
56
|
+
if tid not in self._textids:
|
|
57
|
+
beg = block.find(tid) - 1
|
|
58
|
+
end = block[beg:].find('</text>') + len('</text>')
|
|
59
|
+
block = block[:beg] + block[beg + end:]
|
|
60
|
+
|
|
61
|
+
output = []
|
|
62
|
+
for para_str in PARA.findall(block):
|
|
63
|
+
para = []
|
|
64
|
+
for sent_str in SENT.findall(para_str):
|
|
65
|
+
if not self._tagged:
|
|
66
|
+
sent = WORD.findall(sent_str)
|
|
67
|
+
else:
|
|
68
|
+
sent = list(
|
|
69
|
+
map(self._parse_tag, TAGGEDWORD.findall(sent_str)))
|
|
70
|
+
if self._group_by_sent:
|
|
71
|
+
para.append(sent)
|
|
72
|
+
else:
|
|
73
|
+
para.extend(sent)
|
|
74
|
+
if self._group_by_para:
|
|
75
|
+
output.append(para)
|
|
76
|
+
else:
|
|
77
|
+
output.extend(para)
|
|
78
|
+
return output
|
|
79
|
+
|
|
80
|
+
def _parse_tag(self, tag_word_tuple):
|
|
81
|
+
(tag, word) = tag_word_tuple
|
|
82
|
+
if tag.startswith('w'):
|
|
83
|
+
tag = ANA.search(tag).group(1)
|
|
84
|
+
else: # tag.startswith('c')
|
|
85
|
+
tag = TYPE.search(tag).group(1)
|
|
86
|
+
return word, tag
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class Pl196xCorpusReader(CategorizedCorpusReader, XMLCorpusReader):
|
|
90
|
+
head_len = 2770
|
|
91
|
+
|
|
92
|
+
def __init__(self, *args, **kwargs):
|
|
93
|
+
if 'textid_file' in kwargs:
|
|
94
|
+
self._textids = kwargs['textid_file']
|
|
95
|
+
else:
|
|
96
|
+
self._textids = None
|
|
97
|
+
|
|
98
|
+
XMLCorpusReader.__init__(self, *args)
|
|
99
|
+
CategorizedCorpusReader.__init__(self, kwargs)
|
|
100
|
+
|
|
101
|
+
self._init_textids()
|
|
102
|
+
|
|
103
|
+
def _init_textids(self):
|
|
104
|
+
self._f2t = defaultdict(list)
|
|
105
|
+
self._t2f = defaultdict(list)
|
|
106
|
+
if self._textids is not None:
|
|
107
|
+
with open(self._textids) as fp:
|
|
108
|
+
for line in fp:
|
|
109
|
+
line = line.strip()
|
|
110
|
+
file_id, text_ids = line.split(' ', 1)
|
|
111
|
+
if file_id not in self.fileids():
|
|
112
|
+
raise ValueError(
|
|
113
|
+
'In text_id mapping file %s: %s not found'
|
|
114
|
+
% (self._textids, file_id)
|
|
115
|
+
)
|
|
116
|
+
for text_id in text_ids.split(self._delimiter):
|
|
117
|
+
self._add_textids(file_id, text_id)
|
|
118
|
+
|
|
119
|
+
def _add_textids(self, file_id, text_id):
|
|
120
|
+
self._f2t[file_id].append(text_id)
|
|
121
|
+
self._t2f[text_id].append(file_id)
|
|
122
|
+
|
|
123
|
+
def _resolve(self, fileids, categories, textids=None):
|
|
124
|
+
tmp = None
|
|
125
|
+
if len(filter(lambda accessor: accessor is None,
|
|
126
|
+
(fileids, categories, textids))) != 1:
|
|
127
|
+
|
|
128
|
+
raise ValueError('Specify exactly one of: fileids, '
|
|
129
|
+
'categories or textids')
|
|
130
|
+
|
|
131
|
+
if fileids is not None:
|
|
132
|
+
return fileids, None
|
|
133
|
+
|
|
134
|
+
if categories is not None:
|
|
135
|
+
return self.fileids(categories), None
|
|
136
|
+
|
|
137
|
+
if textids is not None:
|
|
138
|
+
if isinstance(textids, string_types):
|
|
139
|
+
textids = [textids]
|
|
140
|
+
files = sum((self._t2f[t] for t in textids), [])
|
|
141
|
+
tdict = dict()
|
|
142
|
+
for f in files:
|
|
143
|
+
tdict[f] = (set(self._f2t[f]) & set(textids))
|
|
144
|
+
return files, tdict
|
|
145
|
+
|
|
146
|
+
def decode_tag(self, tag):
|
|
147
|
+
# to be implemented
|
|
148
|
+
return tag
|
|
149
|
+
|
|
150
|
+
def textids(self, fileids=None, categories=None):
|
|
151
|
+
"""
|
|
152
|
+
In the pl196x corpus each category is stored in single
|
|
153
|
+
file and thus both methods provide identical functionality. In order
|
|
154
|
+
to accommodate finer granularity, a non-standard textids() method was
|
|
155
|
+
implemented. All the main functions can be supplied with a list
|
|
156
|
+
of required chunks---giving much more control to the user.
|
|
157
|
+
"""
|
|
158
|
+
fileids, _ = self._resolve(fileids, categories)
|
|
159
|
+
if fileids is None: return sorted(self._t2f)
|
|
160
|
+
|
|
161
|
+
if isinstance(fileids, string_types):
|
|
162
|
+
fileids = [fileids]
|
|
163
|
+
return sorted(sum((self._f2t[d] for d in fileids), []))
|
|
164
|
+
|
|
165
|
+
def words(self, fileids=None, categories=None, textids=None):
|
|
166
|
+
fileids, textids = self._resolve(fileids, categories, textids)
|
|
167
|
+
if fileids is None:
|
|
168
|
+
fileids = self._fileids
|
|
169
|
+
elif isinstance(fileids, string_types):
|
|
170
|
+
fileids = [fileids]
|
|
171
|
+
|
|
172
|
+
if textids:
|
|
173
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
174
|
+
False, False, False,
|
|
175
|
+
head_len=self.head_len,
|
|
176
|
+
textids=textids[fileid])
|
|
177
|
+
for fileid in fileids])
|
|
178
|
+
else:
|
|
179
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
180
|
+
False, False, False,
|
|
181
|
+
head_len=self.head_len)
|
|
182
|
+
for fileid in fileids])
|
|
183
|
+
|
|
184
|
+
def sents(self, fileids=None, categories=None, textids=None):
|
|
185
|
+
fileids, textids = self._resolve(fileids, categories, textids)
|
|
186
|
+
if fileids is None:
|
|
187
|
+
fileids = self._fileids
|
|
188
|
+
elif isinstance(fileids, string_types):
|
|
189
|
+
fileids = [fileids]
|
|
190
|
+
|
|
191
|
+
if textids:
|
|
192
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
193
|
+
False, True, False,
|
|
194
|
+
head_len=self.head_len,
|
|
195
|
+
textids=textids[fileid])
|
|
196
|
+
for fileid in fileids])
|
|
197
|
+
else:
|
|
198
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
199
|
+
False, True, False,
|
|
200
|
+
head_len=self.head_len)
|
|
201
|
+
for fileid in fileids])
|
|
202
|
+
|
|
203
|
+
def paras(self, fileids=None, categories=None, textids=None):
|
|
204
|
+
fileids, textids = self._resolve(fileids, categories, textids)
|
|
205
|
+
if fileids is None:
|
|
206
|
+
fileids = self._fileids
|
|
207
|
+
elif isinstance(fileids, string_types):
|
|
208
|
+
fileids = [fileids]
|
|
209
|
+
|
|
210
|
+
if textids:
|
|
211
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
212
|
+
False, True, True,
|
|
213
|
+
head_len=self.head_len,
|
|
214
|
+
textids=textids[fileid])
|
|
215
|
+
for fileid in fileids])
|
|
216
|
+
else:
|
|
217
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
218
|
+
False, True, True,
|
|
219
|
+
head_len=self.head_len)
|
|
220
|
+
for fileid in fileids])
|
|
221
|
+
|
|
222
|
+
def tagged_words(self, fileids=None, categories=None, textids=None):
|
|
223
|
+
fileids, textids = self._resolve(fileids, categories, textids)
|
|
224
|
+
if fileids is None:
|
|
225
|
+
fileids = self._fileids
|
|
226
|
+
elif isinstance(fileids, string_types):
|
|
227
|
+
fileids = [fileids]
|
|
228
|
+
|
|
229
|
+
if textids:
|
|
230
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
231
|
+
True, False, False,
|
|
232
|
+
head_len=self.head_len,
|
|
233
|
+
textids=textids[fileid])
|
|
234
|
+
for fileid in fileids])
|
|
235
|
+
else:
|
|
236
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
237
|
+
True, False, False,
|
|
238
|
+
head_len=self.head_len)
|
|
239
|
+
for fileid in fileids])
|
|
240
|
+
|
|
241
|
+
def tagged_sents(self, fileids=None, categories=None, textids=None):
|
|
242
|
+
fileids, textids = self._resolve(fileids, categories, textids)
|
|
243
|
+
if fileids is None:
|
|
244
|
+
fileids = self._fileids
|
|
245
|
+
elif isinstance(fileids, string_types):
|
|
246
|
+
fileids = [fileids]
|
|
247
|
+
|
|
248
|
+
if textids:
|
|
249
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
250
|
+
True, True, False,
|
|
251
|
+
head_len=self.head_len,
|
|
252
|
+
textids=textids[fileid])
|
|
253
|
+
for fileid in fileids])
|
|
254
|
+
else:
|
|
255
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
256
|
+
True, True, False,
|
|
257
|
+
head_len=self.head_len)
|
|
258
|
+
for fileid in fileids])
|
|
259
|
+
|
|
260
|
+
def tagged_paras(self, fileids=None, categories=None, textids=None):
|
|
261
|
+
fileids, textids = self._resolve(fileids, categories, textids)
|
|
262
|
+
if fileids is None:
|
|
263
|
+
fileids = self._fileids
|
|
264
|
+
elif isinstance(fileids, string_types):
|
|
265
|
+
fileids = [fileids]
|
|
266
|
+
|
|
267
|
+
if textids:
|
|
268
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
269
|
+
True, True, True,
|
|
270
|
+
head_len=self.head_len,
|
|
271
|
+
textids=textids[fileid])
|
|
272
|
+
for fileid in fileids])
|
|
273
|
+
else:
|
|
274
|
+
return concat([TEICorpusView(self.abspath(fileid),
|
|
275
|
+
True, True, True,
|
|
276
|
+
head_len=self.head_len)
|
|
277
|
+
for fileid in fileids])
|
|
278
|
+
|
|
279
|
+
def xml(self, fileids=None, categories=None):
|
|
280
|
+
fileids, _ = self._resolve(fileids, categories)
|
|
281
|
+
if len(fileids) == 1:
|
|
282
|
+
return XMLCorpusReader.xml(self, fileids[0])
|
|
283
|
+
else:
|
|
284
|
+
raise TypeError('Expected a single file')
|
|
285
|
+
|
|
286
|
+
def raw(self, fileids=None, categories=None):
|
|
287
|
+
fileids, _ = self._resolve(fileids, categories)
|
|
288
|
+
if fileids is None:
|
|
289
|
+
fileids = self._fileids
|
|
290
|
+
elif isinstance(fileids, string_types):
|
|
291
|
+
fileids = [fileids]
|
|
292
|
+
return concat([self.open(f).read() for f in fileids])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: Plaintext Corpus Reader
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Steven Bird <stevenbird1@gmail.com>
|
|
5
5
|
# Edward Loper <edloper@gmail.com>
|
|
6
6
|
# Nitin Madnani <nmadnani@umiacs.umd.edu>
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
A reader for corpora that consist of plaintext documents.
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
|
+
from six import string_types
|
|
14
15
|
import codecs
|
|
15
16
|
|
|
16
17
|
import nltk.data
|
|
17
|
-
from nltk.compat import string_types
|
|
18
18
|
from nltk.tokenize import *
|
|
19
19
|
|
|
20
20
|
from nltk.corpus.reader.util import *
|
|
@@ -75,7 +75,7 @@ class PlaintextCorpusReader(CorpusReader):
|
|
|
75
75
|
for f in fileids:
|
|
76
76
|
_fin = self.open(f)
|
|
77
77
|
raw_texts.append(_fin.read())
|
|
78
|
-
_fin.close()
|
|
78
|
+
_fin.close()
|
|
79
79
|
return concat(raw_texts)
|
|
80
80
|
|
|
81
81
|
def words(self, fileids=None):
|
|
@@ -230,4 +230,3 @@ class EuroparlCorpusReader(PlaintextCorpusReader):
|
|
|
230
230
|
|
|
231
231
|
def paras(self, fileids=None):
|
|
232
232
|
raise NotImplementedError('The Europarl corpus reader does not support paragraphs. Please use chapters() instead.')
|
|
233
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: PP Attachment Corpus Reader
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Steven Bird <stevenbird1@gmail.com>
|
|
5
5
|
# Edward Loper <edloper@gmail.com>
|
|
6
6
|
# URL: <http://nltk.org/>
|
|
@@ -39,6 +39,8 @@ of the author.
|
|
|
39
39
|
"""
|
|
40
40
|
from __future__ import unicode_literals
|
|
41
41
|
|
|
42
|
+
from six import string_types
|
|
43
|
+
|
|
42
44
|
from nltk import compat
|
|
43
45
|
from nltk.corpus.reader.util import *
|
|
44
46
|
from nltk.corpus.reader.api import *
|
|
@@ -76,7 +78,7 @@ class PPAttachmentCorpusReader(CorpusReader):
|
|
|
76
78
|
|
|
77
79
|
def raw(self, fileids=None):
|
|
78
80
|
if fileids is None: fileids = self._fileids
|
|
79
|
-
elif isinstance(fileids,
|
|
81
|
+
elif isinstance(fileids, string_types): fileids = [fileids]
|
|
80
82
|
return concat([self.open(f).read() for f in fileids])
|
|
81
83
|
|
|
82
84
|
def _read_tuple_block(self, stream):
|
|
@@ -92,4 +94,3 @@ class PPAttachmentCorpusReader(CorpusReader):
|
|
|
92
94
|
return [PPAttachment(*line.split())]
|
|
93
95
|
else:
|
|
94
96
|
return []
|
|
95
|
-
|