简单的问题:我们什么时候词干或词形还原?词干提取是否对所有 nlp 过程都有帮助,或者是否存在使用完整形式的单词可能会提高准确性或精度的应用程序?
3 回答
在基于机器学习的 NLP 环境中,词干提取使您的训练数据更加密集。它将字典的大小(语料库中使用的单词数量)减少了两倍或三倍(对于像法语这样具有许多变化的语言,例如在动词的情况下,单个词干可以生成几十个单词)。
拥有相同的语料库,但输入维度更少,ML 会更好地工作。回忆应该真的更好。
不利的一面是,如果在某些情况下,实际单词(而不是其词干)有所不同,那么您的系统将无法利用它。所以你可能会失去一些精度。
我们什么时候词干或词形还原?
词干提取是一种有用的单词“标准化”技术。考虑作为搜索文档语料库的示例。更具体地说,我们可能会准备一堆文档,以便在某种搜索索引中进行搜索。在创建搜索索引时,我们采用相似的术语并将它们作为词根词干,以便对其他形式的词的搜索与我们的文档相匹配。
考虑,对于 e 下列术语
- 索引器
- 索引
- 可转位
假设我们将这些中的每一个都转换为index
搜索索引中的术语。每当我们遇到其中之一时,我们将使用根形式“索引”而不是文档中存在的单词。
同样,我们在运行搜索查询之前执行相同的步骤,例如database indexing
.
查询将被转换为database index
,匹配所有具有任何形式的“索引”的文档,最喜欢增加我们搜索结果的相关性。
在全文搜索中,在执行短语搜索时保留词干很有用,我们可能会拼出语法正确的短语。就像确切的短语一样"Doug likes indexing databases"
。在这种情况下,我们希望全文搜索中的完整“索引”。
词干对于各种任务非常有用。例如,如果您正在处理文档相似性,则对数据进行规范化要好得多。删除所有格,停用词,小写所有内容,去除标点符号和单反。另一个建议是对单词进行排序。这对于二元组来说并没有那么糟糕,但对于更大的项来说可能看起来很奇怪。
Stack Exchange's
stack exchange
STACK EXCHANGE
Exchange, Stack
Stack Exchange (WEB)
StAcK Exchanges
为了进一步计算,所有这些都应该标准化为“交换堆栈”。