tokenltk word\u tokenize()用两种不同的方法在不同的函数中标记同一个单词

2024-05-13 21:16:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个网球运动员的名字,显然熊猫没有正确解析。是“拉德瓦?斯卡”。我有两个函数,其中我使用word_tokenize()函数进行标记化。 它在两种不同的功能中以两种不同的方式表示句子。如何让第二辆车走第一条路
['radwa?ska']
['radwa','?','ska']
这是两个函数的代码。
第一个功能:
word_tokenize(keyword)关键字是'martina hingis, nadia petrova, agnieszka radwa?ska'
第二个函数是:
word_tokenize(content[j])其中内容[j]是'agnieszka radwa?ska'
。你知道吗


Tags: 函数代码标记功能方式名字keyword句子
1条回答
网友
1楼 · 发布于 2024-05-13 21:16:26

对于原始帖子中的两个句子,它们应该返回相同的输出:

>>> from nltk import word_tokenize
>>> text1 = 'martina hingis, nadia petrova, agnieszka radwa?ska'
>>> text2 = 'agnieszka radwa?ska'

>>> word_tokenize(text1)
['martina', 'hingis', ',', 'nadia', 'petrova', ',', 'agnieszka', 'radwa', '?', 'ska']

>>> word_tokenize(text2)
['agnieszka', 'radwa', '?', 'ska']

这是因为TreebankWordTokenizer后面的word_tokenize对象总是在https://github.com/nltk/nltk/blob/develop/nltk/tokenize/treebank.py#L80处的问号前后加一个空格


一个人可以用一些方法来禁用regex,但它会在其他地方引起问题。你知道吗

但我敦促您仔细看看您是如何读取/收集数据的,radwa?ska的出现暗示了在标记化之前上游存在一些编码问题。正确读取文件/流会使您radwańska。你知道吗

另请参见

相关问题 更多 >