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: Concordance Application
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Sumukh Ghodke <sghodke@csse.unimelb.edu.au>
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
@@ -9,14 +9,12 @@
|
|
|
9
9
|
import nltk.compat
|
|
10
10
|
import re
|
|
11
11
|
import threading
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Label, Menu, OptionMenu, SUNKEN, Scrollbar,
|
|
19
|
-
StringVar, Text)
|
|
12
|
+
|
|
13
|
+
from six.moves import queue as q
|
|
14
|
+
from six.moves.tkinter_font import Font
|
|
15
|
+
from six.moves.tkinter import (Tk, Button, END, Entry, Frame, IntVar, LEFT,
|
|
16
|
+
Label, Menu, OptionMenu, SUNKEN, Scrollbar,
|
|
17
|
+
StringVar, Text)
|
|
20
18
|
|
|
21
19
|
from nltk.corpus import (cess_cat, brown, nps_chat, treebank, sinica_treebank,
|
|
22
20
|
alpino, indian, floresta, mac_morpho, cess_esp)
|
|
@@ -240,7 +238,7 @@ class ConcordanceSearchView(object):
|
|
|
240
238
|
vscrollbar = Scrollbar(i1, borderwidth=1)
|
|
241
239
|
hscrollbar = Scrollbar(i2, borderwidth=1, orient='horiz')
|
|
242
240
|
self.results_box = Text(i1,
|
|
243
|
-
font=
|
|
241
|
+
font=Font(family='courier', size='16'),
|
|
244
242
|
state='disabled', borderwidth=1,
|
|
245
243
|
yscrollcommand=vscrollbar.set,
|
|
246
244
|
xscrollcommand=hscrollbar.set, wrap='none', width='40', height = '20', exportselection=1)
|
|
@@ -280,7 +278,7 @@ class ConcordanceSearchView(object):
|
|
|
280
278
|
ABOUT = ("NLTK Concordance Search Demo\n")
|
|
281
279
|
TITLE = 'About: NLTK Concordance Search Demo'
|
|
282
280
|
try:
|
|
283
|
-
from
|
|
281
|
+
from six.moves.tkinter_messagebox import Message
|
|
284
282
|
Message(message=ABOUT, title=TITLE, parent=self.main_frame).show()
|
|
285
283
|
except:
|
|
286
284
|
ShowText(self.top, TITLE, ABOUT)
|
|
@@ -7,8 +7,9 @@ Finding (and Replacing) Nemo
|
|
|
7
7
|
Instant Regular Expressions
|
|
8
8
|
Created by Aristide Grange
|
|
9
9
|
"""
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
|
|
11
|
+
from six.moves.tkinter import (Frame, Label, PhotoImage, Scrollbar, Text, Tk,
|
|
12
|
+
SEL_FIRST, SEL_LAST)
|
|
12
13
|
import re
|
|
13
14
|
import itertools
|
|
14
15
|
|
|
@@ -50,30 +51,30 @@ textParams = {
|
|
|
50
51
|
|
|
51
52
|
class Zone:
|
|
52
53
|
def __init__(self, image, initialField, initialText):
|
|
53
|
-
frm =
|
|
54
|
+
frm = Frame(root)
|
|
54
55
|
frm.config(background="white")
|
|
55
|
-
self.image =
|
|
56
|
-
self.imageDimmed =
|
|
57
|
-
self.img =
|
|
56
|
+
self.image = PhotoImage(format='gif',data=images[image.upper()])
|
|
57
|
+
self.imageDimmed = PhotoImage(format='gif',data=images[image])
|
|
58
|
+
self.img = Label(frm)
|
|
58
59
|
self.img.config(borderwidth=0)
|
|
59
60
|
self.img.pack(side = "left")
|
|
60
|
-
self.fld =
|
|
61
|
+
self.fld = Text(frm, **fieldParams)
|
|
61
62
|
self.initScrollText(frm,self.fld,initialField)
|
|
62
|
-
frm =
|
|
63
|
-
self.txt =
|
|
63
|
+
frm = Frame(root)
|
|
64
|
+
self.txt = Text(frm, **textParams)
|
|
64
65
|
self.initScrollText(frm,self.txt,initialText)
|
|
65
66
|
for i in range(2):
|
|
66
67
|
self.txt.tag_config(colors[i], background = colors[i])
|
|
67
68
|
self.txt.tag_config("emph"+colors[i], foreground = emphColors[i])
|
|
68
69
|
def initScrollText(self,frm,txt,contents):
|
|
69
|
-
scl =
|
|
70
|
+
scl = Scrollbar(frm)
|
|
70
71
|
scl.config(command = txt.yview)
|
|
71
72
|
scl.pack(side="right",fill="y")
|
|
72
73
|
txt.pack(side = "left", expand=True, fill="x")
|
|
73
74
|
txt.config(yscrollcommand = scl.set)
|
|
74
75
|
txt.insert("1.0",contents)
|
|
75
76
|
frm.pack(fill = "x")
|
|
76
|
-
|
|
77
|
+
Frame(height=2, bd=1, relief="ridge").pack(fill="x")
|
|
77
78
|
def refresh(self):
|
|
78
79
|
self.colorCycle = itertools.cycle(colors)
|
|
79
80
|
try:
|
|
@@ -99,12 +100,12 @@ class FindZone(Zone):
|
|
|
99
100
|
self.rex = re.compile("") # default value in case of misformed regexp
|
|
100
101
|
self.rex = re.compile(self.fld.get("1.0","end")[:-1],re.MULTILINE)
|
|
101
102
|
try:
|
|
102
|
-
re.compile("(?P<emph>%s)" % self.fld.get(
|
|
103
|
-
|
|
103
|
+
re.compile("(?P<emph>%s)" % self.fld.get(SEL_FIRST,
|
|
104
|
+
SEL_LAST))
|
|
104
105
|
self.rexSel = re.compile("%s(?P<emph>%s)%s" % (
|
|
105
|
-
self.fld.get("1.0",
|
|
106
|
-
self.fld.get(
|
|
107
|
-
self.fld.get(
|
|
106
|
+
self.fld.get("1.0",SEL_FIRST),
|
|
107
|
+
self.fld.get(SEL_FIRST,SEL_LAST),
|
|
108
|
+
self.fld.get(SEL_LAST,"end")[:-1],
|
|
108
109
|
),re.MULTILINE)
|
|
109
110
|
except:
|
|
110
111
|
self.rexSel = self.rex
|
|
@@ -134,7 +135,7 @@ def launchRefresh(_):
|
|
|
134
135
|
|
|
135
136
|
def app():
|
|
136
137
|
global root, sz, rz, rex0
|
|
137
|
-
root =
|
|
138
|
+
root = Tk()
|
|
138
139
|
root.resizable(height=False,width=True)
|
|
139
140
|
root.title(windowTitle)
|
|
140
141
|
root.minsize(width=250,height=0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: Recursive Descent Parser Application
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Edward Loper <edloper@gmail.com>
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
@@ -64,10 +64,10 @@ Keyboard Shortcuts::
|
|
|
64
64
|
[q]\t Quit
|
|
65
65
|
"""
|
|
66
66
|
from __future__ import division
|
|
67
|
-
|
|
68
|
-
import
|
|
69
|
-
from tkinter import (Listbox, IntVar, Button,
|
|
70
|
-
|
|
67
|
+
|
|
68
|
+
from six.moves.tkinter_font import Font
|
|
69
|
+
from six.moves.tkinter import (Listbox, IntVar, Button, Frame, Label, Menu,
|
|
70
|
+
Scrollbar, Tk)
|
|
71
71
|
|
|
72
72
|
from nltk.tree import Tree
|
|
73
73
|
from nltk.util import in_idle
|
|
@@ -129,20 +129,20 @@ class RecursiveDescentApp(object):
|
|
|
129
129
|
|
|
130
130
|
def _init_fonts(self, root):
|
|
131
131
|
# See: <http://www.astro.washington.edu/owen/ROTKFolklore.html>
|
|
132
|
-
self._sysfont =
|
|
132
|
+
self._sysfont = Font(font=Button()["font"])
|
|
133
133
|
root.option_add("*Font", self._sysfont)
|
|
134
134
|
|
|
135
135
|
# TWhat's our font size (default=same as sysfont)
|
|
136
136
|
self._size = IntVar(root)
|
|
137
137
|
self._size.set(self._sysfont.cget('size'))
|
|
138
138
|
|
|
139
|
-
self._boldfont =
|
|
139
|
+
self._boldfont = Font(family='helvetica', weight='bold',
|
|
140
140
|
size=self._size.get())
|
|
141
|
-
self._font =
|
|
141
|
+
self._font = Font(family='helvetica',
|
|
142
142
|
size=self._size.get())
|
|
143
143
|
if self._size.get() < 0: big = self._size.get()-2
|
|
144
144
|
else: big = self._size.get()+2
|
|
145
|
-
self._bigfont =
|
|
145
|
+
self._bigfont = Font(family='helvetica', weight='bold',
|
|
146
146
|
size=big)
|
|
147
147
|
|
|
148
148
|
def _init_grammar(self, parent):
|
|
@@ -585,7 +585,7 @@ class RecursiveDescentApp(object):
|
|
|
585
585
|
"Written by Edward Loper")
|
|
586
586
|
TITLE = 'About: Recursive Descent Parser Application'
|
|
587
587
|
try:
|
|
588
|
-
from
|
|
588
|
+
from six.moves.tkinter_messagebox import Message
|
|
589
589
|
Message(message=ABOUT, title=TITLE).show()
|
|
590
590
|
except:
|
|
591
591
|
ShowText(self._top, TITLE, ABOUT)
|
|
@@ -890,5 +890,3 @@ if __name__ == '__main__':
|
|
|
890
890
|
app()
|
|
891
891
|
|
|
892
892
|
__all__ = ['app']
|
|
893
|
-
|
|
894
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: Shift-Reduce Parser Application
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Edward Loper <edloper@gmail.com>
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
@@ -59,8 +59,19 @@ Keyboard Shortcuts::
|
|
|
59
59
|
[h]\t Help
|
|
60
60
|
[Ctrl-p]\t Print
|
|
61
61
|
[q]\t Quit
|
|
62
|
+
|
|
62
63
|
"""
|
|
63
64
|
|
|
65
|
+
from six.moves.tkinter_font import Font
|
|
66
|
+
from six.moves.tkinter import (IntVar, Listbox, Button, Frame, Label, Menu,
|
|
67
|
+
Scrollbar, Tk)
|
|
68
|
+
|
|
69
|
+
from nltk.tree import Tree
|
|
70
|
+
from nltk.parse import SteppingShiftReduceParser
|
|
71
|
+
from nltk.util import in_idle
|
|
72
|
+
from nltk.draw.util import CanvasFrame, EntryDialog, ShowText, TextWidget
|
|
73
|
+
from nltk.draw import CFGEditor, TreeSegmentWidget, tree_to_treesegment
|
|
74
|
+
|
|
64
75
|
"""
|
|
65
76
|
Possible future improvements:
|
|
66
77
|
- button/window to change and/or select text. Just pop up a window
|
|
@@ -73,17 +84,6 @@ Possible future improvements:
|
|
|
73
84
|
responsible for that.
|
|
74
85
|
"""
|
|
75
86
|
|
|
76
|
-
import nltk.compat
|
|
77
|
-
import tkinter.font
|
|
78
|
-
from tkinter import (IntVar, Listbox, Button, Frame, Label, Menu,
|
|
79
|
-
Scrollbar, Tk)
|
|
80
|
-
|
|
81
|
-
from nltk.tree import Tree
|
|
82
|
-
from nltk.parse import SteppingShiftReduceParser
|
|
83
|
-
from nltk.util import in_idle
|
|
84
|
-
from nltk.draw.util import CanvasFrame, EntryDialog, ShowText, TextWidget
|
|
85
|
-
from nltk.draw import CFGEditor, TreeSegmentWidget, tree_to_treesegment
|
|
86
|
-
|
|
87
87
|
class ShiftReduceApp(object):
|
|
88
88
|
"""
|
|
89
89
|
A graphical tool for exploring the shift-reduce parser. The tool
|
|
@@ -138,16 +138,16 @@ class ShiftReduceApp(object):
|
|
|
138
138
|
|
|
139
139
|
def _init_fonts(self, root):
|
|
140
140
|
# See: <http://www.astro.washington.edu/owen/ROTKFolklore.html>
|
|
141
|
-
self._sysfont =
|
|
141
|
+
self._sysfont = Font(font=Button()["font"])
|
|
142
142
|
root.option_add("*Font", self._sysfont)
|
|
143
143
|
|
|
144
144
|
# TWhat's our font size (default=same as sysfont)
|
|
145
145
|
self._size = IntVar(root)
|
|
146
146
|
self._size.set(self._sysfont.cget('size'))
|
|
147
147
|
|
|
148
|
-
self._boldfont =
|
|
148
|
+
self._boldfont = Font(family='helvetica', weight='bold',
|
|
149
149
|
size=self._size.get())
|
|
150
|
-
self._font =
|
|
150
|
+
self._font = Font(family='helvetica',
|
|
151
151
|
size=self._size.get())
|
|
152
152
|
|
|
153
153
|
def _init_grammar(self, parent):
|
|
@@ -552,7 +552,7 @@ class ShiftReduceApp(object):
|
|
|
552
552
|
"Written by Edward Loper")
|
|
553
553
|
TITLE = 'About: Shift-Reduce Parser Application'
|
|
554
554
|
try:
|
|
555
|
-
from
|
|
555
|
+
from six.moves.tkinter_messagebox import Message
|
|
556
556
|
Message(message=ABOUT, title=TITLE).show()
|
|
557
557
|
except:
|
|
558
558
|
ShowText(self._top, TITLE, ABOUT)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: WordNet Browser Application
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Jussi Salmela <jtsalmela@users.sourceforge.net>
|
|
5
5
|
# Paul Bone <pbone@students.csse.unimelb.edu.au>
|
|
6
6
|
# URL: <http://nltk.org/>
|
|
@@ -63,6 +63,8 @@ import base64
|
|
|
63
63
|
import pickle
|
|
64
64
|
import copy
|
|
65
65
|
|
|
66
|
+
from six.moves.urllib.parse import unquote_plus
|
|
67
|
+
|
|
66
68
|
from nltk import compat
|
|
67
69
|
from nltk.corpus import wordnet as wn
|
|
68
70
|
from nltk.corpus.reader.wordnet import Synset, Lemma
|
|
@@ -95,7 +97,7 @@ class MyServerHandler(BaseHTTPRequestHandler):
|
|
|
95
97
|
def do_GET(self):
|
|
96
98
|
global firstClient
|
|
97
99
|
sp = self.path[1:]
|
|
98
|
-
if
|
|
100
|
+
if unquote_plus(sp) == 'SHUTDOWN THE SERVER':
|
|
99
101
|
if server_mode:
|
|
100
102
|
page = "Server must be killed with SIGTERM."
|
|
101
103
|
type = "text/plain"
|
|
@@ -114,7 +116,7 @@ class MyServerHandler(BaseHTTPRequestHandler):
|
|
|
114
116
|
|
|
115
117
|
elif sp.endswith('.html'): # Trying to fetch a HTML file TODO:
|
|
116
118
|
type = 'text/html'
|
|
117
|
-
usp =
|
|
119
|
+
usp = unquote_plus(sp)
|
|
118
120
|
if usp == 'NLTK Wordnet Browser Database Info.html':
|
|
119
121
|
word = '* Database Info *'
|
|
120
122
|
if os.path.isfile(usp):
|
|
@@ -279,7 +281,6 @@ WordNet Browser Utilities.
|
|
|
279
281
|
This provides a backend to both wxbrowse and browserver.py.
|
|
280
282
|
"""
|
|
281
283
|
|
|
282
|
-
|
|
283
284
|
################################################################################
|
|
284
285
|
#
|
|
285
286
|
# Main logic for wordnet browser.
|
|
@@ -697,11 +698,11 @@ def page_from_word(word):
|
|
|
697
698
|
"""
|
|
698
699
|
Return a HTML page for the given word.
|
|
699
700
|
|
|
700
|
-
:param word: The currently active word
|
|
701
701
|
:type word: str
|
|
702
|
+
:param word: The currently active word
|
|
702
703
|
:return: A tuple (page,word), where page is the new current HTML page
|
|
703
|
-
|
|
704
|
-
|
|
704
|
+
to be sent to the browser and
|
|
705
|
+
word is the new current word
|
|
705
706
|
:rtype: A tuple (str,str)
|
|
706
707
|
"""
|
|
707
708
|
return page_from_reference(Reference(word))
|
|
@@ -763,7 +764,6 @@ def page_from_reference(href):
|
|
|
763
764
|
return body, word
|
|
764
765
|
|
|
765
766
|
|
|
766
|
-
|
|
767
767
|
#####################################################################
|
|
768
768
|
# Static pages
|
|
769
769
|
#####################################################################
|
|
@@ -799,7 +799,7 @@ def get_static_web_help_page():
|
|
|
799
799
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
800
800
|
<html>
|
|
801
801
|
<!-- Natural Language Toolkit: Wordnet Interface: Graphical Wordnet Browser
|
|
802
|
-
Copyright (C) 2001-
|
|
802
|
+
Copyright (C) 2001-2018 NLTK Project
|
|
803
803
|
Author: Jussi Salmela <jtsalmela@users.sourceforge.net>
|
|
804
804
|
URL: <http://nltk.org/>
|
|
805
805
|
For license information, see LICENSE.TXT -->
|
|
@@ -870,7 +870,7 @@ def get_static_index_page(with_shutdown):
|
|
|
870
870
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
|
|
871
871
|
<HTML>
|
|
872
872
|
<!-- Natural Language Toolkit: Wordnet Interface: Graphical Wordnet Browser
|
|
873
|
-
Copyright (C) 2001-
|
|
873
|
+
Copyright (C) 2001-2018 NLTK Project
|
|
874
874
|
Author: Jussi Salmela <jtsalmela@users.sourceforge.net>
|
|
875
875
|
URL: <http://nltk.org/>
|
|
876
876
|
For license information, see LICENSE.TXT -->
|
|
@@ -904,7 +904,7 @@ def get_static_upper_page(with_shutdown):
|
|
|
904
904
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
905
905
|
<html>
|
|
906
906
|
<!-- Natural Language Toolkit: Wordnet Interface: Graphical Wordnet Browser
|
|
907
|
-
Copyright (C) 2001-
|
|
907
|
+
Copyright (C) 2001-2018 NLTK Project
|
|
908
908
|
Author: Jussi Salmela <jtsalmela@users.sourceforge.net>
|
|
909
909
|
URL: <http://nltk.org/>
|
|
910
910
|
For license information, see LICENSE.TXT -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: Some texts for exploration in chapter 1 of the book
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Steven Bird <stevenbird1@gmail.com>
|
|
5
5
|
#
|
|
6
6
|
# URL: <http://nltk.org/>
|
|
@@ -11,6 +11,7 @@ from nltk.corpus import (gutenberg, genesis, inaugural,
|
|
|
11
11
|
nps_chat, webtext, treebank, wordnet)
|
|
12
12
|
from nltk.text import Text
|
|
13
13
|
from nltk.probability import FreqDist
|
|
14
|
+
from nltk.util import bigrams
|
|
14
15
|
|
|
15
16
|
print("*** Introductory Examples for the NLTK Book ***")
|
|
16
17
|
print("Loading text1, ..., text9 and sent1, ..., sent9")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Natural Language Toolkit: Combinatory Categorial Grammar
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Graeme Gange <ggange@csse.unimelb.edu.au>
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
@@ -1,47 +1,63 @@
|
|
|
1
1
|
# Natural Language Toolkit: CCG Categories
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2001-
|
|
3
|
+
# Copyright (C) 2001-2018 NLTK Project
|
|
4
4
|
# Author: Graeme Gange <ggange@csse.unimelb.edu.au>
|
|
5
5
|
# URL: <http://nltk.org/>
|
|
6
6
|
# For license information, see LICENSE.TXT
|
|
7
7
|
from __future__ import unicode_literals
|
|
8
|
+
from functools import total_ordering
|
|
9
|
+
|
|
10
|
+
from abc import ABCMeta, abstractmethod
|
|
11
|
+
from six import add_metaclass
|
|
12
|
+
|
|
8
13
|
from nltk.internals import raise_unorderable_types
|
|
9
|
-
from nltk.compat import (
|
|
10
|
-
unicode_repr)
|
|
14
|
+
from nltk.compat import (python_2_unicode_compatible, unicode_repr)
|
|
11
15
|
|
|
16
|
+
|
|
17
|
+
@add_metaclass(ABCMeta)
|
|
12
18
|
@total_ordering
|
|
13
19
|
class AbstractCCGCategory(object):
|
|
14
20
|
'''
|
|
15
21
|
Interface for categories in combinatory grammars.
|
|
16
22
|
'''
|
|
17
23
|
|
|
18
|
-
|
|
24
|
+
@abstractmethod
|
|
19
25
|
def is_primitive(self):
|
|
20
|
-
|
|
26
|
+
"""
|
|
27
|
+
Returns true if the category is primitive.
|
|
28
|
+
"""
|
|
21
29
|
|
|
22
|
-
|
|
30
|
+
@abstractmethod
|
|
23
31
|
def is_function(self):
|
|
24
|
-
|
|
32
|
+
"""
|
|
33
|
+
Returns true if the category is a function application.
|
|
34
|
+
"""
|
|
25
35
|
|
|
26
|
-
|
|
36
|
+
@abstractmethod
|
|
27
37
|
def is_var(self):
|
|
28
|
-
|
|
38
|
+
"""
|
|
39
|
+
Returns true if the category is a variable.
|
|
40
|
+
"""
|
|
29
41
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
@abstractmethod
|
|
43
|
+
def substitute(self, substitutions):
|
|
44
|
+
"""
|
|
45
|
+
Takes a set of (var, category) substitutions, and replaces every
|
|
46
|
+
occurrence of the variable with the corresponding category.
|
|
47
|
+
"""
|
|
34
48
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
49
|
+
@abstractmethod
|
|
50
|
+
def can_unify(self, other):
|
|
51
|
+
"""
|
|
52
|
+
Determines whether two categories can be unified.
|
|
53
|
+
- Returns None if they cannot be unified
|
|
54
|
+
- Returns a list of necessary substitutions if they can.
|
|
55
|
+
"""
|
|
40
56
|
|
|
41
57
|
# Utility functions: comparison, strings and hashing.
|
|
42
|
-
|
|
58
|
+
@abstractmethod
|
|
43
59
|
def __str__(self):
|
|
44
|
-
|
|
60
|
+
pass
|
|
45
61
|
|
|
46
62
|
def __eq__(self, other):
|
|
47
63
|
return (self.__class__ is other.__class__ and
|
|
@@ -78,7 +94,8 @@ class CCGVar(AbstractCCGCategory):
|
|
|
78
94
|
def __init__(self, prim_only=False):
|
|
79
95
|
"""Initialize a variable (selects a new identifier)
|
|
80
96
|
|
|
81
|
-
:param prim_only: a boolean that determines whether the variable is
|
|
97
|
+
:param prim_only: a boolean that determines whether the variable is
|
|
98
|
+
restricted to primitives
|
|
82
99
|
:type prim_only: bool
|
|
83
100
|
"""
|
|
84
101
|
self._id = self.new_id()
|
|
@@ -87,7 +104,9 @@ class CCGVar(AbstractCCGCategory):
|
|
|
87
104
|
|
|
88
105
|
@classmethod
|
|
89
106
|
def new_id(cls):
|
|
90
|
-
"""
|
|
107
|
+
"""
|
|
108
|
+
A class method allowing generation of unique variable identifiers.
|
|
109
|
+
"""
|
|
91
110
|
cls._maxID = cls._maxID + 1
|
|
92
111
|
return cls._maxID - 1
|
|
93
112
|
|
|
@@ -108,9 +127,9 @@ class CCGVar(AbstractCCGCategory):
|
|
|
108
127
|
"""If there is a substitution corresponding to this variable,
|
|
109
128
|
return the substituted category.
|
|
110
129
|
"""
|
|
111
|
-
for (var,cat) in substitutions:
|
|
130
|
+
for (var, cat) in substitutions:
|
|
112
131
|
if var == self:
|
|
113
|
-
|
|
132
|
+
return cat
|
|
114
133
|
return self
|
|
115
134
|
|
|
116
135
|
def can_unify(self, other):
|
|
@@ -118,7 +137,7 @@ class CCGVar(AbstractCCGCategory):
|
|
|
118
137
|
a substitution is returned.
|
|
119
138
|
"""
|
|
120
139
|
if other.is_primitive() or not self._prim_only:
|
|
121
|
-
return [(self,other)]
|
|
140
|
+
return [(self, other)]
|
|
122
141
|
return None
|
|
123
142
|
|
|
124
143
|
def id(self):
|
|
@@ -127,6 +146,7 @@ class CCGVar(AbstractCCGCategory):
|
|
|
127
146
|
def __str__(self):
|
|
128
147
|
return "_var" + str(self._id)
|
|
129
148
|
|
|
149
|
+
|
|
130
150
|
@total_ordering
|
|
131
151
|
@python_2_unicode_compatible
|
|
132
152
|
class Direction(object):
|
|
@@ -135,7 +155,7 @@ class Direction(object):
|
|
|
135
155
|
Also contains maintains information as to which combinators
|
|
136
156
|
may be used with the category.
|
|
137
157
|
'''
|
|
138
|
-
def __init__(self,dir,restrictions):
|
|
158
|
+
def __init__(self, dir, restrictions):
|
|
139
159
|
self._dir = dir
|
|
140
160
|
self._restrs = restrictions
|
|
141
161
|
self._comparison_key = (dir, tuple(restrictions))
|
|
@@ -143,6 +163,7 @@ class Direction(object):
|
|
|
143
163
|
# Testing the application direction
|
|
144
164
|
def is_forward(self):
|
|
145
165
|
return self._dir == '/'
|
|
166
|
+
|
|
146
167
|
def is_backward(self):
|
|
147
168
|
return self._dir == '\\'
|
|
148
169
|
|
|
@@ -164,31 +185,31 @@ class Direction(object):
|
|
|
164
185
|
# Unification and substitution of variable directions.
|
|
165
186
|
# Used only if type-raising is implemented as a unary rule, as it
|
|
166
187
|
# must inherit restrictions from the argument category.
|
|
167
|
-
def can_unify(self,other):
|
|
188
|
+
def can_unify(self, other):
|
|
168
189
|
if other.is_variable():
|
|
169
|
-
return [('_',self.restrs())]
|
|
190
|
+
return [('_', self.restrs())]
|
|
170
191
|
elif self.is_variable():
|
|
171
|
-
return [('_',other.restrs())]
|
|
192
|
+
return [('_', other.restrs())]
|
|
172
193
|
else:
|
|
173
194
|
if self.restrs() == other.restrs():
|
|
174
195
|
return []
|
|
175
196
|
return None
|
|
176
197
|
|
|
177
|
-
def substitute(self,subs):
|
|
198
|
+
def substitute(self, subs):
|
|
178
199
|
if not self.is_variable():
|
|
179
200
|
return self
|
|
180
201
|
|
|
181
202
|
for (var, restrs) in subs:
|
|
182
203
|
if var == '_':
|
|
183
|
-
return Direction(self._dir,restrs)
|
|
204
|
+
return Direction(self._dir, restrs)
|
|
184
205
|
return self
|
|
185
206
|
|
|
186
207
|
# Testing permitted combinators
|
|
187
208
|
def can_compose(self):
|
|
188
|
-
return
|
|
209
|
+
return (',' not in self._restrs)
|
|
189
210
|
|
|
190
211
|
def can_cross(self):
|
|
191
|
-
return
|
|
212
|
+
return ('.' not in self._restrs)
|
|
192
213
|
|
|
193
214
|
def __eq__(self, other):
|
|
194
215
|
return (self.__class__ is other.__class__ and
|
|
@@ -221,9 +242,9 @@ class Direction(object):
|
|
|
221
242
|
# The negation operator reverses the direction of the application
|
|
222
243
|
def __neg__(self):
|
|
223
244
|
if self._dir == '/':
|
|
224
|
-
return Direction('\\',self._restrs)
|
|
245
|
+
return Direction('\\', self._restrs)
|
|
225
246
|
else:
|
|
226
|
-
return Direction('/',self._restrs)
|
|
247
|
+
return Direction('/', self._restrs)
|
|
227
248
|
|
|
228
249
|
|
|
229
250
|
@python_2_unicode_compatible
|
|
@@ -254,17 +275,17 @@ class PrimitiveCategory(AbstractCCGCategory):
|
|
|
254
275
|
return self._categ
|
|
255
276
|
|
|
256
277
|
# Substitution does nothing to a primitive category
|
|
257
|
-
def substitute(self,subs):
|
|
278
|
+
def substitute(self, subs):
|
|
258
279
|
return self
|
|
259
280
|
|
|
260
281
|
# A primitive can be unified with a class of the same
|
|
261
282
|
# base category, given that the other category shares all
|
|
262
283
|
# of its subclasses, or with a variable.
|
|
263
|
-
def can_unify(self,other):
|
|
284
|
+
def can_unify(self, other):
|
|
264
285
|
if not other.is_primitive():
|
|
265
286
|
return None
|
|
266
287
|
if other.is_var():
|
|
267
|
-
return [(other,self)]
|
|
288
|
+
return [(other, self)]
|
|
268
289
|
if other.categ() == self.categ():
|
|
269
290
|
for restr in self._restrs:
|
|
270
291
|
if restr not in other.restrs():
|
|
@@ -303,24 +324,25 @@ class FunctionalCategory(AbstractCCGCategory):
|
|
|
303
324
|
|
|
304
325
|
# Substitution returns the category consisting of the
|
|
305
326
|
# substitution applied to each of its constituents.
|
|
306
|
-
def substitute(self,subs):
|
|
327
|
+
def substitute(self, subs):
|
|
307
328
|
sub_res = self._res.substitute(subs)
|
|
308
329
|
sub_dir = self._dir.substitute(subs)
|
|
309
330
|
sub_arg = self._arg.substitute(subs)
|
|
310
|
-
return FunctionalCategory(sub_res,sub_arg,self._dir)
|
|
331
|
+
return FunctionalCategory(sub_res, sub_arg, self._dir)
|
|
311
332
|
|
|
312
333
|
# A function can unify with another function, so long as its
|
|
313
334
|
# constituents can unify, or with an unrestricted variable.
|
|
314
|
-
def can_unify(self,other):
|
|
335
|
+
def can_unify(self, other):
|
|
315
336
|
if other.is_var():
|
|
316
|
-
return [(other,self)]
|
|
337
|
+
return [(other, self)]
|
|
317
338
|
if other.is_function():
|
|
318
339
|
sa = self._res.can_unify(other.res())
|
|
319
340
|
sd = self._dir.can_unify(other.dir())
|
|
320
341
|
if sa is not None and sd is not None:
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
342
|
+
sb = self._arg.substitute(sa).can_unify(
|
|
343
|
+
other.arg().substitute(sa))
|
|
344
|
+
if sb is not None:
|
|
345
|
+
return sa + sb
|
|
324
346
|
return None
|
|
325
347
|
|
|
326
348
|
# Constituent accessors
|
|
@@ -335,5 +357,3 @@ class FunctionalCategory(AbstractCCGCategory):
|
|
|
335
357
|
|
|
336
358
|
def __str__(self):
|
|
337
359
|
return "(%s%s%s)" % (self._res, self._dir, self._arg)
|
|
338
|
-
|
|
339
|
-
|