在原始文本或词形还原/词干提取后计算单词n-gram?

5

我正在考虑在一段原始文本上使用词汇n-gram技术。但我有一个疑问:

在对文本进行词形还原/词干提取之后,使用词汇n-gram是否有意义?如果没有,为什么应该只在原始文件上使用词汇n-gram?有哪些优缺点?


1
你是在询问字符n-gram吗?(例如,food -> "<fo","foo","ood","od>")还是词n-gram?(例如,“stem original text” -> “stem original”,“original text”。) - John Foley
忘了吧。我在说的是词语n-gram。谢谢。 - Alessandro
1个回答

8

对于词形归一化或者词干提取后进行计算词n-grams的原因与在词形还原或者词干提取之前相同。有时这会得到假阳性,例如(D3),但通常可以以一种有意义的方式增加召回率,你需要这样做。

在某些领域(如短文本),词干提取可能会有所削弱。最好的方法是测试,但总的来说,我建议进行词干提取和大小写转换,但这确实取决于你的领域和查询。

Q="犯罪记录"

  • D1 = "... 有一个罪犯记录 ..." (匹配词干)
  • D2 = "... 公开了犯罪记录 ..." (正常匹配)
  • D3 = "... 在创作“Smooth Criminal”时录制..." (词干匹配出现错误)

这是一个精度/召回率的权衡。通过进行词干提取(总是)可以增加召回率,而不进行词干提取则可以提高精度。但这取决于您所服务的查询类型。例如,如果您正在运行代码搜索,几乎永远不需要进行词干提取或预处理,因为用户希望输入精确的符号名称,然后找到它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接