我想从任何大小的英文文本中提取减少的“有意义”标签集合(最多 10 个)。
http://tagcrowd.com/很有趣,但算法似乎很基本(只是字数统计)
有没有其他现有的算法可以做到这一点?
有用于此的现有 Web 服务。二三个例子:
当您减去人为因素(标记)时,剩下的就是频率。“忽略常见的英语单词”是次佳过滤器,因为它处理的是排除而不是包含。我测试了几个网站,它非常准确。确实没有其他方法可以得出“意义”,这就是语义网如今受到如此多关注的原因。这是一种用 HTML 来暗示意义的方式……当然,它也有人类的元素。
在文本分类中,这个问题被称为降维。关于这个主题的文献中有许多有用的算法。
基本上,这是一个文本分类问题/文档分类问题。如果您可以访问许多已标记的文档,则可以分析哪些(内容)词触发了哪些标记,然后使用此信息来标记新文档。
如果您不想使用机器学习方法并且仍然有文档集合,那么您可以使用tf.idf之类的指标来过滤掉有趣的单词。
更进一步,如果同义词的频率较高,您可以使用Wordnet查找同义词并用同义词替换单词。
Manning & Schütze包含更多关于文本分类的介绍。
您想要对文本进行语义分析。
词频分析是进行语义分析的最简单方法之一。不幸的是(显然)这是最不准确的。可以通过使用特殊词典(例如同义词或单词形式)、带有常用词的“停止列表”、其他文本(查找那些“常用”词并排除它们)来改进它...
至于其他算法,它们可以基于:
但是......你应该明白,这些算法仅仅是语义分析的启发式算法,而不是实现目标的严格算法。自第一台计算机出现以来,语义分析问题是人工智能/机器学习研究的主要问题之一。
也许“词频 - 逆文档频率” TF-IDF会很有用......
您可以分两步使用它:
1 - 尝试主题建模算法:
2 - 之后您可以选择每个主题中最具代表性的单词作为标签