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: Chart 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
  # Jean Mark Gawron <gawron@mail.sdsu.edu>
6
6
  # Steven Bird <stevenbird1@gmail.com>
@@ -38,13 +38,14 @@ edge you wish to apply a rule to.
38
38
 
39
39
 
40
40
  from __future__ import division
41
- import nltk.compat
42
41
  import pickle
43
- from tkinter.filedialog import asksaveasfilename, askopenfilename
44
- import tkinter
45
- import math
46
42
  import os.path
47
- import tkinter.font, tkinter.messagebox
43
+
44
+ from six.moves.tkinter import (Button, Canvas, Checkbutton, Frame, IntVar,
45
+ Label, Menu, Scrollbar, Tk, Toplevel)
46
+ from six.moves.tkinter_font import Font
47
+ from six.moves.tkinter_messagebox import showerror, showinfo
48
+ from six.moves.tkinter_tkfiledialog import asksaveasfilename, askopenfilename
48
49
 
49
50
  from nltk.parse.chart import (BottomUpPredictCombineRule, BottomUpPredictRule,
50
51
  Chart, LeafEdge, LeafInitRule, SingleEdgeFundamentalRule,
@@ -107,12 +108,12 @@ class ChartMatrixView(object):
107
108
  self._selected_cell = None
108
109
 
109
110
  if toplevel:
110
- self._root = tkinter.Toplevel(parent)
111
+ self._root = Toplevel(parent)
111
112
  self._root.title(title)
112
113
  self._root.bind('<Control-q>', self.destroy)
113
114
  self._init_quit(self._root)
114
115
  else:
115
- self._root = tkinter.Frame(parent)
116
+ self._root = Frame(parent)
116
117
 
117
118
  self._init_matrix(self._root)
118
119
  self._init_list(self._root)
@@ -128,18 +129,18 @@ class ChartMatrixView(object):
128
129
  self.draw()
129
130
 
130
131
  def _init_quit(self, root):
131
- quit = tkinter.Button(root, text='Quit', command=self.destroy)
132
+ quit = Button(root, text='Quit', command=self.destroy)
132
133
  quit.pack(side='bottom', expand=0, fill='none')
133
134
 
134
135
  def _init_matrix(self, root):
135
- cframe = tkinter.Frame(root, border=2, relief='sunken')
136
+ cframe = Frame(root, border=2, relief='sunken')
136
137
  cframe.pack(expand=0, fill='none', padx=1, pady=3, side='top')
137
- self._canvas = tkinter.Canvas(cframe, width=200, height=200,
138
+ self._canvas = Canvas(cframe, width=200, height=200,
138
139
  background='white')
139
140
  self._canvas.pack(expand=0, fill='none')
140
141
 
141
142
  def _init_numedges(self, root):
142
- self._numedges_label = tkinter.Label(root, text='0 edges')
143
+ self._numedges_label = Label(root, text='0 edges')
143
144
  self._numedges_label.pack(expand=0, fill='none', side='top')
144
145
 
145
146
  def _init_list(self, root):
@@ -331,21 +332,21 @@ class ChartResultsView(object):
331
332
  self._selectbox = None
332
333
 
333
334
  if toplevel:
334
- self._root = tkinter.Toplevel(parent)
335
+ self._root = Toplevel(parent)
335
336
  self._root.title('Chart Parser Application: Results')
336
337
  self._root.bind('<Control-q>', self.destroy)
337
338
  else:
338
- self._root = tkinter.Frame(parent)
339
+ self._root = Frame(parent)
339
340
 
340
341
  # Buttons
341
342
  if toplevel:
342
- buttons = tkinter.Frame(self._root)
343
+ buttons = Frame(self._root)
343
344
  buttons.pack(side='bottom', expand=0, fill='x')
344
- tkinter.Button(buttons, text='Quit',
345
+ Button(buttons, text='Quit',
345
346
  command=self.destroy).pack(side='right')
346
- tkinter.Button(buttons, text='Print All',
347
+ Button(buttons, text='Print All',
347
348
  command=self.print_all).pack(side='left')
348
- tkinter.Button(buttons, text='Print Selection',
349
+ Button(buttons, text='Print Selection',
349
350
  command=self.print_selection).pack(side='left')
350
351
 
351
352
  # Canvas frame.
@@ -408,7 +409,7 @@ class ChartResultsView(object):
408
409
  def print_selection(self, *e):
409
410
  if self._root is None: return
410
411
  if self._selection is None:
411
- tkinter.messagebox.showerror('Print Error', 'No tree selected')
412
+ showerror('Print Error', 'No tree selected')
412
413
  else:
413
414
  c = self._cframe.canvas()
414
415
  for widget in self._treewidgets:
@@ -513,7 +514,7 @@ class ChartComparer(object):
513
514
  self._operator = None
514
515
 
515
516
  # Set up the root window.
516
- self._root = tkinter.Tk()
517
+ self._root = Tk()
517
518
  self._root.title('Chart Comparison')
518
519
  self._root.bind('<Control-q>', self.destroy)
519
520
  self._root.bind('<Control-x>', self.destroy)
@@ -544,10 +545,10 @@ class ChartComparer(object):
544
545
  #////////////////////////////////////////////////////////////
545
546
 
546
547
  def _init_menubar(self, root):
547
- menubar = tkinter.Menu(root)
548
+ menubar = Menu(root)
548
549
 
549
550
  # File menu
550
- filemenu = tkinter.Menu(menubar, tearoff=0)
551
+ filemenu = Menu(menubar, tearoff=0)
551
552
  filemenu.add_command(label='Load Chart', accelerator='Ctrl-o',
552
553
  underline=0, command=self.load_chart_dialog)
553
554
  filemenu.add_command(label='Save Output', accelerator='Ctrl-s',
@@ -558,7 +559,7 @@ class ChartComparer(object):
558
559
  menubar.add_cascade(label='File', underline=0, menu=filemenu)
559
560
 
560
561
  # Compare menu
561
- opmenu = tkinter.Menu(menubar, tearoff=0)
562
+ opmenu = Menu(menubar, tearoff=0)
562
563
  opmenu.add_command(label='Intersection',
563
564
  command=self._intersection,
564
565
  accelerator='+')
@@ -577,18 +578,18 @@ class ChartComparer(object):
577
578
  self._root.config(menu=menubar)
578
579
 
579
580
  def _init_divider(self, root):
580
- divider = tkinter.Frame(root, border=2, relief='sunken')
581
+ divider = Frame(root, border=2, relief='sunken')
581
582
  divider.pack(side='top', fill='x', ipady=2)
582
583
 
583
584
  def _init_chartviews(self, root):
584
585
  opfont=('symbol', -36) # Font for operator.
585
586
  eqfont=('helvetica', -36) # Font for equals sign.
586
587
 
587
- frame = tkinter.Frame(root, background='#c0c0c0')
588
+ frame = Frame(root, background='#c0c0c0')
588
589
  frame.pack(side='top', expand=1, fill='both')
589
590
 
590
591
  # The left matrix.
591
- cv1_frame = tkinter.Frame(frame, border=3, relief='groove')
592
+ cv1_frame = Frame(frame, border=3, relief='groove')
592
593
  cv1_frame.pack(side='left', padx=8, pady=7, expand=1, fill='both')
593
594
  self._left_selector = MutableOptionMenu(
594
595
  cv1_frame, list(self._charts.keys()), command=self._select_left)
@@ -603,12 +604,12 @@ class ChartComparer(object):
603
604
  self._left_matrix.inactivate()
604
605
 
605
606
  # The operator.
606
- self._op_label = tkinter.Label(frame, text=' ', width=3,
607
+ self._op_label = Label(frame, text=' ', width=3,
607
608
  background='#c0c0c0', font=opfont)
608
609
  self._op_label.pack(side='left', padx=5, pady=5)
609
610
 
610
611
  # The right matrix.
611
- cv2_frame = tkinter.Frame(frame, border=3, relief='groove')
612
+ cv2_frame = Frame(frame, border=3, relief='groove')
612
613
  cv2_frame.pack(side='left', padx=8, pady=7, expand=1, fill='both')
613
614
  self._right_selector = MutableOptionMenu(
614
615
  cv2_frame, list(self._charts.keys()), command=self._select_right)
@@ -623,13 +624,13 @@ class ChartComparer(object):
623
624
  self._right_matrix.inactivate()
624
625
 
625
626
  # The equals sign
626
- tkinter.Label(frame, text='=', width=3, background='#c0c0c0',
627
+ Label(frame, text='=', width=3, background='#c0c0c0',
627
628
  font=eqfont).pack(side='left', padx=5, pady=5)
628
629
 
629
630
  # The output matrix.
630
- out_frame = tkinter.Frame(frame, border=3, relief='groove')
631
+ out_frame = Frame(frame, border=3, relief='groove')
631
632
  out_frame.pack(side='left', padx=8, pady=7, expand=1, fill='both')
632
- self._out_label = tkinter.Label(out_frame, text='Output')
633
+ self._out_label = Label(out_frame, text='Output')
633
634
  self._out_label.pack(side='top', pady=9)
634
635
  self._out_matrix = ChartMatrixView(out_frame, self._emptychart,
635
636
  toplevel=False,
@@ -641,19 +642,19 @@ class ChartComparer(object):
641
642
  self._out_matrix.inactivate()
642
643
 
643
644
  def _init_buttons(self, root):
644
- buttons = tkinter.Frame(root)
645
+ buttons = Frame(root)
645
646
  buttons.pack(side='bottom', pady=5, fill='x', expand=0)
646
- tkinter.Button(buttons, text='Intersection',
647
+ Button(buttons, text='Intersection',
647
648
  command=self._intersection).pack(side='left')
648
- tkinter.Button(buttons, text='Union',
649
+ Button(buttons, text='Union',
649
650
  command=self._union).pack(side='left')
650
- tkinter.Button(buttons, text='Difference',
651
+ Button(buttons, text='Difference',
651
652
  command=self._difference).pack(side='left')
652
- tkinter.Frame(buttons, width=20).pack(side='left')
653
- tkinter.Button(buttons, text='Swap Charts',
653
+ Frame(buttons, width=20).pack(side='left')
654
+ Button(buttons, text='Swap Charts',
654
655
  command=self._swapcharts).pack(side='left')
655
656
 
656
- tkinter.Button(buttons, text='Detatch Output',
657
+ Button(buttons, text='Detatch Output',
657
658
  command=self._detatch_out).pack(side='right')
658
659
 
659
660
  def _init_bindings(self, root):
@@ -699,7 +700,7 @@ class ChartComparer(object):
699
700
  with open(filename, 'wb') as outfile:
700
701
  pickle.dump(self._out_chart, outfile)
701
702
  except Exception as e:
702
- tkinter.messagebox.showerror('Error Saving Chart',
703
+ showerror('Error Saving Chart',
703
704
  'Unable to open file: %r\n%s' %
704
705
  (filename, e))
705
706
 
@@ -709,7 +710,7 @@ class ChartComparer(object):
709
710
  if not filename: return
710
711
  try: self.load_chart(filename)
711
712
  except Exception as e:
712
- tkinter.messagebox.showerror('Error Loading Chart',
713
+ showerror('Error Loading Chart',
713
714
  'Unable to open file: %r\n%s' %
714
715
  (filename, e))
715
716
 
@@ -932,12 +933,12 @@ class ChartView(object):
932
933
 
933
934
  # If they didn't provide a main window, then set one up.
934
935
  if root is None:
935
- top = tkinter.Tk()
936
+ top = Tk()
936
937
  top.title('Chart View')
937
938
  def destroy1(e, top=top): top.destroy()
938
939
  def destroy2(top=top): top.destroy()
939
940
  top.bind('q', destroy1)
940
- b = tkinter.Button(top, text='Done', command=destroy2)
941
+ b = Button(top, text='Done', command=destroy2)
941
942
  b.pack(side='bottom')
942
943
  self._root = top
943
944
  else:
@@ -953,9 +954,9 @@ class ChartView(object):
953
954
 
954
955
  # Create the sentence canvas.
955
956
  if draw_sentence:
956
- cframe = tkinter.Frame(self._root, relief='sunk', border=2)
957
+ cframe = Frame(self._root, relief='sunk', border=2)
957
958
  cframe.pack(fill='both', side='bottom')
958
- self._sentence_canvas = tkinter.Canvas(cframe, height=50)
959
+ self._sentence_canvas = Canvas(cframe, height=50)
959
960
  self._sentence_canvas['background'] = '#e0e0e0'
960
961
  self._sentence_canvas.pack(fill='both')
961
962
  #self._sentence_canvas['height'] = self._sentence_height
@@ -981,12 +982,12 @@ class ChartView(object):
981
982
  self._chart_canvas.bind('<Configure>', self._configure)
982
983
 
983
984
  def _init_fonts(self, root):
984
- self._boldfont = tkinter.font.Font(family='helvetica', weight='bold',
985
+ self._boldfont = Font(family='helvetica', weight='bold',
985
986
  size=self._fontsize)
986
- self._font = tkinter.font.Font(family='helvetica',
987
+ self._font = Font(family='helvetica',
987
988
  size=self._fontsize)
988
989
  # See: <http://www.astro.washington.edu/owen/ROTKFolklore.html>
989
- self._sysfont = tkinter.font.Font(font=tkinter.Button()["font"])
990
+ self._sysfont = Font(font=Button()["font"])
990
991
  root.option_add("*Font", self._sysfont)
991
992
 
992
993
  def _sb_canvas(self, root, expand='y',
@@ -994,12 +995,12 @@ class ChartView(object):
994
995
  """
995
996
  Helper for __init__: construct a canvas with a scrollbar.
996
997
  """
997
- cframe =tkinter.Frame(root, relief='sunk', border=2)
998
+ cframe = Frame(root, relief='sunk', border=2)
998
999
  cframe.pack(fill=fill, expand=expand, side=side)
999
- canvas = tkinter.Canvas(cframe, background='#e0e0e0')
1000
+ canvas = Canvas(cframe, background='#e0e0e0')
1000
1001
 
1001
1002
  # Give the canvas a scrollbar.
1002
- sb = tkinter.Scrollbar(cframe, orient='vertical')
1003
+ sb = Scrollbar(cframe, orient='vertical')
1003
1004
  sb.pack(side='right', fill='y')
1004
1005
  canvas.pack(side='left', fill=fill, expand='yes')
1005
1006
 
@@ -1630,14 +1631,14 @@ class ChartParserApp(object):
1630
1631
  self._root = None
1631
1632
  try:
1632
1633
  # Create the root window.
1633
- self._root = tkinter.Tk()
1634
+ self._root = Tk()
1634
1635
  self._root.title(title)
1635
1636
  self._root.bind('<Control-q>', self.destroy)
1636
1637
 
1637
1638
  # Set up some frames.
1638
- frame3 = tkinter.Frame(self._root)
1639
- frame2 = tkinter.Frame(self._root)
1640
- frame1 = tkinter.Frame(self._root)
1639
+ frame3 = Frame(self._root)
1640
+ frame2 = Frame(self._root)
1641
+ frame1 = Frame(self._root)
1641
1642
  frame3.pack(side='bottom', fill='none')
1642
1643
  frame2.pack(side='bottom', fill='x')
1643
1644
  frame1.pack(side='bottom', fill='both', expand=1)
@@ -1701,25 +1702,25 @@ class ChartParserApp(object):
1701
1702
 
1702
1703
  def _init_fonts(self, root):
1703
1704
  # See: <http://www.astro.washington.edu/owen/ROTKFolklore.html>
1704
- self._sysfont = tkinter.font.Font(font=tkinter.Button()["font"])
1705
+ self._sysfont = Font(font=Button()["font"])
1705
1706
  root.option_add("*Font", self._sysfont)
1706
1707
 
1707
1708
  # TWhat's our font size (default=same as sysfont)
1708
- self._size = tkinter.IntVar(root)
1709
+ self._size = IntVar(root)
1709
1710
  self._size.set(self._sysfont.cget('size'))
1710
1711
 
1711
- self._boldfont = tkinter.font.Font(family='helvetica', weight='bold',
1712
+ self._boldfont = Font(family='helvetica', weight='bold',
1712
1713
  size=self._size.get())
1713
- self._font = tkinter.font.Font(family='helvetica',
1714
+ self._font = Font(family='helvetica',
1714
1715
  size=self._size.get())
1715
1716
 
1716
1717
  def _init_animation(self):
1717
1718
  # Are we stepping? (default=yes)
1718
- self._step = tkinter.IntVar(self._root)
1719
+ self._step = IntVar(self._root)
1719
1720
  self._step.set(1)
1720
1721
 
1721
1722
  # What's our animation speed (default=fast)
1722
- self._animate = tkinter.IntVar(self._root)
1723
+ self._animate = IntVar(self._root)
1723
1724
  self._animate.set(3) # Default speed = fast
1724
1725
 
1725
1726
  # Are we currently animating?
@@ -1733,59 +1734,59 @@ class ChartParserApp(object):
1733
1734
  def _init_rulelabel(self, parent):
1734
1735
  ruletxt = 'Last edge generated by:'
1735
1736
 
1736
- self._rulelabel1 = tkinter.Label(parent,text=ruletxt,
1737
+ self._rulelabel1 = Label(parent,text=ruletxt,
1737
1738
  font=self._boldfont)
1738
- self._rulelabel2 = tkinter.Label(parent, width=40,
1739
+ self._rulelabel2 = Label(parent, width=40,
1739
1740
  relief='groove', anchor='w',
1740
1741
  font=self._boldfont)
1741
1742
  self._rulelabel1.pack(side='left')
1742
1743
  self._rulelabel2.pack(side='left')
1743
- step = tkinter.Checkbutton(parent, variable=self._step,
1744
+ step = Checkbutton(parent, variable=self._step,
1744
1745
  text='Step')
1745
1746
  step.pack(side='right')
1746
1747
 
1747
1748
  def _init_buttons(self, parent):
1748
- frame1 = tkinter.Frame(parent)
1749
- frame2 = tkinter.Frame(parent)
1749
+ frame1 = Frame(parent)
1750
+ frame2 = Frame(parent)
1750
1751
  frame1.pack(side='bottom', fill='x')
1751
1752
  frame2.pack(side='top', fill='none')
1752
1753
 
1753
- tkinter.Button(frame1, text='Reset\nParser',
1754
+ Button(frame1, text='Reset\nParser',
1754
1755
  background='#90c0d0', foreground='black',
1755
1756
  command=self.reset).pack(side='right')
1756
- #Tkinter.Button(frame1, text='Pause',
1757
+ # Button(frame1, text='Pause',
1757
1758
  # background='#90c0d0', foreground='black',
1758
1759
  # command=self.pause).pack(side='left')
1759
1760
 
1760
- tkinter.Button(frame1, text='Top Down\nStrategy',
1761
+ Button(frame1, text='Top Down\nStrategy',
1761
1762
  background='#90c0d0', foreground='black',
1762
1763
  command=self.top_down_strategy).pack(side='left')
1763
- tkinter.Button(frame1, text='Bottom Up\nStrategy',
1764
+ Button(frame1, text='Bottom Up\nStrategy',
1764
1765
  background='#90c0d0', foreground='black',
1765
1766
  command=self.bottom_up_strategy).pack(side='left')
1766
- tkinter.Button(frame1, text='Bottom Up\nLeft-Corner Strategy',
1767
+ Button(frame1, text='Bottom Up\nLeft-Corner Strategy',
1767
1768
  background='#90c0d0', foreground='black',
1768
1769
  command=self.bottom_up_leftcorner_strategy).pack(side='left')
1769
1770
 
1770
- tkinter.Button(frame2, text='Top Down Init\nRule',
1771
+ Button(frame2, text='Top Down Init\nRule',
1771
1772
  background='#90f090', foreground='black',
1772
1773
  command=self.top_down_init).pack(side='left')
1773
- tkinter.Button(frame2, text='Top Down Predict\nRule',
1774
+ Button(frame2, text='Top Down Predict\nRule',
1774
1775
  background='#90f090', foreground='black',
1775
1776
  command=self.top_down_predict).pack(side='left')
1776
- tkinter.Frame(frame2, width=20).pack(side='left')
1777
+ Frame(frame2, width=20).pack(side='left')
1777
1778
 
1778
- tkinter.Button(frame2, text='Bottom Up Predict\nRule',
1779
+ Button(frame2, text='Bottom Up Predict\nRule',
1779
1780
  background='#90f090', foreground='black',
1780
1781
  command=self.bottom_up).pack(side='left')
1781
- tkinter.Frame(frame2, width=20).pack(side='left')
1782
+ Frame(frame2, width=20).pack(side='left')
1782
1783
 
1783
- tkinter.Button(frame2, text='Bottom Up Left-Corner\nPredict Rule',
1784
+ Button(frame2, text='Bottom Up Left-Corner\nPredict Rule',
1784
1785
  background='#90f090', foreground='black',
1785
1786
  command=self.bottom_up_leftcorner).pack(side='left')
1786
- tkinter.Frame(frame2, width=20).pack(side='left')
1787
+ Frame(frame2, width=20).pack(side='left')
1787
1788
 
1788
- tkinter.Button(frame2, text='Fundamental\nRule',
1789
+ Button(frame2, text='Fundamental\nRule',
1789
1790
  background='#90f090', foreground='black',
1790
1791
  command=self.fundamental).pack(side='left')
1791
1792
 
@@ -1819,9 +1820,9 @@ class ChartParserApp(object):
1819
1820
  self._root.bind('s', lambda e,s=self._step:s.set(not s.get()))
1820
1821
 
1821
1822
  def _init_menubar(self):
1822
- menubar = tkinter.Menu(self._root)
1823
+ menubar = Menu(self._root)
1823
1824
 
1824
- filemenu = tkinter.Menu(menubar, tearoff=0)
1825
+ filemenu = Menu(menubar, tearoff=0)
1825
1826
  filemenu.add_command(label='Save Chart', underline=0,
1826
1827
  command=self.save_chart, accelerator='Ctrl-s')
1827
1828
  filemenu.add_command(label='Load Chart', underline=0,
@@ -1838,7 +1839,7 @@ class ChartParserApp(object):
1838
1839
  command=self.destroy, accelerator='Ctrl-x')
1839
1840
  menubar.add_cascade(label='File', underline=0, menu=filemenu)
1840
1841
 
1841
- editmenu = tkinter.Menu(menubar, tearoff=0)
1842
+ editmenu = Menu(menubar, tearoff=0)
1842
1843
  editmenu.add_command(label='Edit Grammar', underline=5,
1843
1844
  command=self.edit_grammar,
1844
1845
  accelerator='Ctrl-g')
@@ -1847,14 +1848,14 @@ class ChartParserApp(object):
1847
1848
  accelerator='Ctrl-t')
1848
1849
  menubar.add_cascade(label='Edit', underline=0, menu=editmenu)
1849
1850
 
1850
- viewmenu = tkinter.Menu(menubar, tearoff=0)
1851
+ viewmenu = Menu(menubar, tearoff=0)
1851
1852
  viewmenu.add_command(label='Chart Matrix', underline=6,
1852
1853
  command=self.view_matrix)
1853
1854
  viewmenu.add_command(label='Results', underline=0,
1854
1855
  command=self.view_results)
1855
1856
  menubar.add_cascade(label='View', underline=0, menu=viewmenu)
1856
1857
 
1857
- rulemenu = tkinter.Menu(menubar, tearoff=0)
1858
+ rulemenu = Menu(menubar, tearoff=0)
1858
1859
  rulemenu.add_command(label='Top Down Strategy', underline=0,
1859
1860
  command=self.top_down_strategy,
1860
1861
  accelerator='t')
@@ -1877,7 +1878,7 @@ class ChartParserApp(object):
1877
1878
  command=self.fundamental)
1878
1879
  menubar.add_cascade(label='Apply', underline=0, menu=rulemenu)
1879
1880
 
1880
- animatemenu = tkinter.Menu(menubar, tearoff=0)
1881
+ animatemenu = Menu(menubar, tearoff=0)
1881
1882
  animatemenu.add_checkbutton(label="Step", underline=0,
1882
1883
  variable=self._step,
1883
1884
  accelerator='s')
@@ -1895,7 +1896,7 @@ class ChartParserApp(object):
1895
1896
  accelerator='+')
1896
1897
  menubar.add_cascade(label="Animate", underline=1, menu=animatemenu)
1897
1898
 
1898
- zoommenu = tkinter.Menu(menubar, tearoff=0)
1899
+ zoommenu = Menu(menubar, tearoff=0)
1899
1900
  zoommenu.add_radiobutton(label='Tiny', variable=self._size,
1900
1901
  underline=0, value=10, command=self.resize)
1901
1902
  zoommenu.add_radiobutton(label='Small', variable=self._size,
@@ -1908,7 +1909,7 @@ class ChartParserApp(object):
1908
1909
  underline=0, value=24, command=self.resize)
1909
1910
  menubar.add_cascade(label='Zoom', underline=0, menu=zoommenu)
1910
1911
 
1911
- helpmenu = tkinter.Menu(menubar, tearoff=0)
1912
+ helpmenu = Menu(menubar, tearoff=0)
1912
1913
  helpmenu.add_command(label='About', underline=0,
1913
1914
  command=self.about)
1914
1915
  helpmenu.add_command(label='Instructions', underline=0,
@@ -1983,7 +1984,7 @@ class ChartParserApp(object):
1983
1984
  def about(self, *e):
1984
1985
  ABOUT = ("NLTK Chart Parser Application\n"+
1985
1986
  "Written by Edward Loper")
1986
- tkinter.messagebox.showinfo('About: Chart Parser Application', ABOUT)
1987
+ showinfo('About: Chart Parser Application', ABOUT)
1987
1988
 
1988
1989
  #////////////////////////////////////////////////////////////
1989
1990
  # File Menu
@@ -2011,7 +2012,7 @@ class ChartParserApp(object):
2011
2012
  self._cp.set_chart(chart)
2012
2013
  except Exception as e:
2013
2014
  raise
2014
- tkinter.messagebox.showerror('Error Loading Chart',
2015
+ showerror('Error Loading Chart',
2015
2016
  'Unable to open file: %r' % filename)
2016
2017
 
2017
2018
  def save_chart(self, *args):
@@ -2024,7 +2025,7 @@ class ChartParserApp(object):
2024
2025
  pickle.dump(self._chart, outfile)
2025
2026
  except Exception as e:
2026
2027
  raise
2027
- tkinter.messagebox.showerror('Error Saving Chart',
2028
+ showerror('Error Saving Chart',
2028
2029
  'Unable to open file: %r' % filename)
2029
2030
 
2030
2031
  def load_grammar(self, *args):
@@ -2041,7 +2042,7 @@ class ChartParserApp(object):
2041
2042
  grammar = CFG.fromstring(infile.read())
2042
2043
  self.set_grammar(grammar)
2043
2044
  except Exception as e:
2044
- tkinter.messagebox.showerror('Error Loading Grammar',
2045
+ showerror('Error Loading Grammar',
2045
2046
  'Unable to open file: %r' % filename)
2046
2047
 
2047
2048
  def save_grammar(self, *args):
@@ -2060,7 +2061,7 @@ class ChartParserApp(object):
2060
2061
  for prod in start: outfile.write('%s\n' % prod)
2061
2062
  for prod in rest: outfile.write('%s\n' % prod)
2062
2063
  except Exception as e:
2063
- tkinter.messagebox.showerror('Error Saving Grammar',
2064
+ showerror('Error Saving Grammar',
2064
2065
  'Unable to open file: %r' % filename)
2065
2066
 
2066
2067
  def reset(self, *args):
@@ -2273,4 +2274,3 @@ if __name__ == '__main__':
2273
2274
  #p.strip_dirs().sort_stats('cum', 'time').print_stats(60)
2274
2275
 
2275
2276
  __all__ = ['app']
2276
-
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Regexp Chunk 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
@@ -16,16 +16,15 @@ parser ``nltk.chunk.RegexpChunkParser``.
16
16
  # and what part of the data is being used as the development set.
17
17
 
18
18
  from __future__ import division
19
- import nltk.compat
20
19
  import time
21
20
  import textwrap
22
21
  import re
23
22
  import random
24
- import tkinter.filedialog, tkinter.font
25
23
 
26
- from tkinter import (Button, Canvas, Checkbutton,
27
- Frame, IntVar, Label, Menu,
28
- Scrollbar, Text, Tk)
24
+ from six.moves.tkinter import (Button, Canvas, Checkbutton, Frame, IntVar,
25
+ Label, Menu, Scrollbar, Text, Tk)
26
+ from six.moves.tkinter_tkfiledialog import askopenfilename, asksaveasfilename
27
+ from six.moves.tkinter_font import Font
29
28
 
30
29
  from nltk.tree import Tree
31
30
  from nltk.util import in_idle
@@ -376,9 +375,9 @@ class RegexpChunkApp(object):
376
375
  # TWhat's our font size (default=same as sysfont)
377
376
  self._size = IntVar(top)
378
377
  self._size.set(20)
379
- self._font = tkinter.font.Font(family='helvetica',
378
+ self._font = Font(family='helvetica',
380
379
  size=-self._size.get())
381
- self._smallfont = tkinter.font.Font(family='helvetica',
380
+ self._smallfont = Font(family='helvetica',
382
381
  size=-(int(self._size.get()*14//20)))
383
382
 
384
383
  def _init_menubar(self, parent):
@@ -1159,7 +1158,7 @@ class RegexpChunkApp(object):
1159
1158
  if not filename:
1160
1159
  ftypes = [('Chunk Gramamr', '.chunk'),
1161
1160
  ('All files', '*')]
1162
- filename = tkinter.filedialog.asksaveasfilename(filetypes=ftypes,
1161
+ filename = asksaveasfilename(filetypes=ftypes,
1163
1162
  defaultextension='.chunk')
1164
1163
  if not filename: return
1165
1164
  if (self._history and self.normalized_grammar ==
@@ -1181,7 +1180,7 @@ class RegexpChunkApp(object):
1181
1180
  if not filename:
1182
1181
  ftypes = [('Chunk Gramamr', '.chunk'),
1183
1182
  ('All files', '*')]
1184
- filename = tkinter.filedialog.askopenfilename(filetypes=ftypes,
1183
+ filename = askopenfilename(filetypes=ftypes,
1185
1184
  defaultextension='.chunk')
1186
1185
  if not filename: return
1187
1186
  self.grammarbox.delete('1.0', 'end')
@@ -1197,7 +1196,7 @@ class RegexpChunkApp(object):
1197
1196
  if not filename:
1198
1197
  ftypes = [('Chunk Gramamr History', '.txt'),
1199
1198
  ('All files', '*')]
1200
- filename = tkinter.filedialog.asksaveasfilename(filetypes=ftypes,
1199
+ filename = asksaveasfilename(filetypes=ftypes,
1201
1200
  defaultextension='.txt')
1202
1201
  if not filename: return
1203
1202
 
@@ -1226,7 +1225,7 @@ class RegexpChunkApp(object):
1226
1225
  "Written by Edward Loper")
1227
1226
  TITLE = 'About: Regular Expression Chunk Parser Application'
1228
1227
  try:
1229
- from tkinter.messagebox import Message
1228
+ from six.moves.tkinter_messagebox import Message
1230
1229
  Message(message=ABOUT, title=TITLE).show()
1231
1230
  except:
1232
1231
  ShowText(self.top, TITLE, ABOUT)
@@ -1261,4 +1260,3 @@ if __name__ == '__main__':
1261
1260
  app()
1262
1261
 
1263
1262
  __all__ = ['app']
1264
-
@@ -1,6 +1,6 @@
1
1
  # Natural Language Toolkit: Collocations Application
2
2
  # Much of the GUI code is imported from concordance.py; We intend to merge these tools together
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,16 +9,13 @@
9
9
 
10
10
  from __future__ import division
11
11
 
12
- import nltk.compat
13
12
  import threading
14
- import tkinter.font
15
- if nltk.compat.PY3:
16
- import queue as q
17
- else:
18
- import Queue as q
19
- from tkinter import (Button, END, Frame, IntVar, LEFT, Label, Menu,
20
- OptionMenu, SUNKEN, Scrollbar, StringVar,
21
- Text, Tk)
13
+
14
+ from six.moves import queue as q
15
+ from six.moves.tkinter_font import Font
16
+ from six.moves.tkinter import (Button, END, Frame, IntVar, LEFT, Label, Menu,
17
+ OptionMenu, SUNKEN, Scrollbar, StringVar,
18
+ Text, Tk)
22
19
 
23
20
  from nltk.corpus import (cess_cat, brown, nps_chat, treebank, sinica_treebank, alpino,
24
21
  indian, floresta, mac_morpho, machado, cess_esp)
@@ -146,7 +143,7 @@ class CollocationsView:
146
143
  vscrollbar = Scrollbar(i1, borderwidth=1)
147
144
  hscrollbar = Scrollbar(i2, borderwidth=1, orient='horiz')
148
145
  self.results_box = Text(i1,
149
- font=tkinter.font.Font(family='courier', size='16'),
146
+ font=Font(family='courier', size='16'),
150
147
  state='disabled', borderwidth=1,
151
148
  yscrollcommand=vscrollbar.set,
152
149
  xscrollcommand=hscrollbar.set, wrap='none', width='40', height = '20', exportselection=1)