首页 > 解决方案 > nltk.tokenize.TweetTokenizer 下划线处理不一致

问题描述

我正在处理一些社交媒体数据,并注意到 nltk.tokenize.TweetTokenizer 处理下划线的方式不一致。我一生无法弄清楚它使用的规则,但希望有人能启发我。

示例输入 1:

text = "covid_19 is a scary virus"
tt = TweetTokenizer()
tt.tokenize(text)

输出:['covid', '_19', 'is', 'a', 'scary', 'virus']

示例输入 2:

text = "co_19 is a scary virus"
tt = TweetTokenizer()
tt.tokenize(text)

输出:['co_19', 'is', 'a', 'scary', 'virus']

我尝试了各种其他字母、数字和下划线的组合,但得到的结果不一致。我唯一确定的是,所有带下划线的字母永远不会分开,而主题标签似乎可以保证下划线不会分开。见下文。

示例输入 3:

text = "#covid_19 is a scary virus my_friend"
tt = TweetTokenizer()
tt.tokenize(text)

输出:['#covid_19', 'is', 'a', 'scary', 'virus', 'my_friend']

帮助?解释?我真的不希望它分裂 covid_19,不管是否有标签。

标签: pythonnlpnltktokenizesocial-media

解决方案


推荐阅读