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: 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
@@ -33,6 +33,8 @@ from __future__ import print_function, division, unicode_literals
33
33
 
34
34
  import itertools
35
35
 
36
+ from six import string_types
37
+
36
38
  from nltk.parse import ParserI
37
39
  from nltk.parse.chart import AbstractChartRule, EdgeI, Chart
38
40
  from nltk.tree import Tree
@@ -42,7 +44,7 @@ from nltk.ccg.combinator import (ForwardT, BackwardT, ForwardApplication,
42
44
  BackwardApplication, ForwardComposition,
43
45
  BackwardComposition, ForwardSubstitution,
44
46
  BackwardBx, BackwardSx)
45
- from nltk.compat import python_2_unicode_compatible, string_types
47
+ from nltk.compat import python_2_unicode_compatible
46
48
  from nltk.ccg.combinator import *
47
49
  from nltk.ccg.logic import *
48
50
  from nltk.sem.logic import *
@@ -264,11 +266,11 @@ class CCGChart(Chart):
264
266
  memo[edge] = trees
265
267
  return trees
266
268
 
267
-
269
+
268
270
  def compute_semantics(children, edge):
269
271
  if children[0].label()[0].semantics() is None:
270
272
  return None
271
-
273
+
272
274
  if len(children) is 2:
273
275
  if isinstance(edge.rule(), BackwardCombinator):
274
276
  children = [children[1],children[0]]
@@ -335,7 +337,7 @@ def printCCGTree(lwidth,tree):
335
337
 
336
338
  (token, op) = tree.label()
337
339
 
338
- if op == u'Leaf':
340
+ if op == 'Leaf':
339
341
  return rwidth
340
342
 
341
343
  # Pad to the left with spaces, followed by a sequence of '-'
@@ -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
@@ -9,10 +9,14 @@ CCG Combinators
9
9
  """
10
10
 
11
11
  from __future__ import unicode_literals
12
+ from abc import ABCMeta, abstractmethod
13
+ from six import add_metaclass
12
14
 
13
15
  from nltk.compat import python_2_unicode_compatible
14
16
  from nltk.ccg.api import FunctionalCategory
15
17
 
18
+
19
+ @add_metaclass(ABCMeta)
16
20
  class UndirectedBinaryCombinator(object):
17
21
  """
18
22
  Abstract class for representing a binary combinator.
@@ -24,12 +28,16 @@ class UndirectedBinaryCombinator(object):
24
28
  of the combinators; these restrictions must be added in the rule
25
29
  class.
26
30
  """
31
+ @abstractmethod
27
32
  def can_combine(self, function, argument):
28
- raise NotImplementedError()
33
+ pass
34
+
35
+ @abstractmethod
36
+ def combine(self, function, argument):
37
+ pass
29
38
 
30
- def combine (self, function, argument):
31
- raise NotImplementedError()
32
39
 
40
+ @add_metaclass(ABCMeta)
33
41
  class DirectedBinaryCombinator(object):
34
42
  """
35
43
  Wrapper for the undirected binary combinator.
@@ -37,11 +45,14 @@ class DirectedBinaryCombinator(object):
37
45
  the function, and which the argument.
38
46
  It then decides whether or not they can be combined.
39
47
  """
48
+ @abstractmethod
40
49
  def can_combine(self, left, right):
41
- raise NotImplementedError()
50
+ pass
42
51
 
52
+ @abstractmethod
43
53
  def combine(self, left, right):
44
- raise NotImplementedError()
54
+ pass
55
+
45
56
 
46
57
  @python_2_unicode_compatible
47
58
  class ForwardCombinator(DirectedBinaryCombinator):
@@ -67,6 +78,7 @@ class ForwardCombinator(DirectedBinaryCombinator):
67
78
  def __str__(self):
68
79
  return ">%s%s" % (self._combinator, self._suffix)
69
80
 
81
+
70
82
  @python_2_unicode_compatible
71
83
  class BackwardCombinator(DirectedBinaryCombinator):
72
84
  """
@@ -80,6 +92,7 @@ class BackwardCombinator(DirectedBinaryCombinator):
80
92
  def can_combine(self, left, right):
81
93
  return (self._combinator.can_combine(right, left) and
82
94
  self._predicate(left, right))
95
+
83
96
  def combine(self, left, right):
84
97
  for cat in self._combinator.combine(right, left):
85
98
  yield cat
@@ -87,6 +100,7 @@ class BackwardCombinator(DirectedBinaryCombinator):
87
100
  def __str__(self):
88
101
  return "<%s%s" % (self._combinator, self._suffix)
