我的数据集中有两个句子:
我是猫普希恩。我太可爱了。#句点后没有空格
w2=我是猫普希恩。我真可爱。#句点后有空格
当我使用NKTL标记器(word和sent)时,nltk不能区分cat.I之间的内容
这里是单词tokenize
>>> nltk.word_tokenize(w1, 'english')
['I', 'am', 'Pusheen', 'the', 'cat.I', 'am', 'so', 'cute']
>>> nltk.word_tokenize(w2, 'english')
['I', 'am', 'Pusheen', 'the', 'cat', '.', 'I', 'am', 'so', 'cute']
并发送标记化
^{pr2}$我想问一下怎么解决这个问题?i、 e:让nlkt检测为w2,而在我的数据集中,有时单词和标点符号粘在一起。在
更新: 尝试过斯坦福corenlp3.7.0,他们也无法区分'cat.I'为'cat'、'''、'I'
meow@meow-server:~/projects/stanfordcorenlp$ java edu.stanford.nlp.process.PTBTokenizer sample.txt
I
am
Pusheen
the
cat.I
am
so
cute
.
PTBTokenizer tokenized 9 tokens at 111.21 tokens per second.
它是故意这样实现的一个句点后面没有空格通常并不表示一个句子的结束(想想像“版本4.3”,“例如”,“a.M.”等短语中的句点)。如果你有一个语料库,在这个语料库中,句号后面没有空格是很常见的,那么你必须在发送到NLTK之前用正则表达式或类似的方法对文本进行预处理。在
一个好的经验法则可能是,通常一个小写字母后跟一个句点后接一个大写字母通常表示一个句子的结尾。在这种情况下,要在句点后插入空格,可以使用正则表达式,例如
相关问题 更多 >
编程相关推荐