Tokenizer扩展提取

时间:2019-09-12 10:53:46

标签: python nlp nltk tokenize

我正在寻找正在扩大收缩的令牌生成器。

使用nltk将短语拆分为标记,收缩不会扩展。

nltk.word_tokenize("she's")
-> ['she', "'s"]

但是,当仅将字典与收缩映射一起使用时,因此不考虑周围单词提供的任何信息时,就无法确定应将“她的”映射到“她是”还是“她拥有”

有没有提供收缩扩展的令牌生成器?

1 个答案:

答案 0 :(得分:1)

您可以对Spacy进行rule based matching来考虑周围单词提供的信息。 我写了一些演示代码,您可以在下面扩展以涵盖更多情况:

Debugger entered--Lisp error: (invalid-read-syntax "?")
read(#<buffer  *load*>)
eval-buffer(#<buffer  *load*> nil "/home/Roberto/.emacs.d/elpa/sml-mode-6.9/sml-mode.el" nil t)  ; Reading at buffer position 9890
load-with-code-conversion("/home/Roberto/.emacs.d/elpa/sml-mode-6.9/sml-mode.el" "/home/Roberto/.emacs.d/elpa/sml-mode-6.9/sml-mode.el" nil t)
sml-mode()
set-auto-mode-0(sml-mode nil)
set-auto-mode()
normal-mode(t)
after-find-file(t t)
find-file-noselect-1(#<buffer test.sml> "~/test.sml" nil nil "~/test.sml" nil)
find-file-noselect("~/test.sml" nil nil t)
find-file("~/test.sml" t)
funcall-interactively(find-file "~/test.sml" t)
call-interactively(find-file nil nil)
command-execute(find-file)

输出:

  

现在她是一名软件工程师
  现在她是一名软件工程师

     

她有一只猫
  她有一只猫

     

他是网球选手
  他是网球选手

     

他认为她今年30岁
  他认为她今年30岁