当我使用双字母组时,我将双字母组的列表附加到了字母组合词上,并将其用作我的语料库。对于三字组,我在三字组中添加了三字组,但省略了双字组。
这是正确的方法吗?或者,如果我想合并三字组,最好也包含二元组吗?相反,过程应该是:unigrams-> unigrams + bigrams-> unigrams + bigrams + trigrams?
答案 0 :(得分:1)
了解了有关功能和tf-idf的更多信息后,我觉得现在有能力回答这个问题。
TF-IDF的最基本版本使用单字组来构建词汇表。捕获多词表达式的一种方法是向词汇表中添加高阶n-gram,例如bigrams和trigram。二元组和三元组分别捕获两个单词和三个单词的表达式,并比较它们在文档中的普遍程度。
当涉及到n-gram和多词表达式时,您能从中得到最大的收益?从双字母组开始似乎是合理的,因为两个单词的表达式比三个单词的表达式更多。诸如“棕狐狸”和“高个子女人”的表达方式将与“棕”,“狐狸”,“高个子”和“女人”区分开。在三字母组合及以上的形式中肯定有很多值(例如“快速褐狐”),但随着n变大,该值可能会减小,因为捕获实在表达式而不是噪声的概率会减小。
但是,我的问题不是关于三字组是否有用,而是我们在决定使用单字组和三字组时是否也应该使用双字组。尽管没有正确的答案,但我无法想到跳过二元语法并直接进入三字组的意义,这意味着您将忽略数据中的所有两个单词的表达式。即使您想添加高阶n-gram,您也不想遗忘双字母组的强大解释能力。