目标是评估大型文本语料库中术语之间的语义相关性,例如: “警察”和“犯罪”应该比“警察”和“山峰”具有更强的语义相关性,因为它们往往在同一环境中共同发生。
我读过的最简单的方法是从语料库中提取IF-IDF信息。
很多人使用潜在语义分析来寻找语义相关性。
我遇到了Lucene搜索引擎:http://lucene.apache.org/
您认为提取IF-IDF是否合适?
在技术和软件工具方面(偏好Java),你会建议做什么我想做的事情?
提前致谢!
Mulone
答案 0 :(得分:0)
是的,Lucene获得了TF-IDF数据。 Carrot^2算法是在Lucene上构建的语义提取程序的一个例子。我提到它,因为作为第一步,他们创建了一个相关矩阵。当然,您可以轻松地自己构建此矩阵。
如果您处理大量数据,您可能希望将Mahout用于较硬的线性代数部分。
答案 1 :(得分:0)
如果你有lucene指数很容易。例如,要获得相关性,您可以使用简单的公式计数(term1和term2)/ count(term1)* count(term2)。从您的搜索结果点击计数。此外,您可以轻松计算其他semntica指标,如chi ^ 2,信息增益。您所需要的只是获取公式并将其转换为count
来自Query