【问题标题】:compute semantic PMI for two words using wikipedia使用维基百科计算两个词的语义 PMI
【发布时间】:2015-09-13 10:07:30
【问题描述】:

我正在尝试使用维基百科作为数据源来计算逐点互信息 (PMI)。给定两个词,PMI 定义了两个词之间的关系。公式如下。

pmi(word1,word2) = log [probability(number of times both words appears in a document together)/probability(word1)*probability(word2)].

因此要计算 PMI,我需要 word1 和 word2 的联合概率和单个概率。我查看了两个词之间的维基百科矿工相关性分数。他们正在实施 Milne 和 Witten 算法。然而,对于定义主题相似性,PMI 是一个更好的分数。

有谁知道如何使用 dbpedia 或 wikipedia miner 或任何其他软件计算两个单词的 PMI 分数。

【问题讨论】:

  • 计算单词,应用上面的等式。你的问题到底是什么?
  • 我正在执行主题建模,并希望使用语义来了解主题相似性。最近的论文显示使用 wikipedia 计算的 pmi 分数优于 WordNet 相似度。有没有我可以使用的库或服务,而不是手动下载和计算这些分数。例如,dbpedia、wiki miner 等。
  • 关于库、工具、服务和其他场外建议的问题是题外话。
  • 我一直认为 stackoverflow 是一个讨论实现问题的论坛。顺便说一句,dbpedia 确实是一个服务,我们讨论如何在 dbpedia 上执行一些操作。
  • 实施问题很好。但它们应该涉及代码,而不仅仅是要使用的库和 Web 服务。

标签: nlp text-mining dbpedia


【解决方案1】:

我最近发现了几个可行的解决方案。

  1. 对于 python 接口使用 dissect。剖析需要共现矩阵作为输入。使用python可以轻松构建共现矩阵。
  2. 我也喜欢 github 中的Palmetto project。对于 Palmetto,您需要创建 lucene 索引。他们提供代码 sn-p 来构建 lucene 索引。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 2018-03-22
  • 1970-01-01
  • 2012-10-03
  • 1970-01-01
相关资源
最近更新 更多