N-gram文本分类类别大小差异补偿

| 最近,我一直在基于Cavnar和Trenkle的文章“基于N-Gram的文本分类”以及其他相关资源来进行文本分类和语言分类。 对于进行语言分类,我发现此方法非常可靠且有用。只要它们“足够长”,用于生成N元语法频率分布的文档的大小就不重要了,因为我只是使用文档中最常见的n元语法。 另一方面,功能良好的文本分类让我望而却步。我已经尝试过自己的各种算法变体的实现,无论是否进行了IDF加权和其他人的实现等各种调整。只要我可以为类别参考文档生成大小相似的频率配置文件,它就可以很好地工作,但是当它们开始出现差异时,整个事情就会分崩离析,并且配置文件最短的类别最终会变得不成比例分配给它的文档数。 现在,我的问题是。补偿这种影响的首选方法是什么?这显然是在发生,因为该算法假定任何给定的N-gram的最大距离等于类别频率曲线的长度,但是由于某种原因,我无法解决这个问题。我对此修复程序感兴趣的原因之一是,因为我试图根据已知类别的文档(长度可能不同,即使它们的长度相同)自动基于类别已知的文档自动生成类别配置文件长度不同)。是否有“最佳实践”解决方案?     
已邀请:
如果您仍然感兴趣,并且假设我正确理解了您的问题,那么您问题的答案将是标准化您的n-gram频率。 在每个文档的基础上,最简单的方法是计算文档中所有n-gram的总频率,然后将每个n-gram的频率除以该数字。结果是,无论总长度如何,每个n克频率加权现在都占总文档内容的百分比。 在距离量度中使用这些百分比将降低文档的大小,而将重点放在文档内容的实际组成上。 值得注意的是,n-gram表示形式仅占整个分类解决方案的很小一部分。您可能还会考虑使用降维,不同的索引加权指标以及明显不同的分类算法。 有关在文本分类中使用n-gram的示例,请参见此处     
据我所知,任务是计算语言模型M生成某些文本的可能性。 最近,我正在使用语义,合意性和词汇属性来衡量文本的可读性。也可以通过语言模型方法进行度量。 要正确回答,您应该考虑以下问题: 您是否正在使用对数似然法? 您正在使用什么级别的N克? unigram grams或更高级别? 您使用的语言语料库有多大? 我仅使用二字组和单字组就可以对一些文档进行分类,并取得了不错的效果。如果您的分类较弱,请考虑创建更大的语言语料库或使用较低级的n-gram。 还请记住,根据文本的长度,将某些文本分类为无效类别可能是一个错误(在其他语言模型中几乎没有单词出现)。 只是考虑使您的语言语料库更大,并且知道分析短文本会出现错别字的可能性更高     

要回复问题请先登录注册