如何在 word_tokenize 中将特殊字符保持在一起?

Posted

技术标签:

【中文标题】如何在 word_tokenize 中将特殊字符保持在一起?【英文标题】:How to keep special characters together in word_tokenize? 【发布时间】:2022-01-20 00:23:45 【问题描述】:

我有涉及一些编码分配的 NLP 问题,例如“fn_point->extract.isolate_r”,当我使用word_tokenize 时,分配“->”会像这样["fn_point-", ">", "extract.isolate_r"] 拆分。

我做了以下事情:

from nltk.tokenize import word_tokenize
sentence = "The functional list fn_point->extract.isolate_r of size 32 is not valid"
new_sent = word_tokenize(sentence)
print(new_sent)

->”是c编程语言中的赋值运算符,如何保持为一个单词?

【问题讨论】:

嗯,这不是“自然语言”。您必须对其进行后处理以搜索“->”并加入其周围的标记。 【参考方案1】:

这有点 ad-hoc 但可以完成工作:

from nltk.tokenize import RegexpTokenizer

tokenizer = RegexpTokenizer('[\w\.]+|\d+|\->')

tokenizer.tokenize(sentence)

输出

['The', 'functional', 'list', 'fn_point', '->', 'extract.isolate_r', 'of', 'size', '32', 'is', 'not', 'valid']

【讨论】:

以上是关于如何在 word_tokenize 中将特殊字符保持在一起?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle中将查询出的多条记录的某个字段拼接成一个字符串的方法

如何在 c# 中将字符串从 utf8 转换(音译)为 ASCII(单字节)?

如何在 Pandas 数据框中应用 NLTK word_tokenize 库以获取 Twitter 数据?

在 xml 中保留特殊字符

安装和使用nltk

在 Powershell 中将字符串转换为哈希表