【发布时间】:2021-02-06 18:40:18
【问题描述】:
我有一串文本,例如s = 'hi, welcome to grade 3'
目前当我标记我得到的字符串时
tokens = ['hi', 'welcome', 'to', 'grade', '3']
如何在不为常用短语(例如“grade 3”)生成单独标记的情况下对字符串进行标记
我希望输出类似于
tokens = ['hi', 'welcome', 'to', 'grade 3']
我有一个常用短语列表,如果这样更简单,我想将其保留在一个标记中
最终我不想让我所有的标记都变成二元组,因为我仍然需要为程序的其他部分使用单个单词标记
【问题讨论】:
-
有多种方法可以向 NLTK 提供短语列表。请发布预期的MRE - Minimal, Reproducible Example,显示您使用的内容,以及它如何不起作用。
-
所以我能想到的让它工作的唯一方法是创建一个完全独立的函数,将句子标记为二元组,然后与列表进行比较。这似乎非常低效,因为我正在运行函数来标记单词,然后运行一个完全独立的函数来标记二元组。
-
请通过intro tour、help center 和how to ask a good question 了解本网站的运作方式并帮助您改进当前和未来的问题,从而帮助您获得更好的答案。
-
“我能想到的唯一方法”只是一个开始。请参阅How much research 和Question Checklist。通过浏览器搜索可以处理特定短语的词典;我不确定哪个对你有用,因为我使用了不同的解析工具,它为“复合名词”提供了更好的工具。