我正在研究一个项目,我正在使用遗传算法生成最能描述文本的单词列表。
我目前使用余弦相似性来做它,但它有两个缺陷:它的目的太慢了,如果两个被比较的向量是零,它最终会出现人为高相似度和一个单词向量,非常好。 对于其他措施的任何建议可能会更快/不注意那些不在那里的单词吗? 谢谢。快速矢量差异/相似性度量
回答
余弦相似度是量级乘积的点积,所以最小化维数是至关重要的。
剔除牛群一点,你可能想申请stemming崩溃类似意思的词到一个单一的维度,并从维度池折腾了hapax legomena(也就是说,只有在所考虑的语料库出现一次),因为一个算法不可能从它们中派生出很多有用的信息。
虽然我不确定会产生零矢量。你能给个例子吗?
编辑:那么你以后是创建一个单词列表是为特定文件或群集选择性?在这种情况下,你需要一些方法来消除低选择性的单词。
您可能希望将最常见的词语视为stop words以进一步挑选维度集并获得更多的性能。此外,在遗传算法方面,您的适应度函数需要惩罚匹配目标群集之外的文档的单词列表,而不仅仅奖励那些匹配群集内的文档的单词列表,因此您的单词列表不会被杂乱无章频繁而非选择性。
如果您在调整适应度函数后仍需要更好的语义选择性,您可能需要考虑使用orthogonal sparse bigrams而不是单个单词。但我不知道它在尺寸数量方面会做什么,因为虽然将会有不同的术语而不是 n,但它们中的很多将是hapaxes。这可能会导致一个问题,如果你需要单词而不是你的术语列表中的OSB。
我有些误会,基本上是我的集合的稀少(很多hapaxes和几千个单词使用了少数几次)意味着尽管它们不代表语料库的良好集群,但相似性经常非常高。 – Reu 2010-12-14 21:56:16
- 1. 如何在相似性度量和差异度量之间进行转换?
- 2. 矢量与动态数组相比,速度有很大差异吗?
- 3. 快速矢量索引
- 4. 查找3D速度矢量
- 5. 速度矢量帮助
- 6. 误差矢量
- 7. 全局变量和对象变量之间的速度差异
- 8. 多元相似度度量
- 9. 离散相似性度量算法
- 10. DBSCAN中的替代相似性度量?
- 11. 快速矢量化转换BGRA
- 12. 带矢量和速度的2D矢量数学
- 13. 矢量差异,同时保持秩序
- 14. Lucene:相似类...如何定义几个相似性度量?
- 15. 点集相似度量
- 16. Matlab位置列表到速度矢量
- 17. 随机速度矢量公式
- 18. 计算所有差异矢量可能性
- 19. 快速计算R中的> 10^6余弦向量相似度
- 20. 查找两个矢量图形的相似度
- 21. 相关类型:矢量矢量
- 22. 从矢量角度来看矢量?
- 23. 创建矢量列表与原始矢量长度相同的原始矢量的运行长度
- 24. MATLAB scatter3,plot3速度差异
- 25. AVX标量运算速度更快
- 26. 将速度矢量添加到位置矢量只适用于整数
- 27. python:快速轻量级持久性
- 28. r corplot with clustering:相关矩阵的默认相异性度量
- 29. MATLAB:2个矢量中所有指数的快速相关计算
- 30. jQuery $变量差异
这是不是很清楚你要求什么,但你可能是[Levenshtein距离]后(http://en.wikipedia.org/wiki/Levenshtein_distance)或[海明距离](http:// en。 wikipedia.org/wiki/Hamming_distance)? – 2010-12-14 02:10:06