89
102
 
103
+
90
104
  @python_2_unicode_compatible
91
105
  class UndirectedFunctionApplication(UndirectedBinaryCombinator):
92
106
  """
@@ -122,10 +136,12 @@ class UndirectedFunctionApplication(UndirectedBinaryCombinator):
122
136
  def forwardOnly(left, right):
123
137
  return left.dir().is_forward()
124
138
 
139
+
125
140
  # Ensures the right functor takes an argument on the left
126
141
  def backwardOnly(left, right):
127
142
  return right.dir().is_backward()
128
143
 
144
+
129
145
  # Application combinator instances
130
146
  ForwardApplication = ForwardCombinator(UndirectedFunctionApplication(),
131
147
  forwardOnly)
@@ -155,25 +171,29 @@ class UndirectedComposition(UndirectedBinaryCombinator):
155
171
  return
156
172
  if function.dir().can_compose() and argument.dir().can_compose():
157
173
  subs = function.arg().can_unify(argument.res())
158
- if not subs is None:
174
+ if subs is not None:
159
175
  yield FunctionalCategory(function.res().substitute(subs),
160
- argument.arg().substitute(subs), argument.dir())
176
+ argument.arg().substitute(subs),
177
+ argument.dir())
161
178
 
162
179
  def __str__(self):
163
180
  return 'B'
164
181
 
182
+
165
183
  # Predicates for restricting application of straight composition.
166
184
  def bothForward(left, right):
167
185
  return left.dir().is_forward() and right.dir().is_forward()
168
186
 
187
+
169
188
  def bothBackward(left, right):
170
189
  return left.dir().is_backward() and right.dir().is_backward()
171
190
 
172
- # Predicates for crossed composition
173
191
 
192
+ # Predicates for crossed composition
174
193
  def crossedDirs(left, right):
175
194
  return left.dir().is_forward() and right.dir().is_backward()
176
195
 
196
+
177
197
  def backwardBxConstraint(left, right):
178
198
  # The functors must be crossed inwards
179
199
  if not crossedDirs(left, right):
@@ -184,6 +204,7 @@ def backwardBxConstraint(left, right):
184
204
  # The resulting argument category is restricted to be primitive
185
205
  return left.arg().is_primitive()
186
206
 
207
+
187
208
  # Straight composition combinators
188
209
  ForwardComposition = ForwardCombinator(UndirectedComposition(),
189
210
  forwardOnly)
@@ -194,6 +215,7 @@ BackwardComposition = BackwardCombinator(UndirectedComposition(),
194
215
  BackwardBx = BackwardCombinator(UndirectedComposition(), backwardBxConstraint,
195
216
  suffix='x')
196
217
 
218
+
197
219
  @python_2_unicode_compatible
198
220
  class UndirectedSubstitution(UndirectedBinaryCombinator):
199
221
  """
@@ -219,17 +241,20 @@ class UndirectedSubstitution(UndirectedBinaryCombinator):
219
241
 
220
242
  def combine(self, function, argument):
221
243
  if self.can_combine(function, argument):
222
- yield FunctionalCategory(function.res().res(), argument.arg(), argument.dir())
244
+ yield FunctionalCategory(function.res().res(), argument.arg(),
245
+ argument.dir())
223
246
 
224
247
  def __str__(self):
225
248
  return 'S'
226
249
 
250
+
227
251
  # Predicate for forward substitution
228
252
  def forwardSConstraint(left, right):
229
253
  if not bothForward(left, right):
230
254
  return False
231
255
  return left.res().dir().is_forward() and left.arg().is_primitive()
232
256
 
257
+
233
258
  # Predicate for backward crossed substitution
234
259
  def backwardSxConstraint(left, right):
235
260
  if not left.dir().can_cross() and right.dir().can_cross():
@@ -238,6 +263,7 @@ def backwardSxConstraint(left, right):
238
263
  return False
239
264
  return right.res().dir().is_backward() and right.arg().is_primitive()
240
265
 
266
+
241
267
  # Instances of substitution combinators
242
268
  ForwardSubstitution = ForwardCombinator(UndirectedSubstitution(),
243
269
  forwardSConstraint)
@@ -252,6 +278,7 @@ def innermostFunction(categ):
252
278
  categ = categ.res()
253
279
  return categ
254
280
 
281
+
255
282
  @python_2_unicode_compatible
256
283
  class UndirectedTypeRaise(UndirectedBinaryCombinator):
