nltk 3.2__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 → nltk-3.3}/INSTALL.txt +6 -6
- {nltk-3.2 → nltk-3.3}/LICENSE.txt +13 -13
- {nltk-3.2 → nltk-3.3}/MANIFEST.in +6 -6
- {nltk-3.2/nltk.egg-info → nltk-3.3}/PKG-INFO +13 -5
- nltk-3.2/README.txt → nltk-3.3/README.md +49 -48
- nltk-3.3/nltk/VERSION +1 -0
- {nltk-3.2 → nltk-3.3}/nltk/__init__.py +185 -185
- {nltk-3.2 → nltk-3.3}/nltk/app/__init__.py +52 -53
- {nltk-3.2 → nltk-3.3}/nltk/app/chartparser_app.py +2276 -2276
- {nltk-3.2 → nltk-3.3}/nltk/app/chunkparser_app.py +1262 -1264
- {nltk-3.2 → nltk-3.3}/nltk/app/collocations_app.py +347 -350
- {nltk-3.2 → nltk-3.3}/nltk/app/concordance_app.py +568 -570
- {nltk-3.2 → nltk-3.3}/nltk/app/nemo_app.py +156 -155
- {nltk-3.2 → nltk-3.3}/nltk/app/rdparser_app.py +892 -894
- {nltk-3.2 → nltk-3.3}/nltk/app/srparser_app.py +809 -809
- {nltk-3.2 → nltk-3.3}/nltk/app/wordfreq_app.py +32 -32
- {nltk-3.2 → nltk-3.3}/nltk/app/wordnet_app.py +968 -968
- {nltk-3.2 → nltk-3.3}/nltk/book.py +91 -90
- {nltk-3.2 → nltk-3.3}/nltk/ccg/__init__.py +22 -22
- {nltk-3.2 → nltk-3.3}/nltk/ccg/api.py +359 -335
- {nltk-3.2 → nltk-3.3}/nltk/ccg/chart.py +394 -361
- {nltk-3.2 → nltk-3.3}/nltk/ccg/combinator.py +343 -312
- {nltk-3.2 → nltk-3.3}/nltk/ccg/lexicon.py +328 -290
- nltk-3.3/nltk/ccg/logic.py +46 -0
- {nltk-3.2 → nltk-3.3}/nltk/chat/__init__.py +49 -49
- {nltk-3.2 → nltk-3.3}/nltk/chat/eliza.py +244 -244
- {nltk-3.2 → nltk-3.3}/nltk/chat/iesha.py +140 -140
- {nltk-3.2 → nltk-3.3}/nltk/chat/rude.py +92 -92
- {nltk-3.2 → nltk-3.3}/nltk/chat/suntsu.py +117 -117
- {nltk-3.2 → nltk-3.3}/nltk/chat/util.py +122 -120
- {nltk-3.2 → nltk-3.3}/nltk/chat/zen.py +282 -282
- {nltk-3.2 → nltk-3.3}/nltk/chunk/__init__.py +190 -190
- {nltk-3.2 → nltk-3.3}/nltk/chunk/api.py +51 -51
- {nltk-3.2 → nltk-3.3}/nltk/chunk/named_entity.py +331 -331
- {nltk-3.2 → nltk-3.3}/nltk/chunk/regexp.py +1390 -1384
- {nltk-3.2 → nltk-3.3}/nltk/chunk/util.py +600 -600
- {nltk-3.2 → nltk-3.3}/nltk/classify/__init__.py +98 -98
- {nltk-3.2 → nltk-3.3}/nltk/classify/api.py +193 -193
- {nltk-3.2 → nltk-3.3}/nltk/classify/decisiontree.py +295 -295
- {nltk-3.2 → nltk-3.3}/nltk/classify/maxent.py +1510 -1492
- {nltk-3.2 → nltk-3.3}/nltk/classify/megam.py +179 -178
- {nltk-3.2 → nltk-3.3}/nltk/classify/naivebayes.py +245 -242
- {nltk-3.2 → nltk-3.3}/nltk/classify/positivenaivebayes.py +170 -170
- {nltk-3.2 → nltk-3.3}/nltk/classify/rte_classify.py +160 -191
- {nltk-3.2 → nltk-3.3}/nltk/classify/scikitlearn.py +153 -151
- {nltk-3.2 → nltk-3.3}/nltk/classify/senna.py +183 -181
- {nltk-3.2 → nltk-3.3}/nltk/classify/svm.py +15 -15
- {nltk-3.2 → nltk-3.3}/nltk/classify/tadm.py +113 -112
- {nltk-3.2 → nltk-3.3}/nltk/classify/textcat.py +193 -193
- {nltk-3.2 → nltk-3.3}/nltk/classify/util.py +324 -312
- {nltk-3.2 → nltk-3.3}/nltk/classify/weka.py +346 -345
- {nltk-3.2 → nltk-3.3}/nltk/cluster/__init__.py +86 -86
- {nltk-3.2 → nltk-3.3}/nltk/cluster/api.py +74 -70
- {nltk-3.2 → nltk-3.3}/nltk/cluster/em.py +247 -247
- {nltk-3.2 → nltk-3.3}/nltk/cluster/gaac.py +168 -168
- {nltk-3.2 → nltk-3.3}/nltk/cluster/kmeans.py +221 -221
- {nltk-3.2 → nltk-3.3}/nltk/cluster/util.py +304 -289
- nltk-3.3/nltk/collections.py +640 -0
- {nltk-3.2 → nltk-3.3}/nltk/collocations.py +388 -388
- nltk-3.3/nltk/compat.py +365 -0
- {nltk-3.2 → nltk-3.3}/nltk/corpus/__init__.py +341 -320
- {nltk-3.2 → nltk-3.3}/nltk/corpus/europarl_raw.py +44 -44
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/__init__.py +147 -145
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/aligned.py +115 -114
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/api.py +448 -446
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/bnc.py +252 -252
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/bracket_parse.py +227 -227
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/categorized_sents.py +179 -178
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/chasen.py +140 -139
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/childes.py +522 -494
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/chunked.py +212 -212
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/cmudict.py +97 -95
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/comparative_sents.py +280 -278
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/conll.py +528 -521
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/crubadan.py +116 -116
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/dependency.py +101 -101
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/framenet.py +3059 -2093
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/ieer.py +112 -111
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/indian.py +85 -86
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/ipipan.py +332 -331
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/knbc.py +187 -187
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/lin.py +156 -156
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/mte.py +311 -310
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/nkjp.py +429 -428
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/nombank.py +421 -421
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/nps_chat.py +73 -73
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/opinion_lexicon.py +115 -115
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/panlex_lite.py +165 -165
- nltk-3.3/nltk/corpus/reader/pl196x.py +292 -0
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/plaintext.py +232 -233
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/ppattach.py +96 -95
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/propbank.py +479 -481
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/pros_cons.py +128 -126
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/reviews.py +330 -328
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/rte.py +144 -146
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/semcor.py +256 -256
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/senseval.py +203 -201
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/sentiwordnet.py +137 -137
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/sinica_treebank.py +75 -75
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/string_category.py +60 -59
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/switchboard.py +119 -119
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/tagged.py +295 -294
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/timit.py +452 -450
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/toolbox.py +68 -68
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/twitter.py +155 -157
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/udhr.py +80 -80
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/util.py +804 -800
- nltk-3.3/nltk/corpus/reader/verbnet.py +595 -0
- nltk-3.3/nltk/corpus/reader/wordlist.py +134 -0
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/wordnet.py +2108 -2036
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/xmldocs.py +392 -387
- {nltk-3.2 → nltk-3.3}/nltk/corpus/reader/ycoe.py +243 -242
- {nltk-3.2 → nltk-3.3}/nltk/corpus/util.py +144 -127
- {nltk-3.2 → nltk-3.3}/nltk/data.py +1487 -1451
- {nltk-3.2 → nltk-3.3}/nltk/decorators.py +219 -215
- {nltk-3.2 → nltk-3.3}/nltk/downloader.py +2278 -2274
- {nltk-3.2 → nltk-3.3}/nltk/draw/__init__.py +27 -27
- {nltk-3.2 → nltk-3.3}/nltk/draw/cfg.py +774 -777
- {nltk-3.2 → nltk-3.3}/nltk/draw/dispersion.py +58 -58
- {nltk-3.2 → nltk-3.3}/nltk/draw/table.py +1098 -1098
- {nltk-3.2 → nltk-3.3}/nltk/draw/tree.py +963 -966
- {nltk-3.2 → nltk-3.3}/nltk/draw/util.py +2356 -2356
- {nltk-3.2 → nltk-3.3}/nltk/featstruct.py +2617 -2500
- {nltk-3.2 → nltk-3.3}/nltk/grammar.py +1559 -1516
- {nltk-3.2 → nltk-3.3}/nltk/help.py +56 -56
- {nltk-3.2 → nltk-3.3}/nltk/inference/__init__.py +20 -20
- {nltk-3.2 → nltk-3.3}/nltk/inference/api.py +597 -589
- {nltk-3.2 → nltk-3.3}/nltk/inference/discourse.py +612 -608
- {nltk-3.2 → nltk-3.3}/nltk/inference/mace.py +311 -311
- {nltk-3.2 → nltk-3.3}/nltk/inference/nonmonotonic.py +509 -509
- {nltk-3.2 → nltk-3.3}/nltk/inference/prover9.py +431 -431
- {nltk-3.2 → nltk-3.3}/nltk/inference/resolution.py +687 -687
- {nltk-3.2 → nltk-3.3}/nltk/inference/tableau.py +607 -607
- {nltk-3.2 → nltk-3.3}/nltk/internals.py +982 -982
- {nltk-3.2 → nltk-3.3}/nltk/jsontags.py +63 -63
- {nltk-3.2 → nltk-3.3}/nltk/lazyimport.py +142 -142
- {nltk-3.2 → nltk-3.3}/nltk/metrics/__init__.py +30 -29
- {nltk-3.2 → nltk-3.3}/nltk/metrics/agreement.py +421 -401
- nltk-3.3/nltk/metrics/aline.py +607 -0
- {nltk-3.2 → nltk-3.3}/nltk/metrics/association.py +414 -410
- {nltk-3.2 → nltk-3.3}/nltk/metrics/confusionmatrix.py +206 -206
- {nltk-3.2 → nltk-3.3}/nltk/metrics/distance.py +207 -202
- {nltk-3.2 → nltk-3.3}/nltk/metrics/paice.py +381 -381
- {nltk-3.2 → nltk-3.3}/nltk/metrics/scores.py +228 -228
- {nltk-3.2 → nltk-3.3}/nltk/metrics/segmentation.py +231 -232
- {nltk-3.2 → nltk-3.3}/nltk/metrics/spearman.py +69 -69
- {nltk-3.2 → nltk-3.3}/nltk/misc/__init__.py +11 -11
- {nltk-3.2 → nltk-3.3}/nltk/misc/babelfish.py +10 -10
- {nltk-3.2 → nltk-3.3}/nltk/misc/chomsky.py +135 -133
- {nltk-3.2 → nltk-3.3}/nltk/misc/minimalset.py +83 -83
- {nltk-3.2 → nltk-3.3}/nltk/misc/sort.py +157 -157
- {nltk-3.2 → nltk-3.3}/nltk/misc/wordfinder.py +129 -129
- {nltk-3.2 → nltk-3.3}/nltk/parse/__init__.py +81 -80
- {nltk-3.2 → nltk-3.3}/nltk/parse/api.py +66 -66
- {nltk-3.2 → nltk-3.3}/nltk/parse/bllip.py +282 -282
- {nltk-3.2 → nltk-3.3}/nltk/parse/chart.py +1682 -1681
- nltk-3.3/nltk/parse/corenlp.py +780 -0
- {nltk-3.2 → nltk-3.3}/nltk/parse/dependencygraph.py +760 -758
- {nltk-3.2 → nltk-3.3}/nltk/parse/earleychart.py +452 -451
- {nltk-3.2 → nltk-3.3}/nltk/parse/evaluate.py +129 -129
- {nltk-3.2 → nltk-3.3}/nltk/parse/featurechart.py +580 -578
- {nltk-3.2 → nltk-3.3}/nltk/parse/generate.py +87 -76
- {nltk-3.2 → nltk-3.3}/nltk/parse/malt.py +356 -356
- {nltk-3.2 → nltk-3.3}/nltk/parse/nonprojectivedependencyparser.py +783 -783
- {nltk-3.2 → nltk-3.3}/nltk/parse/pchart.py +522 -522
- {nltk-3.2 → nltk-3.3}/nltk/parse/projectivedependencyparser.py +579 -578
- {nltk-3.2 → nltk-3.3}/nltk/parse/recursivedescent.py +655 -656
- {nltk-3.2 → nltk-3.3}/nltk/parse/shiftreduce.py +458 -459
- {nltk-3.2 → nltk-3.3}/nltk/parse/stanford.py +431 -406
- {nltk-3.2 → nltk-3.3}/nltk/parse/transitionparser.py +774 -772
- {nltk-3.2 → nltk-3.3}/nltk/parse/util.py +231 -231
- {nltk-3.2 → nltk-3.3}/nltk/parse/viterbi.py +401 -401
- {nltk-3.2 → nltk-3.3}/nltk/probability.py +2410 -2355
- {nltk-3.2 → nltk-3.3}/nltk/sem/__init__.py +61 -61
- {nltk-3.2 → nltk-3.3}/nltk/sem/boxer.py +1261 -1261
- {nltk-3.2 → nltk-3.3}/nltk/sem/chat80.py +782 -782
- {nltk-3.2 → nltk-3.3}/nltk/sem/cooper_storage.py +118 -118
- {nltk-3.2 → nltk-3.3}/nltk/sem/drt.py +1258 -1257
- {nltk-3.2 → nltk-3.3}/nltk/sem/drt_glue_demo.py +485 -489
- {nltk-3.2 → nltk-3.3}/nltk/sem/evaluate.py +790 -784
- {nltk-3.2 → nltk-3.3}/nltk/sem/glue.py +696 -694
- {nltk-3.2 → nltk-3.3}/nltk/sem/hole.py +386 -384
- {nltk-3.2 → nltk-3.3}/nltk/sem/lfg.py +210 -208
- {nltk-3.2 → nltk-3.3}/nltk/sem/linearlogic.py +451 -449
- {nltk-3.2 → nltk-3.3}/nltk/sem/logic.py +1910 -1910
- {nltk-3.2 → nltk-3.3}/nltk/sem/relextract.py +476 -483
- {nltk-3.2 → nltk-3.3}/nltk/sem/skolemize.py +101 -101
- {nltk-3.2 → nltk-3.3}/nltk/sem/util.py +249 -249
- {nltk-3.2 → nltk-3.3}/nltk/sentiment/__init__.py +14 -14
- {nltk-3.2 → nltk-3.3}/nltk/sentiment/sentiment_analyzer.py +229 -229
- {nltk-3.2 → nltk-3.3}/nltk/sentiment/util.py +762 -752
- {nltk-3.2 → nltk-3.3}/nltk/sentiment/vader.py +443 -445
- {nltk-3.2 → nltk-3.3}/nltk/stem/__init__.py +31 -33
- {nltk-3.2 → nltk-3.3}/nltk/stem/api.py +28 -25
- nltk-3.3/nltk/stem/arlstem.py +369 -0
- {nltk-3.2 → nltk-3.3}/nltk/stem/isri.py +345 -345
- {nltk-3.2 → nltk-3.3}/nltk/stem/lancaster.py +337 -310
- nltk-3.3/nltk/stem/porter.py +710 -0
- {nltk-3.2 → nltk-3.3}/nltk/stem/regexp.py +61 -61
- {nltk-3.2 → nltk-3.3}/nltk/stem/rslp.py +142 -142
- {nltk-3.2 → nltk-3.3}/nltk/stem/snowball.py +4236 -3712
- {nltk-3.2 → nltk-3.3}/nltk/stem/util.py +22 -12
- {nltk-3.2 → nltk-3.3}/nltk/stem/wordnet.py +51 -51
- {nltk-3.2 → nltk-3.3}/nltk/tag/__init__.py +152 -127
- {nltk-3.2 → nltk-3.3}/nltk/tag/api.py +86 -81
- {nltk-3.2 → nltk-3.3}/nltk/tag/brill.py +424 -426
- {nltk-3.2 → nltk-3.3}/nltk/tag/brill_trainer.py +608 -608
- {nltk-3.2 → nltk-3.3}/nltk/tag/crf.py +204 -200
- {nltk-3.2 → nltk-3.3}/nltk/tag/hmm.py +1277 -1277
- {nltk-3.2 → nltk-3.3}/nltk/tag/hunpos.py +132 -132
- {nltk-3.2 → nltk-3.3}/nltk/tag/mapping.py +101 -101
- {nltk-3.2 → nltk-3.3}/nltk/tag/perceptron.py +329 -314
- {nltk-3.2 → nltk-3.3}/nltk/tag/senna.py +147 -145
- {nltk-3.2 → nltk-3.3}/nltk/tag/sequential.py +740 -736
- {nltk-3.2 → nltk-3.3}/nltk/tag/stanford.py +219 -196
- {nltk-3.2 → nltk-3.3}/nltk/tag/tnt.py +595 -604
- {nltk-3.2 → nltk-3.3}/nltk/tag/util.py +72 -72
- {nltk-3.2 → nltk-3.3}/nltk/tbl/__init__.py +28 -28
- {nltk-3.2 → nltk-3.3}/nltk/tbl/api.py +1 -1
- {nltk-3.2 → nltk-3.3}/nltk/tbl/demo.py +366 -366
- {nltk-3.2 → nltk-3.3}/nltk/tbl/erroranalysis.py +39 -39
- {nltk-3.2 → nltk-3.3}/nltk/tbl/feature.py +259 -261
- {nltk-3.2 → nltk-3.3}/nltk/tbl/rule.py +321 -321
- {nltk-3.2 → nltk-3.3}/nltk/tbl/template.py +303 -308
- {nltk-3.2 → nltk-3.3}/nltk/test/__init__.py +18 -18
- {nltk-3.2 → nltk-3.3}/nltk/test/all.py +24 -23
- {nltk-3.2 → nltk-3.3}/nltk/test/bleu.doctest +14 -14
- {nltk-3.2 → nltk-3.3}/nltk/test/bnc.doctest +60 -60
- {nltk-3.2 → nltk-3.3}/nltk/test/ccg.doctest +376 -395
- nltk-3.3/nltk/test/ccg_semantics.doctest +553 -0
- {nltk-3.2 → nltk-3.3}/nltk/test/chat80.doctest +234 -234
- {nltk-3.2 → nltk-3.3}/nltk/test/childes.doctest +184 -184
- {nltk-3.2 → nltk-3.3}/nltk/test/childes_fixt.py +14 -13
- {nltk-3.2 → nltk-3.3}/nltk/test/chunk.doctest +373 -373
- {nltk-3.2 → nltk-3.3}/nltk/test/classify.doctest +185 -185
- {nltk-3.2 → nltk-3.3}/nltk/test/classify_fixt.py +11 -10
- nltk-3.3/nltk/test/collections.doctest +20 -0
- {nltk-3.2 → nltk-3.3}/nltk/test/collocations.doctest +276 -276
- {nltk-3.2 → nltk-3.3}/nltk/test/compat.doctest +134 -138
- {nltk-3.2 → nltk-3.3}/nltk/test/compat_fixt.py +9 -8
- nltk-3.3/nltk/test/concordance.doctest +55 -0
- {nltk-3.2 → nltk-3.3}/nltk/test/corpus.doctest +2200 -2212
- {nltk-3.2 → nltk-3.3}/nltk/test/corpus_fixt.py +3 -3
- {nltk-3.2 → nltk-3.3}/nltk/test/crubadan.doctest +65 -65
- {nltk-3.2 → nltk-3.3}/nltk/test/data.doctest +379 -379
- {nltk-3.2 → nltk-3.3}/nltk/test/dependency.doctest +241 -241
- {nltk-3.2 → nltk-3.3}/nltk/test/discourse.doctest +546 -546
- {nltk-3.2 → nltk-3.3}/nltk/test/discourse_fixt.py +14 -13
- {nltk-3.2 → nltk-3.3}/nltk/test/doctest_nose_plugin.py +159 -156
- {nltk-3.2 → nltk-3.3}/nltk/test/drt.doctest +517 -517
- {nltk-3.2 → nltk-3.3}/nltk/test/featgram.doctest +607 -607
- {nltk-3.2 → nltk-3.3}/nltk/test/featstruct.doctest +1229 -1230
- {nltk-3.2 → nltk-3.3}/nltk/test/framenet.doctest +288 -239
- {nltk-3.2 → nltk-3.3}/nltk/test/generate.doctest +67 -67
- {nltk-3.2 → nltk-3.3}/nltk/test/gensim.doctest +140 -141
- {nltk-3.2 → nltk-3.3}/nltk/test/gensim_fixt.py +10 -9
- {nltk-3.2 → nltk-3.3}/nltk/test/gluesemantics.doctest +384 -386
- {nltk-3.2 → nltk-3.3}/nltk/test/gluesemantics_malt.doctest +68 -68
- {nltk-3.2 → nltk-3.3}/nltk/test/gluesemantics_malt_fixt.py +12 -11
- {nltk-3.2 → nltk-3.3}/nltk/test/grammar.doctest +48 -48
- {nltk-3.2 → nltk-3.3}/nltk/test/grammartestsuites.doctest +109 -109
- {nltk-3.2 → nltk-3.3}/nltk/test/index.doctest +100 -100
- {nltk-3.2 → nltk-3.3}/nltk/test/inference.doctest +534 -534
- {nltk-3.2 → nltk-3.3}/nltk/test/inference_fixt.py +12 -11
- {nltk-3.2 → nltk-3.3}/nltk/test/internals.doctest +140 -140
- {nltk-3.2 → nltk-3.3}/nltk/test/japanese.doctest +48 -48
- {nltk-3.2 → nltk-3.3}/nltk/test/logic.doctest +1098 -1098
- {nltk-3.2 → nltk-3.3}/nltk/test/metrics.doctest +270 -270
- {nltk-3.2 → nltk-3.3}/nltk/test/misc.doctest +118 -118
- {nltk-3.2 → nltk-3.3}/nltk/test/nonmonotonic.doctest +286 -286
- {nltk-3.2 → nltk-3.3}/nltk/test/nonmonotonic_fixt.py +12 -11
- {nltk-3.2 → nltk-3.3}/nltk/test/paice.doctest +35 -35
- {nltk-3.2 → nltk-3.3}/nltk/test/parse.doctest +884 -884
- {nltk-3.2 → nltk-3.3}/nltk/test/portuguese_en.doctest +565 -565
- {nltk-3.2 → nltk-3.3}/nltk/test/portuguese_en_fixt.py +16 -16
- {nltk-3.2 → nltk-3.3}/nltk/test/probability.doctest +304 -304
- {nltk-3.2 → nltk-3.3}/nltk/test/probability_fixt.py +13 -12
- {nltk-3.2 → nltk-3.3}/nltk/test/propbank.doctest +176 -176
- {nltk-3.2 → nltk-3.3}/nltk/test/relextract.doctest +263 -263
- {nltk-3.2 → nltk-3.3}/nltk/test/resolution.doctest +221 -221
- {nltk-3.2 → nltk-3.3}/nltk/test/runtests.py +86 -64
- {nltk-3.2 → nltk-3.3}/nltk/test/segmentation_fixt.py +10 -10
- {nltk-3.2 → nltk-3.3}/nltk/test/semantics.doctest +665 -665
- {nltk-3.2 → nltk-3.3}/nltk/test/semantics_fixt.py +7 -7
- {nltk-3.2 → nltk-3.3}/nltk/test/sentiment.doctest +233 -233
- {nltk-3.2 → nltk-3.3}/nltk/test/sentiwordnet.doctest +41 -41
- {nltk-3.2 → nltk-3.3}/nltk/test/simple.doctest +85 -85
- {nltk-3.2 → nltk-3.3}/nltk/test/stem.doctest +78 -78
- {nltk-3.2 → nltk-3.3}/nltk/test/tag.doctest +33 -33
- {nltk-3.2 → nltk-3.3}/nltk/test/tokenize.doctest +273 -166
- {nltk-3.2 → nltk-3.3}/nltk/test/toolbox.doctest +307 -307
- {nltk-3.2 → nltk-3.3}/nltk/test/translate.doctest +242 -242
- {nltk-3.2 → nltk-3.3}/nltk/test/translate_fixt.py +3 -3
- {nltk-3.2 → nltk-3.3}/nltk/test/tree.doctest +1101 -1101
- {nltk-3.2 → nltk-3.3}/nltk/test/treeprettyprinter.doctest +127 -127
- {nltk-3.2 → nltk-3.3}/nltk/test/treetransforms.doctest +156 -156
- nltk-3.3/nltk/test/unit/test_2x_compat.py +63 -0
- 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 → nltk-3.3}/nltk/test/unit/test_classify.py +55 -53
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/test_collocations.py +88 -79
- 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 → nltk-3.3}/nltk/test/unit/test_corpora.py +200 -183
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/test_corpus_views.py +45 -45
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/test_hmm.py +88 -88
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/test_json2csv_corpus.py +188 -187
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/test_naivebayes.py +26 -26
- nltk-3.3/nltk/test/unit/test_rte_classify.py +86 -0
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/test_seekable_unicode_stream_reader.py +124 -124
- 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 → nltk-3.3}/nltk/test/unit/test_tag.py +20 -20
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/test_tgrep.py +628 -626
- nltk-3.3/nltk/test/unit/test_tokenize.py +168 -0
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/test_twitter_auth.py +185 -185
- 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.2 → nltk-3.3}/nltk/test/unit/translate/test_ibm1.py +75 -75
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/translate/test_ibm2.py +87 -87
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/translate/test_ibm3.py +105 -105
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/translate/test_ibm4.py +126 -126
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/translate/test_ibm5.py +166 -166
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/translate/test_ibm_model.py +270 -270
- nltk-3.3/nltk/test/unit/translate/test_nist.py +37 -0
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/translate/test_stack_decoder.py +300 -300
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/utils.py +41 -41
- {nltk-3.2 → nltk-3.3}/nltk/test/util.doctest +48 -48
- {nltk-3.2 → nltk-3.3}/nltk/test/wordnet.doctest +595 -581
- {nltk-3.2 → nltk-3.3}/nltk/test/wordnet_fixt.py +7 -6
- {nltk-3.2 → nltk-3.3}/nltk/test/wordnet_lch.doctest +53 -53
- {nltk-3.2 → nltk-3.3}/nltk/test/wsd.doctest +68 -68
- {nltk-3.2 → nltk-3.3}/nltk/text.py +663 -610
- {nltk-3.2 → nltk-3.3}/nltk/tgrep.py +938 -937
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/__init__.py +130 -107
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/api.py +77 -78
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/casual.py +343 -342
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/mwe.py +120 -120
- nltk-3.3/nltk/tokenize/nist.py +173 -0
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/punkt.py +1620 -1601
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/regexp.py +208 -202
- nltk-3.3/nltk/tokenize/repp.py +151 -0
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/sexpr.py +140 -142
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/simple.py +138 -136
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/stanford.py +117 -113
- nltk-3.3/nltk/tokenize/stanford_segmenter.py +246 -0
- {nltk-3.2 → nltk-3.3}/nltk/tokenize/texttiling.py +458 -460
- 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 → nltk-3.3}/nltk/toolbox.py +499 -497
- {nltk-3.2 → nltk-3.3}/nltk/translate/__init__.py +24 -24
- {nltk-3.2 → nltk-3.3}/nltk/translate/api.py +331 -321
- {nltk-3.2 → nltk-3.3}/nltk/translate/bleu_score.py +615 -556
- nltk-3.3/nltk/translate/chrf_score.py +137 -0
- {nltk-3.2 → nltk-3.3}/nltk/translate/gale_church.py +248 -235
- {nltk-3.2 → nltk-3.3}/nltk/translate/gdfa.py +135 -131
- nltk-3.3/nltk/translate/gleu_score.py +193 -0
- {nltk-3.2 → nltk-3.3}/nltk/translate/ibm1.py +250 -241
- {nltk-3.2 → nltk-3.3}/nltk/translate/ibm2.py +308 -308
- {nltk-3.2 → nltk-3.3}/nltk/translate/ibm3.py +337 -337
- {nltk-3.2 → nltk-3.3}/nltk/translate/ibm4.py +467 -467
- {nltk-3.2 → nltk-3.3}/nltk/translate/ibm5.py +639 -639
- {nltk-3.2 → nltk-3.3}/nltk/translate/ibm_model.py +536 -533
- {nltk-3.2 → nltk-3.3}/nltk/translate/metrics.py +40 -40
- nltk-3.3/nltk/translate/nist_score.py +178 -0
- {nltk-3.2 → nltk-3.3}/nltk/translate/phrase_based.py +175 -175
- {nltk-3.2 → nltk-3.3}/nltk/translate/ribes_score.py +325 -325
- {nltk-3.2 → nltk-3.3}/nltk/translate/stack_decoder.py +499 -495
- {nltk-3.2 → nltk-3.3}/nltk/tree.py +1605 -1603
- {nltk-3.2 → nltk-3.3}/nltk/treeprettyprinter.py +564 -564
- {nltk-3.2 → nltk-3.3}/nltk/treetransforms.py +309 -309
- {nltk-3.2 → nltk-3.3}/nltk/twitter/__init__.py +28 -28
- {nltk-3.2 → nltk-3.3}/nltk/twitter/api.py +141 -136
- {nltk-3.2 → nltk-3.3}/nltk/twitter/common.py +264 -258
- {nltk-3.2 → nltk-3.3}/nltk/twitter/twitter_demo.py +288 -288
- {nltk-3.2 → nltk-3.3}/nltk/twitter/twitterclient.py +530 -530
- {nltk-3.2 → nltk-3.3}/nltk/twitter/util.py +147 -146
- nltk-3.3/nltk/util.py +751 -0
- {nltk-3.2 → nltk-3.3}/nltk/wsd.py +53 -53
- {nltk-3.2 → nltk-3.3/nltk.egg-info}/PKG-INFO +13 -5
- {nltk-3.2 → nltk-3.3}/nltk.egg-info/SOURCES.txt +26 -3
- nltk-3.3/nltk.egg-info/requires.txt +31 -0
- {nltk-3.2 → nltk-3.3}/setup.cfg +0 -1
- {nltk-3.2 → nltk-3.3}/setup.py +102 -75
- nltk-3.2/nltk/VERSION +0 -1
- nltk-3.2/nltk/compat.py +0 -680
- nltk-3.2/nltk/corpus/reader/pl196x.py +0 -278
- nltk-3.2/nltk/corpus/reader/verbnet.py +0 -408
- nltk-3.2/nltk/corpus/reader/wordlist.py +0 -37
- nltk-3.2/nltk/sentiment/vader_lexicon.txt +0 -7517
- nltk-3.2/nltk/six.py +0 -868
- nltk-3.2/nltk/stem/porter.py +0 -692
- nltk-3.2/nltk/test/unit/test_2x_compat.py +0 -26
- nltk-3.2/nltk/test/unit/test_stem.py +0 -36
- nltk-3.2/nltk/test/unit/test_tokenize.py +0 -23
- nltk-3.2/nltk/test/unit/translate/test_bleu.py +0 -84
- nltk-3.2/nltk/tokenize/treebank.py +0 -124
- nltk-3.2/nltk/tokenize/util.py +0 -90
- nltk-3.2/nltk/util.py +0 -1364
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/__init__.py +0 -0
- {nltk-3.2 → nltk-3.3}/nltk/test/unit/translate/__init__.py +0 -0
- {nltk-3.2 → nltk-3.3}/nltk.egg-info/dependency_links.txt +0 -0
- {nltk-3.2 → nltk-3.3}/nltk.egg-info/not-zip-safe +0 -0
- {nltk-3.2 → nltk-3.3}/nltk.egg-info/top_level.txt +0 -0
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
.. Copyright (C) 2001-
|
|
2
|
-
.. For license information, see LICENSE.TXT
|
|
3
|
-
|
|
4
|
-
========================================================
|
|
5
|
-
Unit tests for nltk.treeprettyprinter.TreePrettyPrinter
|
|
6
|
-
========================================================
|
|
7
|
-
|
|
8
|
-
>>> from nltk.tree import Tree
|
|
9
|
-
>>> from nltk.treeprettyprinter import TreePrettyPrinter
|
|
10
|
-
|
|
11
|
-
Tree nr 2170 from nltk.corpus.treebank:
|
|
12
|
-
|
|
13
|
-
>>> tree = Tree.fromstring(
|
|
14
|
-
... '(S (NP-SBJ (PRP I)) (VP (VBP feel) (ADJP-PRD (RB pretty) '
|
|
15
|
-
... '(JJ good)) (PP-CLR (IN about) (NP (PRP it)))) (. .))')
|
|
16
|
-
>>> tpp = TreePrettyPrinter(tree)
|
|
17
|
-
>>> print(tpp.text())
|
|
18
|
-
S
|
|
19
|
-
__________________________|_____________________
|
|
20
|
-
| VP |
|
|
21
|
-
| ____________________|___________ |
|
|
22
|
-
| | | PP-CLR |
|
|
23
|
-
| | | _____|_____ |
|
|
24
|
-
NP-SBJ | ADJP-PRD | NP |
|
|
25
|
-
| | _______|______ | | |
|
|
26
|
-
PRP VBP RB JJ IN PRP .
|
|
27
|
-
| | | | | | |
|
|
28
|
-
I feel pretty good about it .
|
|
29
|
-
|
|
30
|
-
>>> print(tpp.text(unicodelines=True))
|
|
31
|
-
S
|
|
32
|
-
┌──────────────────────────┼─────────────────────┐
|
|
33
|
-
│ VP │
|
|
34
|
-
│ ┌─────────────┬──────┴───────────┐ │
|
|
35
|
-
│ │ │ PP-CLR │
|
|
36
|
-
│ │ │ ┌─────┴─────┐ │
|
|
37
|
-
NP-SBJ │ ADJP-PRD │ NP │
|
|
38
|
-
│ │ ┌───────┴──────┐ │ │ │
|
|
39
|
-
PRP VBP RB JJ IN PRP .
|
|
40
|
-
│ │ │ │ │ │ │
|
|
41
|
-
I feel pretty good about it .
|
|
42
|
-
|
|
43
|
-
A tree with long labels:
|
|
44
|
-
|
|
45
|
-
>>> tree = Tree.fromstring(
|
|
46
|
-
... '(sentence (plural-noun-phrase (plural-noun Superconductors)) '
|
|
47
|
-
... '(verb-phrase (plural-verb conduct) '
|
|
48
|
-
... '(noun-phrase (singular-noun electricity))))')
|
|
49
|
-
>>> tpp = TreePrettyPrinter(tree)
|
|
50
|
-
>>> print(tpp.text(abbreviate=8, nodedist=2))
|
|
51
|
-
sentence
|
|
52
|
-
__________|__________
|
|
53
|
-
| verb-phr.
|
|
54
|
-
| __________|__________
|
|
55
|
-
plural-n. | noun-phr.
|
|
56
|
-
| | |
|
|
57
|
-
plural-n. plural-v. singular.
|
|
58
|
-
| | |
|
|
59
|
-
Supercon. conduct electric.
|
|
60
|
-
|
|
61
|
-
>>> print(tpp.text(maxwidth=8, nodedist=2))
|
|
62
|
-
sentence
|
|
63
|
-
_________|________
|
|
64
|
-
| verb-
|
|
65
|
-
| phrase
|
|
66
|
-
| ________|_________
|
|
67
|
-
plural- | noun-
|
|
68
|
-
noun- | phrase
|
|
69
|
-
phrase | |
|
|
70
|
-
| | |
|
|
71
|
-
plural- plural- singular-
|
|
72
|
-
noun verb noun
|
|
73
|
-
| | |
|
|
74
|
-
Supercon conduct electric
|
|
75
|
-
ductors ity
|
|
76
|
-
|
|
77
|
-
A discontinuous tree:
|
|
78
|
-
|
|
79
|
-
>>> tree = Tree.fromstring(
|
|
80
|
-
... '(top (punct 8) (smain (noun 0) (verb 1) (inf (verb 5) (inf (verb 6) '
|
|
81
|
-
... '(conj (inf (pp (prep 2) (np (det 3) (noun 4))) (verb 7)) (inf (verb 9)) '
|
|
82
|
-
... '(vg 10) (inf (verb 11)))))) (punct 12))', read_leaf=int)
|
|
83
|
-
>>> sentence = ('Ze had met haar moeder kunnen gaan winkelen ,'
|
|
84
|
-
... ' zwemmen of terrassen .'.split())
|
|
85
|
-
>>> tpp = TreePrettyPrinter(tree, sentence)
|
|
86
|
-
>>> print(tpp.text())
|
|
87
|
-
top
|
|
88
|
-
_____|______________________________________________
|
|
89
|
-
smain | |
|
|
90
|
-
_______________________________|_____ | |
|
|
91
|
-
| | inf | |
|
|
92
|
-
| | _____|____ | |
|
|
93
|
-
| | | inf | |
|
|
94
|
-
| | | ____|_____ | |
|
|
95
|
-
| | | | conj | |
|
|
96
|
-
| | _____ | ___ | _________|______ | __________________ |
|
|
97
|
-
| | inf | | | | | | |
|
|
98
|
-
| | _________|_____ | ___ | _________ | | | | |
|
|
99
|
-
| | pp | | | | | | | |
|
|
100
|
-
| | ____|____ | | | | | | | |
|
|
101
|
-
| | | np | | | | inf | inf |
|
|
102
|
-
| | | ____|____ | | | | | | | |
|
|
103
|
-
noun verb prep det noun verb verb verb punct verb vg verb punct
|
|
104
|
-
| | | | | | | | | | | | |
|
|
105
|
-
Ze had met haar moeder kunnen gaan winkelen , zwemmen of terrassen .
|
|
106
|
-
|
|
107
|
-
>>> print(tpp.text(unicodelines=True))
|
|
108
|
-
top
|
|
109
|
-
┌─────┴──────────────────┬───────────────────────────┐
|
|
110
|
-
smain │ │
|
|
111
|
-
┌────┬──────────────────────────┴─────┐ │ │
|
|
112
|
-
│ │ inf │ │
|
|
113
|
-
│ │ ┌─────┴────┐ │ │
|
|
114
|
-
│ │ │ inf │ │
|
|
115
|
-
│ │ │ ┌────┴─────┐ │ │
|
|
116
|
-
│ │ │ │ conj │ │
|
|
117
|
-
│ │ ┌───── │ ─── │ ─────────┴────── │ ─────┬─────┬──────┐ │
|
|
118
|
-
│ │ inf │ │ │ │ │ │ │
|
|
119
|
-
│ │ ┌─────────┴───── │ ─── │ ─────────┐ │ │ │ │ │
|
|
120
|
-
│ │ pp │ │ │ │ │ │ │ │
|
|
121
|
-
│ │ ┌────┴────┐ │ │ │ │ │ │ │ │
|
|
122
|
-
│ │ │ np │ │ │ │ inf │ inf │
|
|
123
|
-
│ │ │ ┌────┴────┐ │ │ │ │ │ │ │ │
|
|
124
|
-
noun verb prep det noun verb verb verb punct verb vg verb punct
|
|
125
|
-
│ │ │ │ │ │ │ │ │ │ │ │ │
|
|
126
|
-
Ze had met haar moeder kunnen gaan winkelen , zwemmen of terrassen .
|
|
127
|
-
|
|
1
|
+
.. Copyright (C) 2001-2018 NLTK Project
|
|
2
|
+
.. For license information, see LICENSE.TXT
|
|
3
|
+
|
|
4
|
+
========================================================
|
|
5
|
+
Unit tests for nltk.treeprettyprinter.TreePrettyPrinter
|
|
6
|
+
========================================================
|
|
7
|
+
|
|
8
|
+
>>> from nltk.tree import Tree
|
|
9
|
+
>>> from nltk.treeprettyprinter import TreePrettyPrinter
|
|
10
|
+
|
|
11
|
+
Tree nr 2170 from nltk.corpus.treebank:
|
|
12
|
+
|
|
13
|
+
>>> tree = Tree.fromstring(
|
|
14
|
+
... '(S (NP-SBJ (PRP I)) (VP (VBP feel) (ADJP-PRD (RB pretty) '
|
|
15
|
+
... '(JJ good)) (PP-CLR (IN about) (NP (PRP it)))) (. .))')
|
|
16
|
+
>>> tpp = TreePrettyPrinter(tree)
|
|
17
|
+
>>> print(tpp.text())
|
|
18
|
+
S
|
|
19
|
+
__________________________|_____________________
|
|
20
|
+
| VP |
|
|
21
|
+
| ____________________|___________ |
|
|
22
|
+
| | | PP-CLR |
|
|
23
|
+
| | | _____|_____ |
|
|
24
|
+
NP-SBJ | ADJP-PRD | NP |
|
|
25
|
+
| | _______|______ | | |
|
|
26
|
+
PRP VBP RB JJ IN PRP .
|
|
27
|
+
| | | | | | |
|
|
28
|
+
I feel pretty good about it .
|
|
29
|
+
|
|
30
|
+
>>> print(tpp.text(unicodelines=True))
|
|
31
|
+
S
|
|
32
|
+
┌──────────────────────────┼─────────────────────┐
|
|
33
|
+
│ VP │
|
|
34
|
+
│ ┌─────────────┬──────┴───────────┐ │
|
|
35
|
+
│ │ │ PP-CLR │
|
|
36
|
+
│ │ │ ┌─────┴─────┐ │
|
|
37
|
+
NP-SBJ │ ADJP-PRD │ NP │
|
|
38
|
+
│ │ ┌───────┴──────┐ │ │ │
|
|
39
|
+
PRP VBP RB JJ IN PRP .
|
|
40
|
+
│ │ │ │ │ │ │
|
|
41
|
+
I feel pretty good about it .
|
|
42
|
+
|
|
43
|
+
A tree with long labels:
|
|
44
|
+
|
|
45
|
+
>>> tree = Tree.fromstring(
|
|
46
|
+
... '(sentence (plural-noun-phrase (plural-noun Superconductors)) '
|
|
47
|
+
... '(verb-phrase (plural-verb conduct) '
|
|
48
|
+
... '(noun-phrase (singular-noun electricity))))')
|
|
49
|
+
>>> tpp = TreePrettyPrinter(tree)
|
|
50
|
+
>>> print(tpp.text(abbreviate=8, nodedist=2))
|
|
51
|
+
sentence
|
|
52
|
+
__________|__________
|
|
53
|
+
| verb-phr.
|
|
54
|
+
| __________|__________
|
|
55
|
+
plural-n. | noun-phr.
|
|
56
|
+
| | |
|
|
57
|
+
plural-n. plural-v. singular.
|
|
58
|
+
| | |
|
|
59
|
+
Supercon. conduct electric.
|
|
60
|
+
|
|
61
|
+
>>> print(tpp.text(maxwidth=8, nodedist=2))
|
|
62
|
+
sentence
|
|
63
|
+
_________|________
|
|
64
|
+
| verb-
|
|
65
|
+
| phrase
|
|
66
|
+
| ________|_________
|
|
67
|
+
plural- | noun-
|
|
68
|
+
noun- | phrase
|
|
69
|
+
phrase | |
|
|
70
|
+
| | |
|
|
71
|
+
plural- plural- singular-
|
|
72
|
+
noun verb noun
|
|
73
|
+
| | |
|
|
74
|
+
Supercon conduct electric
|
|
75
|
+
ductors ity
|
|
76
|
+
|
|
77
|
+
A discontinuous tree:
|
|
78
|
+
|
|
79
|
+
>>> tree = Tree.fromstring(
|
|
80
|
+
... '(top (punct 8) (smain (noun 0) (verb 1) (inf (verb 5) (inf (verb 6) '
|
|
81
|
+
... '(conj (inf (pp (prep 2) (np (det 3) (noun 4))) (verb 7)) (inf (verb 9)) '
|
|
82
|
+
... '(vg 10) (inf (verb 11)))))) (punct 12))', read_leaf=int)
|
|
83
|
+
>>> sentence = ('Ze had met haar moeder kunnen gaan winkelen ,'
|
|
84
|
+
... ' zwemmen of terrassen .'.split())
|
|
85
|
+
>>> tpp = TreePrettyPrinter(tree, sentence)
|
|
86
|
+
>>> print(tpp.text())
|
|
87
|
+
top
|
|
88
|
+
_____|______________________________________________
|
|
89
|
+
smain | |
|
|
90
|
+
_______________________________|_____ | |
|
|
91
|
+
| | inf | |
|
|
92
|
+
| | _____|____ | |
|
|
93
|
+
| | | inf | |
|
|
94
|
+
| | | ____|_____ | |
|
|
95
|
+
| | | | conj | |
|
|
96
|
+
| | _____ | ___ | _________|______ | __________________ |
|
|
97
|
+
| | inf | | | | | | |
|
|
98
|
+
| | _________|_____ | ___ | _________ | | | | |
|
|
99
|
+
| | pp | | | | | | | |
|
|
100
|
+
| | ____|____ | | | | | | | |
|
|
101
|
+
| | | np | | | | inf | inf |
|
|
102
|
+
| | | ____|____ | | | | | | | |
|
|
103
|
+
noun verb prep det noun verb verb verb punct verb vg verb punct
|
|
104
|
+
| | | | | | | | | | | | |
|
|
105
|
+
Ze had met haar moeder kunnen gaan winkelen , zwemmen of terrassen .
|
|
106
|
+
|
|
107
|
+
>>> print(tpp.text(unicodelines=True))
|
|
108
|
+
top
|
|
109
|
+
┌─────┴──────────────────┬───────────────────────────┐
|
|
110
|
+
smain │ │
|
|
111
|
+
┌────┬──────────────────────────┴─────┐ │ │
|
|
112
|
+
│ │ inf │ │
|
|
113
|
+
│ │ ┌─────┴────┐ │ │
|
|
114
|
+
│ │ │ inf │ │
|
|
115
|
+
│ │ │ ┌────┴─────┐ │ │
|
|
116
|
+
│ │ │ │ conj │ │
|
|
117
|
+
│ │ ┌───── │ ─── │ ─────────┴────── │ ─────┬─────┬──────┐ │
|
|
118
|
+
│ │ inf │ │ │ │ │ │ │
|
|
119
|
+
│ │ ┌─────────┴───── │ ─── │ ─────────┐ │ │ │ │ │
|
|
120
|
+
│ │ pp │ │ │ │ │ │ │ │
|
|
121
|
+
│ │ ┌────┴────┐ │ │ │ │ │ │ │ │
|
|
122
|
+
│ │ │ np │ │ │ │ inf │ inf │
|
|
123
|
+
│ │ │ ┌────┴────┐ │ │ │ │ │ │ │ │
|
|
124
|
+
noun verb prep det noun verb verb verb punct verb vg verb punct
|
|
125
|
+
│ │ │ │ │ │ │ │ │ │ │ │ │
|
|
126
|
+
Ze had met haar moeder kunnen gaan winkelen , zwemmen of terrassen .
|
|
127
|
+
|
|
@@ -1,156 +1,156 @@
|
|
|
1
|
-
.. Copyright (C) 2001-
|
|
2
|
-
.. For license information, see LICENSE.TXT
|
|
3
|
-
|
|
4
|
-
-------------------------------------------
|
|
5
|
-
Unit tests for the TreeTransformation class
|
|
6
|
-
-------------------------------------------
|
|
7
|
-
|
|
8
|
-
>>> from copy import deepcopy
|
|
9
|
-
>>> from nltk.tree import *
|
|
10
|
-
>>> from nltk.treetransforms import *
|
|
11
|
-
|
|
12
|
-
>>> tree_string = "(TOP (S (S (VP (VBN Turned) (ADVP (RB loose)) (PP (IN in) (NP (NP (NNP Shane) (NNP Longman) (POS 's)) (NN trading) (NN room))))) (, ,) (NP (DT the) (NN yuppie) (NNS dealers)) (VP (AUX do) (NP (NP (RB little)) (ADJP (RB right)))) (. .)))"
|
|
13
|
-
|
|
14
|
-
>>> tree = Tree.fromstring(tree_string)
|
|
15
|
-
>>> print(tree)
|
|
16
|
-
(TOP
|
|
17
|
-
(S
|
|
18
|
-
(S
|
|
19
|
-
(VP
|
|
20
|
-
(VBN Turned)
|
|
21
|
-
(ADVP (RB loose))
|
|
22
|
-
(PP
|
|
23
|
-
(IN in)
|
|
24
|
-
(NP
|
|
25
|
-
(NP (NNP Shane) (NNP Longman) (POS 's))
|
|
26
|
-
(NN trading)
|
|
27
|
-
(NN room)))))
|
|
28
|
-
(, ,)
|
|
29
|
-
(NP (DT the) (NN yuppie) (NNS dealers))
|
|
30
|
-
(VP (AUX do) (NP (NP (RB little)) (ADJP (RB right))))
|
|
31
|
-
(. .)))
|
|
32
|
-
|
|
33
|
-
Make a copy of the original tree and collapse the subtrees with only one child
|
|
34
|
-
|
|
35
|
-
>>> collapsedTree = deepcopy(tree)
|
|
36
|
-
>>> collapse_unary(collapsedTree)
|
|
37
|
-
>>> print(collapsedTree)
|
|
38
|
-
(TOP
|
|
39
|
-
(S
|
|
40
|
-
(S+VP
|
|
41
|
-
(VBN Turned)
|
|
42
|
-
(ADVP (RB loose))
|
|
43
|
-
(PP
|
|
44
|
-
(IN in)
|
|
45
|
-
(NP
|
|
46
|
-
(NP (NNP Shane) (NNP Longman) (POS 's))
|
|
47
|
-
(NN trading)
|
|
48
|
-
(NN room))))
|
|
49
|
-
(, ,)
|
|
50
|
-
(NP (DT the) (NN yuppie) (NNS dealers))
|
|
51
|
-
(VP (AUX do) (NP (NP (RB little)) (ADJP (RB right))))
|
|
52
|
-
(. .)))
|
|
53
|
-
|
|
54
|
-
>>> collapsedTree2 = deepcopy(tree)
|
|
55
|
-
>>> collapse_unary(collapsedTree2, collapsePOS=True, collapseRoot=True)
|
|
56
|
-
>>> print(collapsedTree2)
|
|
57
|
-
(TOP+S
|
|
58
|
-
(S+VP
|
|
59
|
-
(VBN Turned)
|
|
60
|
-
(ADVP+RB loose)
|
|
61
|
-
(PP
|
|
62
|
-
(IN in)
|
|
63
|
-
(NP
|
|
64
|
-
(NP (NNP Shane) (NNP Longman) (POS 's))
|
|
65
|
-
(NN trading)
|
|
66
|
-
(NN room))))
|
|
67
|
-
(, ,)
|
|
68
|
-
(NP (DT the) (NN yuppie) (NNS dealers))
|
|
69
|
-
(VP (AUX do) (NP (NP+RB little) (ADJP+RB right)))
|
|
70
|
-
(. .))
|
|
71
|
-
|
|
72
|
-
Convert the tree to Chomsky Normal Form i.e. each subtree has either two
|
|
73
|
-
subtree children or a single leaf value. This conversion can be performed
|
|
74
|
-
using either left- or right-factoring.
|
|
75
|
-
|
|
76
|
-
>>> cnfTree = deepcopy(collapsedTree)
|
|
77
|
-
>>> chomsky_normal_form(cnfTree, factor='left')
|
|
78
|
-
>>> print(cnfTree)
|
|
79
|
-
(TOP
|
|
80
|
-
(S
|
|
81
|
-
(S|<S+VP-,-NP-VP>
|
|
82
|
-
(S|<S+VP-,-NP>
|
|
83
|
-
(S|<S+VP-,>
|
|
84
|
-
(S+VP
|
|
85
|
-
(S+VP|<VBN-ADVP> (VBN Turned) (ADVP (RB loose)))
|
|
86
|
-
(PP
|
|
87
|
-
(IN in)
|
|
88
|
-
(NP
|
|
89
|
-
(NP|<NP-NN>
|
|
90
|
-
(NP
|
|
91
|
-
(NP|<NNP-NNP> (NNP Shane) (NNP Longman))
|
|
92
|
-
(POS 's))
|
|
93
|
-
(NN trading))
|
|
94
|
-
(NN room))))
|
|
95
|
-
(, ,))
|
|
96
|
-
(NP (NP|<DT-NN> (DT the) (NN yuppie)) (NNS dealers)))
|
|
97
|
-
(VP (AUX do) (NP (NP (RB little)) (ADJP (RB right)))))
|
|
98
|
-
(. .)))
|
|
99
|
-
|
|
100
|
-
>>> cnfTree = deepcopy(collapsedTree)
|
|
101
|
-
>>> chomsky_normal_form(cnfTree, factor='right')
|
|
102
|
-
>>> print(cnfTree)
|
|
103
|
-
(TOP
|
|
104
|
-
(S
|
|
105
|
-
(S+VP
|
|
106
|
-
(VBN Turned)
|
|
107
|
-
(S+VP|<ADVP-PP>
|
|
108
|
-
(ADVP (RB loose))
|
|
109
|
-
(PP
|
|
110
|
-
(IN in)
|
|
111
|
-
(NP
|
|
112
|
-
(NP (NNP Shane) (NP|<NNP-POS> (NNP Longman) (POS 's)))
|
|
113
|
-
(NP|<NN-NN> (NN trading) (NN room))))))
|
|
114
|
-
(S|<,-NP-VP-.>
|
|
115
|
-
(, ,)
|
|
116
|
-
(S|<NP-VP-.>
|
|
117
|
-
(NP (DT the) (NP|<NN-NNS> (NN yuppie) (NNS dealers)))
|
|
118
|
-
(S|<VP-.>
|
|
119
|
-
(VP (AUX do) (NP (NP (RB little)) (ADJP (RB right))))
|
|
120
|
-
(. .))))))
|
|
121
|
-
|
|
122
|
-
Employ some Markov smoothing to make the artificial node labels a bit more
|
|
123
|
-
readable. See the treetransforms.py documentation for more details.
|
|
124
|
-
|
|
125
|
-
>>> markovTree = deepcopy(collapsedTree)
|
|
126
|
-
>>> chomsky_normal_form(markovTree, horzMarkov=2, vertMarkov=1)
|
|
127
|
-
>>> print(markovTree)
|
|
128
|
-
(TOP
|
|
129
|
-
(S^<TOP>
|
|
130
|
-
(S+VP^<S>
|
|
131
|
-
(VBN Turned)
|
|
132
|
-
(S+VP|<ADVP-PP>^<S>
|
|
133
|
-
(ADVP^<S+VP> (RB loose))
|
|
134
|
-
(PP^<S+VP>
|
|
135
|
-
(IN in)
|
|
136
|
-
(NP^<PP>
|
|
137
|
-
(NP^<NP>
|
|
138
|
-
(NNP Shane)
|
|
139
|
-
(NP|<NNP-POS>^<NP> (NNP Longman) (POS 's)))
|
|
140
|
-
(NP|<NN-NN>^<PP> (NN trading) (NN room))))))
|
|
141
|
-
(S|<,-NP>^<TOP>
|
|
142
|
-
(, ,)
|
|
143
|
-
(S|<NP-VP>^<TOP>
|
|
144
|
-
(NP^<S> (DT the) (NP|<NN-NNS>^<S> (NN yuppie) (NNS dealers)))
|
|
145
|
-
(S|<VP-.>^<TOP>
|
|
146
|
-
(VP^<S>
|
|
147
|
-
(AUX do)
|
|
148
|
-
(NP^<VP> (NP^<NP> (RB little)) (ADJP^<NP> (RB right))))
|
|
149
|
-
(. .))))))
|
|
150
|
-
|
|
151
|
-
Convert the transformed tree back to its original form
|
|
152
|
-
|
|
153
|
-
>>> un_chomsky_normal_form(markovTree)
|
|
154
|
-
>>> tree == markovTree
|
|
155
|
-
True
|
|
156
|
-
|
|
1
|
+
.. Copyright (C) 2001-2018 NLTK Project
|
|
2
|
+
.. For license information, see LICENSE.TXT
|
|
3
|
+
|
|
4
|
+
-------------------------------------------
|
|
5
|
+
Unit tests for the TreeTransformation class
|
|
6
|
+
-------------------------------------------
|
|
7
|
+
|
|
8
|
+
>>> from copy import deepcopy
|
|
9
|
+
>>> from nltk.tree import *
|
|
10
|
+
>>> from nltk.treetransforms import *
|
|
11
|
+
|
|
12
|
+
>>> tree_string = "(TOP (S (S (VP (VBN Turned) (ADVP (RB loose)) (PP (IN in) (NP (NP (NNP Shane) (NNP Longman) (POS 's)) (NN trading) (NN room))))) (, ,) (NP (DT the) (NN yuppie) (NNS dealers)) (VP (AUX do) (NP (NP (RB little)) (ADJP (RB right)))) (. .)))"
|
|
13
|
+
|
|
14
|
+
>>> tree = Tree.fromstring(tree_string)
|
|
15
|
+
>>> print(tree)
|
|
16
|
+
(TOP
|
|
17
|
+
(S
|
|
18
|
+
(S
|
|
19
|
+
(VP
|
|
20
|
+
(VBN Turned)
|
|
21
|
+
(ADVP (RB loose))
|
|
22
|
+
(PP
|
|
23
|
+
(IN in)
|
|
24
|
+
(NP
|
|
25
|
+
(NP (NNP Shane) (NNP Longman) (POS 's))
|
|
26
|
+
(NN trading)
|
|
27
|
+
(NN room)))))
|
|
28
|
+
(, ,)
|
|
29
|
+
(NP (DT the) (NN yuppie) (NNS dealers))
|
|
30
|
+
(VP (AUX do) (NP (NP (RB little)) (ADJP (RB right))))
|
|
31
|
+
(. .)))
|
|
32
|
+
|
|
33
|
+
Make a copy of the original tree and collapse the subtrees with only one child
|
|
34
|
+
|
|
35
|
+
>>> collapsedTree = deepcopy(tree)
|
|
36
|
+
>>> collapse_unary(collapsedTree)
|
|
37
|
+
>>> print(collapsedTree)
|
|
38
|
+
(TOP
|
|
39
|
+
(S
|
|
40
|
+
(S+VP
|
|
41
|
+
(VBN Turned)
|
|
42
|
+
(ADVP (RB loose))
|
|
43
|
+
(PP
|
|
44
|
+
(IN in)
|
|
45
|
+
(NP
|
|
46
|
+
(NP (NNP Shane) (NNP Longman) (POS 's))
|
|
47
|
+
(NN trading)
|
|
48
|
+
(NN room))))
|
|
49
|
+
(, ,)
|
|
50
|
+
(NP (DT the) (NN yuppie) (NNS dealers))
|
|
51
|
+
(VP (AUX do) (NP (NP (RB little)) (ADJP (RB right))))
|
|
52
|
+
(. .)))
|
|
53
|
+
|
|
54
|
+
>>> collapsedTree2 = deepcopy(tree)
|
|
55
|
+
>>> collapse_unary(collapsedTree2, collapsePOS=True, collapseRoot=True)
|
|
56
|
+
>>> print(collapsedTree2)
|
|
57
|
+
(TOP+S
|
|
58
|
+
(S+VP
|
|
59
|
+
(VBN Turned)
|
|
60
|
+
(ADVP+RB loose)
|
|
61
|
+
(PP
|
|
62
|
+
(IN in)
|
|
63
|
+
(NP
|
|
64
|
+
(NP (NNP Shane) (NNP Longman) (POS 's))
|
|
65
|
+
(NN trading)
|
|
66
|
+
(NN room))))
|
|
67
|
+
(, ,)
|
|
68
|
+
(NP (DT the) (NN yuppie) (NNS dealers))
|
|
69
|
+
(VP (AUX do) (NP (NP+RB little) (ADJP+RB right)))
|
|
70
|
+
(. .))
|
|
71
|
+
|
|
72
|
+
Convert the tree to Chomsky Normal Form i.e. each subtree has either two
|
|
73
|
+
subtree children or a single leaf value. This conversion can be performed
|
|
74
|
+
using either left- or right-factoring.
|
|
75
|
+
|
|
76
|
+
>>> cnfTree = deepcopy(collapsedTree)
|
|
77
|
+
>>> chomsky_normal_form(cnfTree, factor='left')
|
|
78
|
+
>>> print(cnfTree)
|
|
79
|
+
(TOP
|
|
80
|
+
(S
|
|
81
|
+
(S|<S+VP-,-NP-VP>
|
|
82
|
+
(S|<S+VP-,-NP>
|
|
83
|
+
(S|<S+VP-,>
|
|
84
|
+
(S+VP
|
|
85
|
+
(S+VP|<VBN-ADVP> (VBN Turned) (ADVP (RB loose)))
|
|
86
|
+
(PP
|
|
87
|
+
(IN in)
|
|
88
|
+
(NP
|
|
89
|
+
(NP|<NP-NN>
|
|
90
|
+
(NP
|
|
91
|
+
(NP|<NNP-NNP> (NNP Shane) (NNP Longman))
|
|
92
|
+
(POS 's))
|
|
93
|
+
(NN trading))
|
|
94
|
+
(NN room))))
|
|
95
|
+
(, ,))
|
|
96
|
+
(NP (NP|<DT-NN> (DT the) (NN yuppie)) (NNS dealers)))
|
|
97
|
+
(VP (AUX do) (NP (NP (RB little)) (ADJP (RB right)))))
|
|
98
|
+
(. .)))
|
|
99
|
+
|
|
100
|
+
>>> cnfTree = deepcopy(collapsedTree)
|
|
101
|
+
>>> chomsky_normal_form(cnfTree, factor='right')
|
|
102
|
+
>>> print(cnfTree)
|
|
103
|
+
(TOP
|
|
104
|
+
(S
|
|
105
|
+
(S+VP
|
|
106
|
+
(VBN Turned)
|
|
107
|
+
(S+VP|<ADVP-PP>
|
|
108
|
+
(ADVP (RB loose))
|
|
109
|
+
(PP
|
|
110
|
+
(IN in)
|
|
111
|
+
(NP
|
|
112
|
+
(NP (NNP Shane) (NP|<NNP-POS> (NNP Longman) (POS 's)))
|
|
113
|
+
(NP|<NN-NN> (NN trading) (NN room))))))
|
|
114
|
+
(S|<,-NP-VP-.>
|
|
115
|
+
(, ,)
|
|
116
|
+
(S|<NP-VP-.>
|
|
117
|
+
(NP (DT the) (NP|<NN-NNS> (NN yuppie) (NNS dealers)))
|
|
118
|
+
(S|<VP-.>
|
|
119
|
+
(VP (AUX do) (NP (NP (RB little)) (ADJP (RB right))))
|
|
120
|
+
(. .))))))
|
|
121
|
+
|
|
122
|
+
Employ some Markov smoothing to make the artificial node labels a bit more
|
|
123
|
+
readable. See the treetransforms.py documentation for more details.
|
|
124
|
+
|
|
125
|
+
>>> markovTree = deepcopy(collapsedTree)
|
|
126
|
+
>>> chomsky_normal_form(markovTree, horzMarkov=2, vertMarkov=1)
|
|
127
|
+
>>> print(markovTree)
|
|
128
|
+
(TOP
|
|
129
|
+
(S^<TOP>
|
|
130
|
+
(S+VP^<S>
|
|
131
|
+
(VBN Turned)
|
|
132
|
+
(S+VP|<ADVP-PP>^<S>
|
|
133
|
+
(ADVP^<S+VP> (RB loose))
|
|
134
|
+
(PP^<S+VP>
|
|
135
|
+
(IN in)
|
|
136
|
+
(NP^<PP>
|
|
137
|
+
(NP^<NP>
|
|
138
|
+
(NNP Shane)
|
|
139
|
+
(NP|<NNP-POS>^<NP> (NNP Longman) (POS 's)))
|
|
140
|
+
(NP|<NN-NN>^<PP> (NN trading) (NN room))))))
|
|
141
|
+
(S|<,-NP>^<TOP>
|
|
142
|
+
(, ,)
|
|
143
|
+
(S|<NP-VP>^<TOP>
|
|
144
|
+
(NP^<S> (DT the) (NP|<NN-NNS>^<S> (NN yuppie) (NNS dealers)))
|
|
145
|
+
(S|<VP-.>^<TOP>
|
|
146
|
+
(VP^<S>
|
|
147
|
+
(AUX do)
|
|
148
|
+
(NP^<VP> (NP^<NP> (RB little)) (ADJP^<NP> (RB right))))
|
|
149
|
+
(. .))))))
|
|
150
|
+
|
|
151
|
+
Convert the transformed tree back to its original form
|
|
152
|
+
|
|
153
|
+
>>> un_chomsky_normal_form(markovTree)
|
|
154
|
+
>>> tree == markovTree
|
|
155
|
+
True
|
|
156
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
Unit tests for nltk.compat.
|
|
4
|
+
See also nltk/test/compat.doctest.
|
|
5
|
+
"""
|
|
6
|
+
from __future__ import absolute_import, unicode_literals
|
|
7
|
+
import unittest
|
|
8
|
+
|
|
9
|
+
from nltk.text import Text
|
|
10
|
+
from nltk.compat import PY3, python_2_unicode_compatible
|
|
11
|
+
|
|
12
|
+
def setup_module(module):
|
|
13
|
+
from nose import SkipTest
|
|
14
|
+
if PY3:
|
|
15
|
+
raise SkipTest("test_2x_compat is for testing nltk.compat under Python 2.x")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class TestTextTransliteration(unittest.TestCase):
|
|
19
|
+
txt = Text(["São", "Tomé", "and", "Príncipe"])
|
|
20
|
+
|
|
21
|
+
def test_repr(self):
|
|
22
|
+
self.assertEqual(repr(self.txt), br"<Text: S\xe3o Tom\xe9 and Pr\xedncipe...>")
|
|
23
|
+
|
|
24
|
+
def test_str(self):
|
|
25
|
+
self.assertEqual(str(self.txt), b"<Text: Sao Tome and Principe...>")
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class TestFraction(unittest.TestCase):
|
|
29
|
+
def test_unnoramlize_fraction(self):
|
|
30
|
+
from fractions import Fraction as NativePythonFraction
|
|
31
|
+
from nltk.compat import Fraction as NLTKFraction
|
|
32
|
+
|
|
33
|
+
# The native fraction should throw a TypeError in Python < 3.5
|
|
34
|
+
with self.assertRaises(TypeError):
|
|
35
|
+
NativePythonFraction(0, 1000, _normalize=False)
|
|
36
|
+
|
|
37
|
+
# Using nltk.compat.Fraction in Python < 3.5
|
|
38
|
+
compat_frac = NLTKFraction(0, 1000, _normalize=False)
|
|
39
|
+
# The numerator and denominator does not change.
|
|
40
|
+
assert compat_frac.numerator == 0
|
|
41
|
+
assert compat_frac.denominator == 1000
|
|
42
|
+
# The floating point value remains normalized.
|
|
43
|
+
assert float(compat_frac) == 0.0
|
|
44
|
+
|
|
45
|
+
# Checks that the division is not divided by
|
|
46
|
+
# # by greatest common divisor (gcd).
|
|
47
|
+
six_twelve = NLTKFraction(6, 12, _normalize=False)
|
|
48
|
+
assert six_twelve.numerator == 6
|
|
49
|
+
assert six_twelve.denominator == 12
|
|
50
|
+
|
|
51
|
+
one_two = NLTKFraction(1, 2, _normalize=False)
|
|
52
|
+
assert one_two.numerator == 1
|
|
53
|
+
assert one_two.denominator == 2
|
|
54
|
+
|
|
55
|
+
# Checks against the native fraction.
|
|
56
|
+
six_twelve_original = NativePythonFraction(6, 12)
|
|
57
|
+
# Checks that rational values of one_two and six_twelve is the same.
|
|
58
|
+
assert float(one_two) == float(six_twelve) == float(six_twelve_original)
|
|
59
|
+
|
|
60
|
+
# Checks that the fraction does get normalized, even when
|
|
61
|
+
# _normalize == False when numerator is using native
|
|
62
|
+
# fractions.Fraction.from_float
|
|
63
|
+
assert NLTKFraction(3.142, _normalize=False) == NativePythonFraction(3.142)
|