python - 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,不管是否有标签。
解决方案
推荐阅读
- javascript - 使用类似于 onSelect() 的 onChange() 将选择值打印到控制台
- laravel - Laravel 7 - 电子邮件验证但没有“验证您的电子邮件地址”页面
- javascript - 如何使用 mongoose 和 node.js 将 mongodb 时间戳转换为 dd-mm-yyyy 格式?
- r - 如何在 R 中使用 grid.show.viewport() 函数?
- javascript - 使用 firebase auth 注册用户会引发错误,但仍能正确注册
- python - Pandas groupby 计数和填充无计数为 0
- mysql - 插入新元素时如何向下推 ID
- apache-kafka - Kafka docker 撰写外部连接
- android - 如何更快地从 Firebase 中检索数据
- javascript - Pause functions on page history forward backward