首页 文章

如何开始使用NLP进行文本摘要项目?

提问于
浏览
6

我的最后一年工程项目要求我使用Java或Python构建一个应用程序,该应用程序使用自然语言处理来总结文本文档 . 我怎么开始编程这样的应用程序?

基于一些研究,我刚才注意到基于提取的摘要对我来说是最好的选择,因为它不像基于抽象的算法那么复杂 . 即便如此,如果有人能指导我朝着正确的方向前进,那将会非常有帮助 .

3 回答

  • 9

    文本摘要仍然是NLP中的一个开放问题 .

    我想你可以先问问自己摘要的目的是什么:

    • 将文档与其他文档区分开的摘要

    • 仅挖掘频繁模式的摘要

    • 涵盖文档中所有主题的摘要

    因为这会影响您生成摘要的方式 .

    但作为一个开始,你可以在python中使用NLTK框架从文本中提取基本元素 . 例如,您可以从文本中提取最常用的单词或最常用的N-gram(N个相邻单词) .

    提取最相关句子的一种简单方法是使用TF-IDF代表术语频率,反向文档频率 . 基本上,与其他文档相比,此函数对于在一个文档中经常出现的句子给出更高的分数 .

    你可以使用一些python库:

    • sickitlearn具有更多高级功能 .

    • 另外gensim库有一个文本摘要教程(也在python中)

    • 您还可以使用具有文本分析模块的Dato .

    一些有用的资源:

    希望这可以帮助 .

  • 5

    已经发布了一些好的和全面的概述,所以我将给出一个更具体的例子 . 它简短,甜美,简单......你所要做的就是使用summaryRatio:

    def summarizePassage(text,summaryRatio=0.5):
      from gensim.summarization import summarize
      try:
        summary = summarize(text,split=True,ratio=summaryRatio)
      except:
        print "WARNING: Gensim unable to reduce: ", text
        return [text]
      return summary
    
  • 0

    目前,使用神经网络来总结语料库被认为是最先进的 .

    这是一篇值得一读的文章:句子摘要的神经注意模型http://www.aclweb.org/anthology/D15-1044

相关问题