如何在 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(单字节)?