257
284
  """
@@ -288,12 +315,14 @@ class UndirectedTypeRaise(UndirectedBinaryCombinator):
288
315
  if subs is not None:
289
316
  xcat = arg.res().substitute(subs)
290
317
  yield FunctionalCategory(xcat,
291
- FunctionalCategory(xcat, function, arg.dir()),
318
+ FunctionalCategory(xcat, function,
319
+ arg.dir()),
292
320
  -(arg.dir()))
293
321
 
294
322
  def __str__(self):
295
323
  return 'T'
296
324
 
325
+
297
326
  # Predicates for type-raising
298
327
  # The direction of the innermost category must be towards
299
328
  # the primary functor.
@@ -303,10 +332,12 @@ def forwardTConstraint(left, right):
303
332
  arg = innermostFunction(right)
304
333
  return arg.dir().is_backward() and arg.res().is_primitive()
305
334
 
335
+
306
336
  def backwardTConstraint(left, right):
307
337
  arg = innermostFunction(left)
308
338
  return arg.dir().is_forward() and arg.res().is_primitive()
309
339
 
340
+
310
341
  # Instances of type-raising combinators
311
342
  ForwardT = ForwardCombinator(UndirectedTypeRaise(), forwardTConstraint)
312
343
  BackwardT = BackwardCombinator(UndirectedTypeRaise(), backwardTConstraint)
@@ -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,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: Tanin Na Nakorn (@tanin)
5
5
  # URL: <http://nltk.org/>
6
6
  # For license information, see LICENSE.TXT
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Chatbots
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
3
+ # Copyright (C) 2001-2018 NLTK Project
4
4
  # Authors: Steven Bird <stevenbird1@gmail.com>
5
5
  # URL: <http://nltk.org/>
6
6
  # For license information, see LICENSE.TXT
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Eliza
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
3
+ # Copyright (C) 2001-2018 NLTK Project
4
4
  # Authors: Steven Bird <stevenbird1@gmail.com>
5
5
  # Edward Loper <edloper@gmail.com>
6
6
  # URL: <http://nltk.org/>
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Teen Chatbot
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
3
+ # Copyright (C) 2001-2018 NLTK Project
4
4
  # Author: Selina Dennis <sjmd@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: Rude Chatbot
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
3
+ # Copyright (C) 2001-2018 NLTK Project
4
4
  # Author: Peter Spiller <pspiller@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: Sun Tsu-Bot
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
3
+ # Copyright (C) 2001-2018 NLTK Project
4
4
  # Author: Sam Huston 2007
5
5
  # URL: <http://nltk.org/>
6
6
  # For license information, see LICENSE.TXT
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Chatbot Utilities
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
3
+ # Copyright (C) 2001-2018 NLTK Project
4
4
  # Authors: Steven Bird <stevenbird1@gmail.com>
5
5
  # URL: <http://nltk.org/>
6
6
  # For license information, see LICENSE.TXT
@@ -11,7 +11,9 @@ from __future__ import print_function
11
11
 
12
12
  import re
13
13
  import random
14
- from nltk import compat
14
+
15
+ from six.moves import input
16
+
15
17
 
16
18
  reflections = {
17
19
  "i am" : "you are",
@@ -109,12 +111,12 @@ class Chat(object):
109
111
 
110
112
  # Hold a conversation with a chatbot
111
113
  def converse(self, quit="quit"):
112
- input = ""
113
- while input != quit:
114
- input = quit
115
- try: input = compat.raw_input(">")
114
+ user_input = ""
115
+ while user_input != quit:
116
+ user_input = quit
117
+ try: user_input = input(">")
116
118
  except EOFError:
117
- print(input)
118
- if input:
119
- while input[-1] in "!.": input = input[:-1]
120
- print(self.respond(input))
119
+ print(user_input)
120
+ if user_input:
121
+ while user_input[-1] in "!.": user_input = user_input[:-1]
122
+ print(self.respond(user_input))
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Zen Chatbot
2
2
  #
3
- # Copyright (C) 2001-2016 NLTK Project
3
+ # Copyright (C) 2001-2018 NLTK Project
4
4
  # Author: Amy Holland <amyrh@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: Chunkers
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
  # Edward Loper <edloper@gmail.com>
6
6
  # URL: <http://nltk.org/>
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Chunk parsing API
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
  # Steven Bird <stevenbird1@gmail.com> (minor additions)
6
6
  # URL: <http://nltk.org/>
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Chunk parsing API
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
@@ -9,6 +9,7 @@
9
9
  Named entity chunker
10
10
  """
11
11
  from __future__ import print_function
12
+ from __future__ import unicode_literals
12
13
 
13
14
  import os, re, pickle
