【问题标题】:How to keep special characters together in word_tokenize?如何在 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编程语言中的赋值运算符,如何保持为一个单词?

【问题讨论】:

  • 嗯,这不是“自然语言”。您必须对其进行后处理以搜索“->”并加入其周围的标记。

标签: python python-3.x regex string nltk


【解决方案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']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    相关资源
    最近更新 更多