基于关键字的摘要

时间:2017-04-13 07:39:30

标签: python nltk summarization

我想知道是否有一些基于自定义词典处理提取的自动摘要算法。我一直在使用基于textrank的算法,但我想对算法计算的短语排名产生影响。

示例

  “托马斯·安德森是一个过着两条生命的人。白天,他是平均水平   计算机程序员和夜间被称为Neo的黑客。 Neo一直都是   质疑他的现实,但事实远远超出了他的想象。   当Neo与他联系时,Neo发现自己成了警察的目标   传说中的电脑黑客Morpheus将恐怖分子标记为恐怖分子   政府。 Morpheus唤醒Neo到现实世界,遭到蹂躏   荒地,大部分人类都被种族捕获   靠人体热量和电化学生活的机器   能量和谁在一个已知的人造现实中监禁他们的思想   作为矩阵。作为反对机器的反叛者,Neo必须回归   矩阵。他必须面对代理人:超级强大的计算机程序   致力于扼杀Neo和整个人类的反叛。“

我的自定义词典看起来像这样:

super-powerful: [important]
Thomas A. Anderson: [important]

我的摘要应包含以下句子,即使它们的排名低于段落中的其他句子:

  
      
  1. “Thomas A. Anderson是一个过着两条生活的人”
  2.   
  3. “他必须面对代理人:超级强大的计算机程序,专门用来扼杀Neo和整个人类的反叛。”
  4.   

我试图通过在我的POS标记句子中添加额外的标签来达到此目的,它看起来像这样:

[[('Thomas A. Anderson', 'Thomas A. Anderson', ['important']), ('is', 'is', ['VBZ']), ('a', 'a', ['DT']), ('man', 'man', ['NN']), ('living', 'living', ['VBG']), ('two', 'two', ['CD']), ('lives', 'lives', ['NNS'])]]

[[('He', 'He', ['PRP']), ('must', 'must', ['MD']), ('confront', 'confront', ['VB']), ('the', 'the', ['DT']), ('agents', 'agents', ['NNS']), (':', ':', [':']), ('super-powerful', 'super-powerful', ['important', 'JJ']), ('computer', 'computer', ['NN']), ('programs', 'programs', ['NNS']), ('devoted', 'devoted', ['VBD']), ('to', 'to', ['TO']), ('snuffing', 'snuffing', ['VBG']), ('out', 'out', ['RP']), ('Neo', 'Neo', ['NNP']), ('and', 'and', ['CC']), ('the', 'the', ['DT']), ('entire', 'entire', ['JJ']), ('human', 'human', ['JJ']), ('rebellion', 'rebellion', ['NN']), ('.', '.', ['.'])]]

但我真的不知道如何告诉textrank算法优先使用这些标签的句子。我已经使用Python与nltk和yaml来达到此输出

非常感谢帮助!

0 个答案:

没有答案