14
15
  from xml.etree import ElementTree as ET
@@ -101,9 +102,9 @@ class NEChunkParserTagger(ClassifierBasedTagger):
101
102
  'nextpos': nextpos,
102
103
  'prevword': prevword,
103
104
  'nextword': nextword,
104
- 'word+nextpos': '%s+%s' % (word.lower(), nextpos),
105
- 'pos+prevtag': '%s+%s' % (pos, prevtag),
106
- 'shape+prevtag': '%s+%s' % (prevshape, prevtag),
105
+ 'word+nextpos': '{0}+{1}'.format(word.lower(), nextpos),
106
+ 'pos+prevtag': '{0}+{1}'.format(pos, prevtag),
107
+ 'shape+prevtag': '{0}+{1}'.format(prevshape, prevtag),
107
108
  }
108
109
 
109
110
  return features
@@ -159,9 +160,9 @@ class NEChunkParser(ChunkParserI):
159
160
  if len(child) == 0:
160
161
  print("Warning -- empty chunk in sentence")
161
162
  continue
162
- toks.append((child[0], 'B-%s' % child.label()))
163
+ toks.append((child[0], 'B-{0}'.format(child.label())))
163
164
  for tok in child[1:]:
164
- toks.append((tok, 'I-%s' % child.label()))
165
+ toks.append((tok, 'I-{0}'.format(child.label())))
165
166
  else:
166
167
  toks.append((child, 'O'))
167
168
  return toks
@@ -210,7 +211,7 @@ def load_ace_data(roots, fmt='binary', skip_bnews=True):
210
211
  yield sent
211
212
 
212
213
  def load_ace_file(textfile, fmt):
213
- print(' - %s' % os.path.split(textfile)[1])
214
+ print(' - {0}'.format(os.path.split(textfile)[1]))
214
215
  annfile = textfile+'.tmx.rdc.xml'
215
216
 
216
217
  # Read the xml file, and get a list of entities
@@ -281,12 +282,12 @@ def cmp_chunks(correct, guessed):
281
282
  for (w, ct), (w, gt) in zip(correct, guessed):
282
283
  if ct == gt == 'O':
283
284
  if not ellipsis:
284
- print(" %-15s %-15s %s" % (ct, gt, w))
285
- print(' %-15s %-15s %s' % ('...', '...', '...'))
285
+ print(" {:15} {:15} {2}".format(ct, gt, w))
286
+ print(' {:15} {:15} {2}'.format('...', '...', '...'))
286
287
  ellipsis = True
287
288
  else:
288
289
  ellipsis = False
289
- print(" %-15s %-15s %s" % (ct, gt, w))
290
+ print(" {:15} {:15} {2}".format(ct, gt, w))
290
291
 
291
292
  def build_model(fmt='binary'):
292
293
  print('Loading training data...')
@@ -313,8 +314,8 @@ def build_model(fmt='binary'):
313
314
  if i < 3: cmp_chunks(correct, guess)
314
315
  print(chunkscore)
315
316
 
316
- outfilename = '/tmp/ne_chunker_%s.pickle' % fmt
317
- print('Saving chunker to %s...' % outfilename)
317
+ outfilename = '/tmp/ne_chunker_{0}.pickle'.format(fmt)
318
+ print('Saving chunker to {0}...'.format(outfilename))
318
319
 
319
320
  with open(outfilename, 'wb') as outfile:
320
321
  pickle.dump(cp, outfile, -1)
@@ -328,4 +329,3 @@ if __name__ == '__main__':
328
329
 
329
330
  build_model('binary')
330
331
  build_model('multiclass')
331
-
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Regular Expression Chunkers
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
  # Steven Bird <stevenbird1@gmail.com> (minor additions)
6
6
  # URL: <http://nltk.org/>
@@ -10,9 +10,11 @@ from __future__ import division
10
10
 
11
11
  import re
12
12
 
13
+ from six import string_types
14
+
13
15
  from nltk.tree import Tree
14
16
  from nltk.chunk.api import ChunkParserI
15
- from nltk.compat import python_2_unicode_compatible, string_types, unicode_repr
17
+ from nltk.compat import python_2_unicode_compatible, unicode_repr
16
18
 
17
19
  ##//////////////////////////////////////////////////////
18
20
  ## ChunkString
@@ -829,9 +831,13 @@ class ChunkRuleWithContext(RegexpChunkRule):
829
831
  # this should probably be made more strict than it is -- e.g., it
830
832
  # currently accepts 'foo'.
