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.
Files changed (404) hide show
  1. {nltk-3.2.1 → nltk-3.3}/LICENSE.txt +1 -1
  2. {nltk-3.2.1/nltk.egg-info → nltk-3.3}/PKG-INFO +13 -5
  3. nltk-3.3/README.md +49 -0
  4. nltk-3.3/nltk/VERSION +1 -0
  5. {nltk-3.2.1 → nltk-3.3}/nltk/__init__.py +3 -3
  6. {nltk-3.2.1 → nltk-3.3}/nltk/app/__init__.py +2 -3
  7. {nltk-3.2.1 → nltk-3.3}/nltk/app/chartparser_app.py +92 -92
  8. {nltk-3.2.1 → nltk-3.3}/nltk/app/chunkparser_app.py +11 -13
  9. {nltk-3.2.1 → nltk-3.3}/nltk/app/collocations_app.py +8 -11
  10. {nltk-3.2.1 → nltk-3.3}/nltk/app/concordance_app.py +9 -11
  11. {nltk-3.2.1 → nltk-3.3}/nltk/app/nemo_app.py +18 -17
  12. {nltk-3.2.1 → nltk-3.3}/nltk/app/rdparser_app.py +10 -12
  13. {nltk-3.2.1 → nltk-3.3}/nltk/app/srparser_app.py +16 -16
  14. {nltk-3.2.1 → nltk-3.3}/nltk/app/wordfreq_app.py +1 -1
  15. {nltk-3.2.1 → nltk-3.3}/nltk/app/wordnet_app.py +11 -11
  16. {nltk-3.2.1 → nltk-3.3}/nltk/book.py +2 -1
  17. {nltk-3.2.1 → nltk-3.3}/nltk/ccg/__init__.py +1 -1
  18. {nltk-3.2.1 → nltk-3.3}/nltk/ccg/api.py +67 -47
  19. {nltk-3.2.1 → nltk-3.3}/nltk/ccg/chart.py +7 -5
  20. {nltk-3.2.1 → nltk-3.3}/nltk/ccg/combinator.py +42 -11
  21. {nltk-3.2.1 → nltk-3.3}/nltk/ccg/lexicon.py +1 -1
  22. {nltk-3.2.1 → nltk-3.3}/nltk/ccg/logic.py +1 -1
  23. {nltk-3.2.1 → nltk-3.3}/nltk/chat/__init__.py +1 -1
  24. {nltk-3.2.1 → nltk-3.3}/nltk/chat/eliza.py +1 -1
  25. {nltk-3.2.1 → nltk-3.3}/nltk/chat/iesha.py +1 -1
  26. {nltk-3.2.1 → nltk-3.3}/nltk/chat/rude.py +1 -1
  27. {nltk-3.2.1 → nltk-3.3}/nltk/chat/suntsu.py +1 -1
  28. {nltk-3.2.1 → nltk-3.3}/nltk/chat/util.py +12 -10
  29. {nltk-3.2.1 → nltk-3.3}/nltk/chat/zen.py +1 -1
  30. {nltk-3.2.1 → nltk-3.3}/nltk/chunk/__init__.py +1 -1
  31. {nltk-3.2.1 → nltk-3.3}/nltk/chunk/api.py +1 -1
  32. {nltk-3.2.1 → nltk-3.3}/nltk/chunk/named_entity.py +13 -13
  33. {nltk-3.2.1 → nltk-3.3}/nltk/chunk/regexp.py +9 -3
  34. {nltk-3.2.1 → nltk-3.3}/nltk/chunk/util.py +12 -12
  35. {nltk-3.2.1 → nltk-3.3}/nltk/classify/__init__.py +1 -1
  36. {nltk-3.2.1 → nltk-3.3}/nltk/classify/api.py +1 -1
  37. {nltk-3.2.1 → nltk-3.3}/nltk/classify/decisiontree.py +18 -18
  38. {nltk-3.2.1 → nltk-3.3}/nltk/classify/maxent.py +26 -8
  39. {nltk-3.2.1 → nltk-3.3}/nltk/classify/megam.py +5 -4
  40. {nltk-3.2.1 → nltk-3.3}/nltk/classify/naivebayes.py +29 -26
  41. {nltk-3.2.1 → nltk-3.3}/nltk/classify/rte_classify.py +58 -89
  42. {nltk-3.2.1 → nltk-3.3}/nltk/classify/scikitlearn.py +4 -2
  43. {nltk-3.2.1 → nltk-3.3}/nltk/classify/senna.py +24 -22
  44. {nltk-3.2.1 → nltk-3.3}/nltk/classify/svm.py +1 -1
  45. {nltk-3.2.1 → nltk-3.3}/nltk/classify/tadm.py +4 -3
  46. {nltk-3.2.1 → nltk-3.3}/nltk/classify/textcat.py +1 -1
  47. {nltk-3.2.1 → nltk-3.3}/nltk/classify/util.py +13 -1
  48. {nltk-3.2.1 → nltk-3.3}/nltk/classify/weka.py +7 -6
  49. {nltk-3.2.1 → nltk-3.3}/nltk/cluster/__init__.py +1 -1
  50. {nltk-3.2.1 → nltk-3.3}/nltk/cluster/api.py +9 -5
  51. {nltk-3.2.1 → nltk-3.3}/nltk/cluster/em.py +1 -1
  52. {nltk-3.2.1 → nltk-3.3}/nltk/cluster/gaac.py +3 -3
  53. {nltk-3.2.1 → nltk-3.3}/nltk/cluster/kmeans.py +1 -1
  54. {nltk-3.2.1 → nltk-3.3}/nltk/cluster/util.py +35 -20
  55. nltk-3.3/nltk/collections.py +640 -0
  56. {nltk-3.2.1 → nltk-3.3}/nltk/collocations.py +2 -2
  57. nltk-3.3/nltk/compat.py +365 -0
  58. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/__init__.py +37 -16
  59. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/europarl_raw.py +1 -1
  60. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/__init__.py +4 -2
  61. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/aligned.py +4 -3
  62. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/api.py +12 -10
  63. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/bnc.py +1 -1
  64. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/bracket_parse.py +1 -1
  65. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/categorized_sents.py +4 -3
  66. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/chasen.py +5 -4
  67. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/childes.py +8 -9
  68. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/chunked.py +4 -4
  69. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/cmudict.py +4 -2
  70. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/comparative_sents.py +4 -2
  71. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/conll.py +19 -12
  72. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/crubadan.py +2 -2
  73. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/dependency.py +1 -1
  74. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/framenet.py +1085 -119
  75. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/ieer.py +4 -3
  76. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/indian.py +4 -5
  77. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/ipipan.py +6 -5
  78. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/knbc.py +2 -2
  79. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/lin.py +1 -1
  80. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/mte.py +5 -4
  81. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/nkjp.py +4 -3
  82. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/nombank.py +8 -8
  83. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/nps_chat.py +1 -1
  84. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/opinion_lexicon.py +3 -3
  85. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/panlex_lite.py +1 -1
  86. nltk-3.3/nltk/corpus/reader/pl196x.py +292 -0
  87. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/plaintext.py +3 -4
  88. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/ppattach.py +4 -3
  89. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/propbank.py +8 -10
  90. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/pros_cons.py +5 -3
  91. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/reviews.py +3 -1
  92. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/rte.py +5 -7
  93. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/semcor.py +1 -1
  94. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/senseval.py +4 -2
  95. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/sentiwordnet.py +3 -3
  96. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/sinica_treebank.py +1 -1
  97. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/string_category.py +4 -3
  98. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/switchboard.py +1 -1
  99. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/tagged.py +4 -3
  100. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/timit.py +10 -8
  101. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/toolbox.py +4 -4
  102. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/twitter.py +4 -6
  103. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/util.py +7 -3
  104. nltk-3.3/nltk/corpus/reader/verbnet.py +595 -0
  105. nltk-3.3/nltk/corpus/reader/wordlist.py +134 -0
  106. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/wordnet.py +357 -285
  107. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/xmldocs.py +10 -5
  108. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/ycoe.py +25 -24
  109. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/util.py +22 -5
  110. {nltk-3.2.1 → nltk-3.3}/nltk/data.py +65 -29
  111. {nltk-3.2.1 → nltk-3.3}/nltk/decorators.py +5 -1
  112. {nltk-3.2.1 → nltk-3.3}/nltk/downloader.py +59 -55
  113. {nltk-3.2.1 → nltk-3.3}/nltk/draw/__init__.py +4 -4
  114. {nltk-3.2.1 → nltk-3.3}/nltk/draw/cfg.py +5 -8
  115. {nltk-3.2.1 → nltk-3.3}/nltk/draw/dispersion.py +1 -1
  116. {nltk-3.2.1 → nltk-3.3}/nltk/draw/table.py +4 -4
  117. {nltk-3.2.1 → nltk-3.3}/nltk/draw/tree.py +2 -5
  118. {nltk-3.2.1 → nltk-3.3}/nltk/draw/util.py +17 -17
  119. {nltk-3.2.1 → nltk-3.3}/nltk/featstruct.py +290 -173
  120. {nltk-3.2.1 → nltk-3.3}/nltk/grammar.py +87 -44
  121. {nltk-3.2.1 → nltk-3.3}/nltk/help.py +1 -1
  122. {nltk-3.2.1 → nltk-3.3}/nltk/inference/__init__.py +1 -1
  123. {nltk-3.2.1 → nltk-3.3}/nltk/inference/api.py +27 -19
  124. {nltk-3.2.1 → nltk-3.3}/nltk/inference/discourse.py +20 -16
  125. {nltk-3.2.1 → nltk-3.3}/nltk/inference/nonmonotonic.py +1 -1
  126. {nltk-3.2.1 → nltk-3.3}/nltk/inference/prover9.py +1 -1
  127. {nltk-3.2.1 → nltk-3.3}/nltk/inference/resolution.py +1 -1
  128. {nltk-3.2.1 → nltk-3.3}/nltk/inference/tableau.py +1 -1
  129. {nltk-3.2.1 → nltk-3.3}/nltk/internals.py +44 -44
  130. {nltk-3.2.1 → nltk-3.3}/nltk/jsontags.py +1 -1
  131. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/__init__.py +2 -1
  132. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/agreement.py +29 -9
  133. nltk-3.3/nltk/metrics/aline.py +607 -0
  134. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/association.py +8 -4
  135. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/confusionmatrix.py +1 -1
  136. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/distance.py +12 -7
  137. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/paice.py +1 -1
  138. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/scores.py +7 -7
  139. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/segmentation.py +4 -5
  140. {nltk-3.2.1 → nltk-3.3}/nltk/metrics/spearman.py +1 -1
  141. {nltk-3.2.1 → nltk-3.3}/nltk/misc/__init__.py +1 -1
  142. {nltk-3.2.1 → nltk-3.3}/nltk/misc/chomsky.py +4 -2
  143. {nltk-3.2.1 → nltk-3.3}/nltk/misc/minimalset.py +1 -1
  144. {nltk-3.2.1 → nltk-3.3}/nltk/misc/sort.py +1 -1
  145. {nltk-3.2.1 → nltk-3.3}/nltk/misc/wordfinder.py +1 -1
  146. {nltk-3.2.1 → nltk-3.3}/nltk/parse/__init__.py +2 -1
  147. {nltk-3.2.1 → nltk-3.3}/nltk/parse/api.py +1 -1
  148. {nltk-3.2.1 → nltk-3.3}/nltk/parse/bllip.py +1 -1
  149. {nltk-3.2.1 → nltk-3.3}/nltk/parse/chart.py +8 -7
  150. nltk-3.3/nltk/parse/corenlp.py +780 -0
  151. {nltk-3.2.1 → nltk-3.3}/nltk/parse/dependencygraph.py +4 -2
  152. {nltk-3.2.1 → nltk-3.3}/nltk/parse/earleychart.py +4 -3
  153. {nltk-3.2.1 → nltk-3.3}/nltk/parse/evaluate.py +1 -1
  154. {nltk-3.2.1 → nltk-3.3}/nltk/parse/featurechart.py +6 -4
  155. {nltk-3.2.1 → nltk-3.3}/nltk/parse/generate.py +15 -4
  156. {nltk-3.2.1 → nltk-3.3}/nltk/parse/malt.py +2 -2
  157. {nltk-3.2.1 → nltk-3.3}/nltk/parse/nonprojectivedependencyparser.py +3 -3
  158. {nltk-3.2.1 → nltk-3.3}/nltk/parse/pchart.py +1 -1
  159. {nltk-3.2.1 → nltk-3.3}/nltk/parse/projectivedependencyparser.py +6 -5
  160. {nltk-3.2.1 → nltk-3.3}/nltk/parse/recursivedescent.py +2 -3
  161. {nltk-3.2.1 → nltk-3.3}/nltk/parse/shiftreduce.py +2 -3
  162. {nltk-3.2.1 → nltk-3.3}/nltk/parse/stanford.py +53 -28
  163. {nltk-3.2.1 → nltk-3.3}/nltk/parse/transitionparser.py +11 -9
  164. {nltk-3.2.1 → nltk-3.3}/nltk/parse/util.py +1 -1
  165. {nltk-3.2.1 → nltk-3.3}/nltk/parse/viterbi.py +1 -1
  166. {nltk-3.2.1 → nltk-3.3}/nltk/probability.py +75 -20
  167. {nltk-3.2.1 → nltk-3.3}/nltk/sem/__init__.py +1 -1
  168. {nltk-3.2.1 → nltk-3.3}/nltk/sem/boxer.py +15 -15
  169. {nltk-3.2.1 → nltk-3.3}/nltk/sem/chat80.py +6 -6
  170. {nltk-3.2.1 → nltk-3.3}/nltk/sem/cooper_storage.py +1 -1
  171. {nltk-3.2.1 → nltk-3.3}/nltk/sem/drt.py +9 -8
  172. {nltk-3.2.1 → nltk-3.3}/nltk/sem/drt_glue_demo.py +5 -9
  173. {nltk-3.2.1 → nltk-3.3}/nltk/sem/evaluate.py +9 -3
  174. {nltk-3.2.1 → nltk-3.3}/nltk/sem/glue.py +8 -6
  175. {nltk-3.2.1 → nltk-3.3}/nltk/sem/hole.py +4 -2
  176. {nltk-3.2.1 → nltk-3.3}/nltk/sem/lfg.py +4 -2
  177. {nltk-3.2.1 → nltk-3.3}/nltk/sem/linearlogic.py +4 -2
  178. {nltk-3.2.1 → nltk-3.3}/nltk/sem/logic.py +14 -14
  179. {nltk-3.2.1 → nltk-3.3}/nltk/sem/relextract.py +11 -18
  180. {nltk-3.2.1 → nltk-3.3}/nltk/sem/skolemize.py +1 -1
  181. {nltk-3.2.1 → nltk-3.3}/nltk/sem/util.py +1 -1
  182. {nltk-3.2.1 → nltk-3.3}/nltk/sentiment/__init__.py +1 -1
  183. {nltk-3.2.1 → nltk-3.3}/nltk/sentiment/sentiment_analyzer.py +1 -1
  184. {nltk-3.2.1 → nltk-3.3}/nltk/sentiment/util.py +14 -4
  185. {nltk-3.2.1 → nltk-3.3}/nltk/sentiment/vader.py +41 -42
  186. {nltk-3.2.1 → nltk-3.3}/nltk/stem/__init__.py +1 -3
  187. {nltk-3.2.1 → nltk-3.3}/nltk/stem/api.py +7 -4
  188. nltk-3.3/nltk/stem/arlstem.py +369 -0
  189. {nltk-3.2.1 → nltk-3.3}/nltk/stem/isri.py +1 -1
  190. {nltk-3.2.1 → nltk-3.3}/nltk/stem/lancaster.py +39 -12
  191. nltk-3.3/nltk/stem/porter.py +710 -0
  192. {nltk-3.2.1 → nltk-3.3}/nltk/stem/regexp.py +2 -2
  193. {nltk-3.2.1 → nltk-3.3}/nltk/stem/rslp.py +1 -1
  194. {nltk-3.2.1 → nltk-3.3}/nltk/stem/snowball.py +537 -13
  195. {nltk-3.2.1 → nltk-3.3}/nltk/stem/util.py +11 -1
  196. {nltk-3.2.1 → nltk-3.3}/nltk/stem/wordnet.py +1 -1
  197. {nltk-3.2.1 → nltk-3.3}/nltk/tag/__init__.py +32 -7
  198. {nltk-3.2.1 → nltk-3.3}/nltk/tag/api.py +13 -8
  199. {nltk-3.2.1 → nltk-3.3}/nltk/tag/brill.py +4 -6
  200. {nltk-3.2.1 → nltk-3.3}/nltk/tag/crf.py +1 -1
  201. {nltk-3.2.1 → nltk-3.3}/nltk/tag/hmm.py +11 -11
  202. {nltk-3.2.1 → nltk-3.3}/nltk/tag/hunpos.py +4 -4
  203. {nltk-3.2.1 → nltk-3.3}/nltk/tag/mapping.py +1 -1
  204. {nltk-3.2.1 → nltk-3.3}/nltk/tag/perceptron.py +25 -10
  205. {nltk-3.2.1 → nltk-3.3}/nltk/tag/senna.py +25 -23
  206. {nltk-3.2.1 → nltk-3.3}/nltk/tag/sequential.py +19 -15
  207. {nltk-3.2.1 → nltk-3.3}/nltk/tag/stanford.py +59 -36
  208. {nltk-3.2.1 → nltk-3.3}/nltk/tag/tnt.py +11 -20
  209. {nltk-3.2.1 → nltk-3.3}/nltk/tag/util.py +1 -1
  210. {nltk-3.2.1 → nltk-3.3}/nltk/tbl/__init__.py +1 -1
  211. {nltk-3.2.1 → nltk-3.3}/nltk/tbl/demo.py +1 -1
  212. {nltk-3.2.1 → nltk-3.3}/nltk/tbl/erroranalysis.py +1 -1
  213. {nltk-3.2.1 → nltk-3.3}/nltk/tbl/feature.py +5 -7
  214. {nltk-3.2.1 → nltk-3.3}/nltk/tbl/rule.py +6 -6
  215. {nltk-3.2.1 → nltk-3.3}/nltk/tbl/template.py +18 -23
  216. {nltk-3.2.1 → nltk-3.3}/nltk/test/__init__.py +1 -1
  217. {nltk-3.2.1 → nltk-3.3}/nltk/test/all.py +7 -6
  218. {nltk-3.2.1 → nltk-3.3}/nltk/test/bnc.doctest +1 -1
  219. {nltk-3.2.1 → nltk-3.3}/nltk/test/ccg.doctest +1 -1
  220. {nltk-3.2.1 → nltk-3.3}/nltk/test/ccg_semantics.doctest +1 -1
  221. {nltk-3.2.1 → nltk-3.3}/nltk/test/chat80.doctest +1 -1
  222. {nltk-3.2.1 → nltk-3.3}/nltk/test/childes_fixt.py +1 -0
  223. {nltk-3.2.1 → nltk-3.3}/nltk/test/chunk.doctest +1 -1
  224. {nltk-3.2.1 → nltk-3.3}/nltk/test/classify.doctest +1 -1
  225. {nltk-3.2.1 → nltk-3.3}/nltk/test/classify_fixt.py +2 -1
  226. nltk-3.3/nltk/test/collections.doctest +20 -0
  227. {nltk-3.2.1 → nltk-3.3}/nltk/test/collocations.doctest +1 -1
  228. {nltk-3.2.1 → nltk-3.3}/nltk/test/compat.doctest +0 -4
  229. {nltk-3.2.1 → nltk-3.3}/nltk/test/compat_fixt.py +1 -0
  230. nltk-3.3/nltk/test/concordance.doctest +55 -0
  231. {nltk-3.2.1 → nltk-3.3}/nltk/test/corpus.doctest +38 -49
  232. {nltk-3.2.1 → nltk-3.3}/nltk/test/crubadan.doctest +1 -1
  233. {nltk-3.2.1 → nltk-3.3}/nltk/test/data.doctest +1 -1
  234. {nltk-3.2.1 → nltk-3.3}/nltk/test/dependency.doctest +1 -1
  235. {nltk-3.2.1 → nltk-3.3}/nltk/test/discourse.doctest +1 -1
  236. {nltk-3.2.1 → nltk-3.3}/nltk/test/discourse_fixt.py +1 -0
  237. {nltk-3.2.1 → nltk-3.3}/nltk/test/doctest_nose_plugin.py +8 -5
  238. {nltk-3.2.1 → nltk-3.3}/nltk/test/drt.doctest +1 -1
  239. {nltk-3.2.1 → nltk-3.3}/nltk/test/featgram.doctest +1 -1
  240. {nltk-3.2.1 → nltk-3.3}/nltk/test/featstruct.doctest +2 -3
  241. {nltk-3.2.1 → nltk-3.3}/nltk/test/framenet.doctest +82 -33
  242. {nltk-3.2.1 → nltk-3.3}/nltk/test/generate.doctest +1 -1
  243. {nltk-3.2.1 → nltk-3.3}/nltk/test/gensim.doctest +6 -7
  244. {nltk-3.2.1 → nltk-3.3}/nltk/test/gensim_fixt.py +1 -0
  245. {nltk-3.2.1 → nltk-3.3}/nltk/test/gluesemantics.doctest +13 -15
  246. {nltk-3.2.1 → nltk-3.3}/nltk/test/gluesemantics_malt.doctest +1 -1
  247. {nltk-3.2.1 → nltk-3.3}/nltk/test/gluesemantics_malt_fixt.py +1 -0
  248. {nltk-3.2.1 → nltk-3.3}/nltk/test/grammar.doctest +1 -1
  249. {nltk-3.2.1 → nltk-3.3}/nltk/test/grammartestsuites.doctest +1 -1
  250. {nltk-3.2.1 → nltk-3.3}/nltk/test/index.doctest +1 -1
  251. {nltk-3.2.1 → nltk-3.3}/nltk/test/inference.doctest +1 -1
  252. {nltk-3.2.1 → nltk-3.3}/nltk/test/inference_fixt.py +1 -0
  253. {nltk-3.2.1 → nltk-3.3}/nltk/test/internals.doctest +1 -1
  254. {nltk-3.2.1 → nltk-3.3}/nltk/test/japanese.doctest +1 -1
  255. {nltk-3.2.1 → nltk-3.3}/nltk/test/logic.doctest +1 -1
  256. {nltk-3.2.1 → nltk-3.3}/nltk/test/metrics.doctest +3 -3
  257. {nltk-3.2.1 → nltk-3.3}/nltk/test/misc.doctest +1 -1
  258. {nltk-3.2.1 → nltk-3.3}/nltk/test/nonmonotonic.doctest +1 -1
  259. {nltk-3.2.1 → nltk-3.3}/nltk/test/nonmonotonic_fixt.py +1 -0
  260. {nltk-3.2.1 → nltk-3.3}/nltk/test/parse.doctest +1 -1
  261. {nltk-3.2.1 → nltk-3.3}/nltk/test/portuguese_en.doctest +1 -1
  262. {nltk-3.2.1 → nltk-3.3}/nltk/test/probability.doctest +1 -1
  263. {nltk-3.2.1 → nltk-3.3}/nltk/test/probability_fixt.py +2 -1
  264. {nltk-3.2.1 → nltk-3.3}/nltk/test/propbank.doctest +1 -1
  265. {nltk-3.2.1 → nltk-3.3}/nltk/test/relextract.doctest +1 -1
  266. {nltk-3.2.1 → nltk-3.3}/nltk/test/resolution.doctest +1 -1
  267. {nltk-3.2.1 → nltk-3.3}/nltk/test/runtests.py +35 -13
  268. {nltk-3.2.1 → nltk-3.3}/nltk/test/semantics.doctest +1 -1
  269. {nltk-3.2.1 → nltk-3.3}/nltk/test/sentiment.doctest +3 -3
  270. {nltk-3.2.1 → nltk-3.3}/nltk/test/sentiwordnet.doctest +1 -1
  271. {nltk-3.2.1 → nltk-3.3}/nltk/test/simple.doctest +1 -1
  272. {nltk-3.2.1 → nltk-3.3}/nltk/test/stem.doctest +2 -2
  273. {nltk-3.2.1 → nltk-3.3}/nltk/test/tag.doctest +1 -1
  274. {nltk-3.2.1 → nltk-3.3}/nltk/test/tokenize.doctest +109 -2
  275. {nltk-3.2.1 → nltk-3.3}/nltk/test/toolbox.doctest +1 -1
  276. {nltk-3.2.1 → nltk-3.3}/nltk/test/translate.doctest +1 -1
  277. {nltk-3.2.1 → nltk-3.3}/nltk/test/tree.doctest +1 -1
  278. {nltk-3.2.1 → nltk-3.3}/nltk/test/treeprettyprinter.doctest +1 -1
  279. {nltk-3.2.1 → nltk-3.3}/nltk/test/treetransforms.doctest +1 -1
  280. nltk-3.3/nltk/test/unit/test_aline.py +52 -0
  281. nltk-3.3/nltk/test/unit/test_chunk.py +56 -0
  282. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_classify.py +20 -18
  283. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_collocations.py +16 -7
  284. nltk-3.3/nltk/test/unit/test_concordance.py +98 -0
  285. nltk-3.3/nltk/test/unit/test_corenlp.py +1000 -0
  286. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_corpora.py +18 -1
  287. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_json2csv_corpus.py +4 -3
  288. nltk-3.3/nltk/test/unit/test_rte_classify.py +86 -0
  289. nltk-3.3/nltk/test/unit/test_senna.py +74 -0
  290. nltk-3.3/nltk/test/unit/test_stem.py +121 -0
  291. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_tgrep.py +4 -2
  292. nltk-3.3/nltk/test/unit/test_tokenize.py +168 -0
  293. nltk-3.3/nltk/test/unit/test_wordnet.py +134 -0
  294. nltk-3.3/nltk/test/unit/translate/test_bleu.py +244 -0
  295. nltk-3.3/nltk/test/unit/translate/test_gdfa.py +57 -0
  296. nltk-3.3/nltk/test/unit/translate/test_nist.py +37 -0
  297. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_stack_decoder.py +1 -1
  298. {nltk-3.2.1 → nltk-3.3}/nltk/test/util.doctest +1 -1
  299. {nltk-3.2.1 → nltk-3.3}/nltk/test/wordnet.doctest +17 -3
  300. {nltk-3.2.1 → nltk-3.3}/nltk/test/wordnet_fixt.py +1 -0
  301. {nltk-3.2.1 → nltk-3.3}/nltk/test/wordnet_lch.doctest +1 -1
  302. {nltk-3.2.1 → nltk-3.3}/nltk/test/wsd.doctest +1 -1
  303. {nltk-3.2.1 → nltk-3.3}/nltk/text.py +92 -39
  304. {nltk-3.2.1 → nltk-3.3}/nltk/tgrep.py +8 -7
  305. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/__init__.py +37 -15
  306. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/api.py +3 -4
  307. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/casual.py +10 -9
  308. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/mwe.py +2 -2
  309. nltk-3.3/nltk/tokenize/nist.py +173 -0
  310. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/punkt.py +186 -167
  311. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/regexp.py +13 -7
  312. nltk-3.3/nltk/tokenize/repp.py +151 -0
  313. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/sexpr.py +4 -6
  314. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/simple.py +7 -5
  315. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/stanford.py +18 -14
  316. nltk-3.3/nltk/tokenize/stanford_segmenter.py +246 -0
  317. {nltk-3.2.1 → nltk-3.3}/nltk/tokenize/texttiling.py +43 -45
  318. nltk-3.3/nltk/tokenize/toktok.py +155 -0
  319. nltk-3.3/nltk/tokenize/treebank.py +363 -0
  320. nltk-3.3/nltk/tokenize/util.py +261 -0
  321. {nltk-3.2.1 → nltk-3.3}/nltk/toolbox.py +4 -2
  322. {nltk-3.2.1 → nltk-3.3}/nltk/translate/__init__.py +1 -1
  323. {nltk-3.2.1 → nltk-3.3}/nltk/translate/api.py +50 -40
  324. {nltk-3.2.1 → nltk-3.3}/nltk/translate/bleu_score.py +221 -156
  325. nltk-3.3/nltk/translate/chrf_score.py +137 -0
  326. {nltk-3.2.1 → nltk-3.3}/nltk/translate/gale_church.py +32 -19
  327. {nltk-3.2.1 → nltk-3.3}/nltk/translate/gdfa.py +14 -10
  328. nltk-3.3/nltk/translate/gleu_score.py +193 -0
  329. {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm1.py +17 -8
  330. {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm2.py +4 -4
  331. {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm4.py +1 -1
  332. {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm5.py +1 -1
  333. {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm_model.py +4 -1
  334. {nltk-3.2.1 → nltk-3.3}/nltk/translate/metrics.py +1 -1
  335. nltk-3.3/nltk/translate/nist_score.py +178 -0
  336. {nltk-3.2.1 → nltk-3.3}/nltk/translate/phrase_based.py +1 -1
  337. {nltk-3.2.1 → nltk-3.3}/nltk/translate/ribes_score.py +1 -1
  338. {nltk-3.2.1 → nltk-3.3}/nltk/translate/stack_decoder.py +5 -1
  339. {nltk-3.2.1 → nltk-3.3}/nltk/tree.py +10 -8
  340. {nltk-3.2.1 → nltk-3.3}/nltk/treeprettyprinter.py +6 -6
  341. {nltk-3.2.1 → nltk-3.3}/nltk/twitter/__init__.py +1 -1
  342. {nltk-3.2.1 → nltk-3.3}/nltk/twitter/api.py +8 -3
  343. {nltk-3.2.1 → nltk-3.3}/nltk/twitter/common.py +9 -3
  344. {nltk-3.2.1 → nltk-3.3}/nltk/twitter/twitter_demo.py +1 -1
  345. {nltk-3.2.1 → nltk-3.3}/nltk/twitter/twitterclient.py +1 -1
  346. {nltk-3.2.1 → nltk-3.3}/nltk/twitter/util.py +5 -4
  347. {nltk-3.2.1 → nltk-3.3}/nltk/util.py +41 -654
  348. {nltk-3.2.1 → nltk-3.3}/nltk/wsd.py +2 -2
  349. {nltk-3.2.1 → nltk-3.3/nltk.egg-info}/PKG-INFO +13 -5
  350. {nltk-3.2.1 → nltk-3.3}/nltk.egg-info/SOURCES.txt +23 -1
  351. nltk-3.3/nltk.egg-info/requires.txt +31 -0
  352. {nltk-3.2.1 → nltk-3.3}/setup.cfg +0 -1
  353. {nltk-3.2.1 → nltk-3.3}/setup.py +32 -5
  354. nltk-3.2.1/nltk/VERSION +0 -1
  355. nltk-3.2.1/nltk/compat.py +0 -706
  356. nltk-3.2.1/nltk/corpus/reader/pl196x.py +0 -278
  357. nltk-3.2.1/nltk/corpus/reader/verbnet.py +0 -408
  358. nltk-3.2.1/nltk/corpus/reader/wordlist.py +0 -37
  359. nltk-3.2.1/nltk/six.py +0 -868
  360. nltk-3.2.1/nltk/stem/porter.py +0 -692
  361. nltk-3.2.1/nltk/test/unit/test_stem.py +0 -36
  362. nltk-3.2.1/nltk/test/unit/test_tokenize.py +0 -23
  363. nltk-3.2.1/nltk/test/unit/translate/test_bleu.py +0 -138
  364. nltk-3.2.1/nltk/tokenize/stanford_segmenter.py +0 -157
  365. nltk-3.2.1/nltk/tokenize/treebank.py +0 -124
  366. nltk-3.2.1/nltk/tokenize/util.py +0 -90
  367. {nltk-3.2.1 → nltk-3.3}/INSTALL.txt +0 -0
  368. {nltk-3.2.1 → nltk-3.3}/MANIFEST.in +0 -0
  369. {nltk-3.2.1 → nltk-3.3}/nltk/classify/positivenaivebayes.py +0 -0
  370. {nltk-3.2.1 → nltk-3.3}/nltk/corpus/reader/udhr.py +0 -0
  371. {nltk-3.2.1 → nltk-3.3}/nltk/inference/mace.py +0 -0
  372. {nltk-3.2.1 → nltk-3.3}/nltk/lazyimport.py +0 -0
  373. {nltk-3.2.1 → nltk-3.3}/nltk/misc/babelfish.py +0 -0
  374. {nltk-3.2.1 → nltk-3.3}/nltk/tag/brill_trainer.py +0 -0
  375. {nltk-3.2.1 → nltk-3.3}/nltk/tbl/api.py +0 -0
  376. {nltk-3.2.1 → nltk-3.3}/nltk/test/bleu.doctest +0 -0
  377. {nltk-3.2.1 → nltk-3.3}/nltk/test/childes.doctest +0 -0
  378. {nltk-3.2.1 → nltk-3.3}/nltk/test/corpus_fixt.py +0 -0
  379. {nltk-3.2.1 → nltk-3.3}/nltk/test/paice.doctest +0 -0
  380. {nltk-3.2.1 → nltk-3.3}/nltk/test/portuguese_en_fixt.py +0 -0
  381. {nltk-3.2.1 → nltk-3.3}/nltk/test/segmentation_fixt.py +0 -0
  382. {nltk-3.2.1 → nltk-3.3}/nltk/test/semantics_fixt.py +0 -0
  383. {nltk-3.2.1 → nltk-3.3}/nltk/test/translate_fixt.py +0 -0
  384. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/__init__.py +0 -0
  385. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_2x_compat.py +0 -0
  386. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_corpus_views.py +0 -0
  387. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_hmm.py +0 -0
  388. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_naivebayes.py +0 -0
  389. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_seekable_unicode_stream_reader.py +0 -0
  390. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_tag.py +0 -0
  391. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/test_twitter_auth.py +0 -0
  392. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/__init__.py +0 -0
  393. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm1.py +0 -0
  394. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm2.py +0 -0
  395. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm3.py +0 -0
  396. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm4.py +0 -0
  397. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm5.py +0 -0
  398. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/translate/test_ibm_model.py +0 -0
  399. {nltk-3.2.1 → nltk-3.3}/nltk/test/unit/utils.py +0 -0
  400. {nltk-3.2.1 → nltk-3.3}/nltk/translate/ibm3.py +0 -0
  401. {nltk-3.2.1 → nltk-3.3}/nltk/treetransforms.py +0 -0
  402. {nltk-3.2.1 → nltk-3.3}/nltk.egg-info/dependency_links.txt +0 -0
  403. {nltk-3.2.1 → nltk-3.3}/nltk.egg-info/not-zip-safe +0 -0
  404. {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-2016 NLTK Project
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
- if nltk.compat.PY3:
13
- import queue as q
14
- else:
15
- import Queue as q
16
- import tkinter.font
17
- from tkinter import (Tk, Button, END, Entry, Frame, IntVar, LEFT,
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=tkinter.font.Font(family='courier', size='16'),
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 tkinter.messagebox import Message
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
- import nltk.compat
11
- import tkinter as tk
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 = tk.Frame(root)
54
+ frm = Frame(root)
54
55
  frm.config(background="white")
55
- self.image = tk.PhotoImage(format='gif',data=images[image.upper()])
56
- self.imageDimmed = tk.PhotoImage(format='gif',data=images[image])
57
- self.img = tk.Label(frm)
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 = tk.Text(frm, **fieldParams)
61
+ self.fld = Text(frm, **fieldParams)
61
62
  self.initScrollText(frm,self.fld,initialField)
62
- frm = tk.Frame(root)
63
- self.txt = tk.Text(frm, **textParams)
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 = tk.Scrollbar(frm)
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
- tk.Frame(height=2, bd=1, relief="ridge").pack(fill="x")
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(tk.SEL_FIRST,
103
- tk.SEL_LAST))
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",tk.SEL_FIRST),
106
- self.fld.get(tk.SEL_FIRST,tk.SEL_LAST),
107
- self.fld.get(tk.SEL_LAST,"end")[:-1],
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 = tk.Tk()
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-2016 NLTK Project
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
- import nltk.compat
68
- import tkinter.font
69
- from tkinter import (Listbox, IntVar, Button,
70
- Frame, Label, Menu, Scrollbar, Tk)
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 = tkinter.font.Font(font=Button()["font"])
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 = tkinter.font.Font(family='helvetica', weight='bold',
139
+ self._boldfont = Font(family='helvetica', weight='bold',
140
140
  size=self._size.get())
141
- self._font = tkinter.font.Font(family='helvetica',
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 = tkinter.font.Font(family='helvetica', weight='bold',
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 tkinter.messagebox import Message
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-2016 NLTK Project
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 = tkinter.font.Font(font=Button()["font"])
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 = tkinter.font.Font(family='helvetica', weight='bold',
148
+ self._boldfont = Font(family='helvetica', weight='bold',
149
149
  size=self._size.get())
150
- self._font = tkinter.font.Font(family='helvetica',
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 tkinter.messagebox import Message
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: Wordfreq Application
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
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
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: WordNet Browser Application
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
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 compat.unquote_plus(sp) == 'SHUTDOWN THE SERVER':
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 = compat.unquote_plus(sp)
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
- to be sent to the browser and
704
- word is the new current word
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-2016 NLTK Project
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-2016 NLTK Project
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-2016 NLTK Project
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-2016 NLTK Project
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-2016 NLTK Project
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-2016 NLTK Project
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 (total_ordering, python_2_unicode_compatible,
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
- # Returns true if the category is primitive
24
+ @abstractmethod
19
25
  def is_primitive(self):
20
- raise NotImplementedError()
26
+ """
27
+ Returns true if the category is primitive.
28
+ """
21
29
 
22
- # Returns true if the category is a function application
30
+ @abstractmethod
23
31
  def is_function(self):
24
- raise NotImplementedError()
32
+ """
33
+ Returns true if the category is a function application.
34
+ """
25
35
 
26
- # Returns true if the category is a variable
36
+ @abstractmethod
27
37
  def is_var(self):
28
- raise NotImplementedError()
38
+ """
39
+ Returns true if the category is a variable.
40
+ """
29
41
 
30
- # Takes a set of (var, category) substitutions, and replaces every
31
- # occurrence of the variable with the corresponding category
32
- def substitute(self,substitutions):
33
- raise NotImplementedError()
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
- # Determines whether two categories can be unified.
36
- # - Returns None if they cannot be unified
37
- # - Returns a list of necessary substitutions if they can.'''
38
- def can_unify(self,other):
39
- raise NotImplementedError()
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
- raise NotImplementedError()
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 restricted to primitives
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
- """A class method allowing generation of unique variable identifiers."""
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
- return cat
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 not ',' in self._restrs
209
+ return (',' not in self._restrs)
189
210
 
190
211
  def can_cross(self):
191
- return not '.' in self._restrs
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
- sb = self._arg.substitute(sa).can_unify(other.arg().substitute(sa))
322
- if sb is not None:
323
- return sa + sb
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
-