我想知道是否有一些基于自定义词典处理提取的自动摘要算法。我一直在使用基于textrank的算法,但我想对算法计算的短语排名产生影响。
示例
“托马斯·安德森是一个过着两条生命的人。白天,他是平均水平 计算机程序员和夜间被称为Neo的黑客。 Neo一直都是 质疑他的现实,但事实远远超出了他的想象。 当Neo与他联系时,Neo发现自己成了警察的目标 传说中的电脑黑客Morpheus将恐怖分子标记为恐怖分子 政府。 Morpheus唤醒Neo到现实世界,遭到蹂躏 荒地,大部分人类都被种族捕获 靠人体热量和电化学生活的机器 能量和谁在一个已知的人造现实中监禁他们的思想 作为矩阵。作为反对机器的反叛者,Neo必须回归 矩阵。他必须面对代理人:超级强大的计算机程序 致力于扼杀Neo和整个人类的反叛。“
我的自定义词典看起来像这样:
super-powerful: [important]
Thomas A. Anderson: [important]
我的摘要应包含以下句子,即使它们的排名低于段落中的其他句子:
- “Thomas A. Anderson是一个过着两条生活的人”
- “他必须面对代理人:超级强大的计算机程序,专门用来扼杀Neo和整个人类的反叛。”
醇>
我试图通过在我的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来达到此输出
非常感谢帮助!