831
833
  CHUNK_TAG_PATTERN = re.compile(r'^((%s|<%s>)*)$' %
832
- ('[^\{\}<>]+',
834
+ ('([^\{\}<>]|\{\d+,?\}|\{\d*,\d+\})+',
833
835
  '[^\{\}<>]+'))
834
836
 
837
+
838
+
839
+
840
+
835
841
  def tag_pattern2re_pattern(tag_pattern):
836
842
  """
837
843
  Convert a tag pattern to a regular expression pattern. A "tag
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Chunk format conversions
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
  # Steven Bird <stevenbird1@gmail.com> (minor additions)
6
6
  # URL: <http://nltk.org/>
@@ -288,10 +288,10 @@ class ChunkScore(object):
288
288
  :rtype: str
289
289
  """
290
290
  return ("ChunkParse score:\n" +
291
- (" IOB Accuracy: %5.1f%%\n" % (self.accuracy()*100)) +
292
- (" Precision: %5.1f%%\n" % (self.precision()*100)) +
293
- (" Recall: %5.1f%%\n" % (self.recall()*100))+
294
- (" F-Measure: %5.1f%%" % (self.f_measure()*100)))
291
+ (" IOB Accuracy: {:5.1f}%%\n".format(self.accuracy()*100)) +
292
+ (" Precision: {:5.1f}%%\n".format(self.precision()*100)) +
293
+ (" Recall: {:5.1f}%%\n".format(self.recall()*100))+
294
+ (" F-Measure: {:5.1f}%%".format(self.f_measure()*100)))
295
295
 
296
296
  # extract chunks, and assign unique id, the absolute position of
297
297
  # the first word of the chunk
@@ -334,13 +334,13 @@ def tagstr2tree(s, chunk_label="NP", root_label="S", sep='/',
334
334
  text = match.group()
335
335
  if text[0] == '[':
336
336
  if len(stack) != 1:
337
- raise ValueError('Unexpected [ at char %d' % match.start())
337
+ raise ValueError('Unexpected [ at char {:d}'.format(match.start()))
338
338
  chunk = Tree(chunk_label, [])
339
339
  stack[-1].append(chunk)
340
340
  stack.append(chunk)
341
341
  elif text[0] == ']':
342
342
  if len(stack) != 2:
343
- raise ValueError('Unexpected ] at char %d' % match.start())
343
+ raise ValueError('Unexpected ] at char {:d}'.format(match.start()))
344
344
  stack.pop()
345
345
  else:
346
346
  if sep is None:
@@ -352,7 +352,7 @@ def tagstr2tree(s, chunk_label="NP", root_label="S", sep='/',
352
352
  stack[-1].append((word, tag))
353
353
 
354
354
  if len(stack) != 1:
355
- raise ValueError('Expected ] at char %d' % len(s))
355
+ raise ValueError('Expected ] at char {:d}'.format(len(s)))
356
356
  return stack[0]
357
357
 
358
358
  ### CONLL
@@ -384,7 +384,7 @@ def conllstr2tree(s, chunk_types=('NP', 'PP', 'VP'), root_label="S"):
384
384
  # Decode the line.
385
385
  match = _LINE_RE.match(line)
386
386
  if match is None:
387
- raise ValueError('Error on line %d' % lineno)
387
+ raise ValueError('Error on line {:d}'.format(lineno))
388
388
  (word, tag, state, chunk_type) = match.groups()
389
389
 
390
390
  # If it's a chunk type we don't care about, treat it as O.
@@ -461,7 +461,7 @@ def conlltags2tree(sentence, chunk_types=('NP','PP','VP'),
461
461
  elif chunktag == 'O':
462
462
  tree.append((word,postag))
463
463
  else:
464
- raise ValueError("Bad conll tag %r" % chunktag)
464
+ raise ValueError("Bad conll tag {0!r}".format(chunktag))
465
465
  return tree
466
466
 
467
467
  def tree2conllstr(t):
@@ -512,8 +512,8 @@ def _ieer_read_text(s, root_label):
512
512
  else:
513
513
  stack[-1].append(piece)
514
514
  except (IndexError, ValueError):
515
- raise ValueError('Bad IEER string (error at character %d)' %
516
- piece_m.start())
515
+ raise ValueError('Bad IEER string (error at character {:d})'.format \
516
+ (piece_m.start()))
517
517
  if len(stack) != 1:
518
518
  raise ValueError('Bad IEER string')
519
519
  return stack[0]
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Classifiers
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
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Classifier Interface
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
  # Steven Bird <stevenbird1@gmail.com> (minor additions)
6
6
  # URL: <http://nltk.org/>