从2克中提取短语

时间:2012-09-20 05:04:27

标签: python algorithm information-retrieval

The Foo Fighters performed at... 
(The Foo) (Foo Fighters) (Fighters performed) (performed at)...

我有一个从许多句子连接起来的2克派生词列表。我想从整个列表中提取两个和三个单词(The Foo FightersBill Gates)的短语。但我想拒绝更长的短语to cancel this newsletter, please click...)。

编辑:也就是说,我想提取那些可能是实体的短语,例如名词。

对此有什么好处?


我提出的最简单的方法是只考虑双字短语和过滤停用词。但它不会接受The Foo Fighters。我还简要地考虑过TF-IDF降级过于常见的短语。

1 个答案:

答案 0 :(得分:1)

对于一个大学。项目我必须做一些与你所描述的非常相似的事情。

我们尝试了以下方法:

  1. 获取每2克的idf值(我们使用Bing Developer API,虽然不精确,但它可以评估该短语是否有10次点击或10,000,000次点击)。当然必须进行标准化(对于2克非常常见的单词,它的价值不大。)
  2. 维基百科 - 我们尝试在维基百科中搜索该短语(搜索是否有文章,或者该短语是其子串的文章),并采用匹配良好的短语
  3. 另一个高级案例特定算法,由Ran El-Yaniv在文章中描述为 Co-Occuring Ranking
  4. 从上面的3开始,基于维基百科的算法大幅度地实现了最佳性能(p_value <0.05,不记得究竟有多少)


    我们是如何做到的完全是:

    • 每个算法(表示为记分员)给每个2克得分。
    • 然后我们运行第二个算法(过滤器),选择“最佳”2克。我们尝试了一个简单的precentage algrotihm(例如:“获得前7%”),固定分数(例如:“高于0.5”)和动态算法,在分数中寻找一个大的余量,并用它来决定需要多少2克。

    对于维基百科排名 - 固定和动态得分相似的结果,对于其他人 - 动态是我们尝试过的最好。