2024-05-16 06:40:36 发布
网友
字符串可以通过使用nltk.tokenize删除一些不必要的停止字来标记。但是,如何在删除其他非索引词的同时,将包含非索引词的短语标记为单个标记?在
例如:
输入:特朗普是美国总统。在
输出:【‘特朗普’,‘美国总统’】
我怎样才能得到只删除“is”和第一个“the”但不删除“of”和第二个“the”的结果?在
您可以使用nltk的Multi-Word Expression Tokenizer,它允许将多个单词表达式合并为单个标记。您可以创建包含多个单词表达式的词典,并按如下方式向其中添加条目:
from nltk.tokenize import MWETokenizer mwetokenizer = MWETokenizer([('President','of','the','United','States')], separator=' ') mwetokenizer.add_mwe(('President','of','France'))
请注意,MWETokenizer将标记化文本的列表作为输入,并重新标记它。因此,首先用word_tokenize()标记句子,然后将其输入MWETokenizer:
word_tokenize()
然后,过滤掉停止词,得到最后过滤的标记化句子:
输出:
['Trump', 'President of the United States', ',', 'Macron', 'President of France', '.']
您可以使用nltk的Multi-Word Expression Tokenizer,它允许将多个单词表达式合并为单个标记。您可以创建包含多个单词表达式的词典,并按如下方式向其中添加条目:
请注意,MWETokenizer将标记化文本的列表作为输入,并重新标记它。因此,首先用
^{pr2}$word_tokenize()
标记句子,然后将其输入MWETokenizer:然后,过滤掉停止词,得到最后过滤的标记化句子:
^{3}$输出:
相关问题 更多 >
编程相关推荐