import nltk
>>> nltk.__version__
'3.0.4'
>>> nltk.word_tokenize('"')
['``']
>>> nltk.word_tokenize('""')
['``', '``']
>>> nltk.word_tokenize('"A"')
['``', 'A', "''"]
了解它如何将"
更改为双重``和''
?
这里发生了什么?为什么要改变这个角色?有修复吗?因为我需要稍后在字符串中搜索每个标记。
Python 2.7.6如果它有任何区别。
答案 0 :(得分:0)
似乎不可能在任何 nltk 标记器中轻松处理引用的单词。
s = "marked with ''gonzaga'' "
from nltk.tokenize import word_tokenize
word_tokenize(s)
['marked', 'with', '``', 'gonzaga', "''"]
from sacremoses import MosesTokenizer
tokenizer = MosesTokenizer()
tokenizer.tokenize(s, escape=False)
['marked', 'with', "'", "'", 'gonzaga', "'", "'"]