• [毕业设计]多文档自动摘要.面向灾害事件


    我在做什么

     

      顾名思义,多文档自动摘要,即是完成多个文档的摘要内容提取。

      在这里,我们的研究对象,单指灾害事件。

     

    设计思路

      在完成多文档自动摘要前,首先要思考以下几个问题:

    • 以什么为基本单位做内容提取?
    • 什么才能称为重要的内容?

     

    基本单位

      对于一个文档,我们可以将它拆分为:文档本身,段落,句子,词语,字。

    • 首先,摘要内容将会是一段可阅读的内容,因此我们不能以"词语"、"字"为单位,因为很显然,他们都不能表达完整语义。
    • 第二,一个文档完整的描述了一个事件,它包含了很多方面的内容,因此也不能以文档本身为单位,它包含的内容太多,不具有原子性。
    • 第三,一部分情况下,段落描述的是一个事件某一个方面的内容,但我们依旧要考虑,由于文档来自于网络,在一些情况下,一个文档都只有一个段落,描述了过多的内容。

     

      结论:

      以句子为基本单位,它表达了完整的语义,只描述了某个特定的内容。

     

    聚类

      一个事件会由多方面内容组成。例如对于一个新闻事件:飞机失事。它必定会涉及到:现场情况、财产损失,人员伤亡、救援情况、后期处理等方面的内容。因此,我们需要基本单位进行分类。遗憾的是,我们无法预知一个事件将会由多少方面的内容构成。因此,这里将会提到一个算法:聚类,用于自动分类。

    重要内容

      重要的内容很好理解,大量文档都提及的内容,必定是重要的内容。

    因此我们可以认为,一个句子,如果大量出现,那它必定是重要内容。

     

    设计结论

    1. 将多文档拆分为句子集合。
    2. 句子集合聚类。
    3. 得到重要的类。
    4. 对类组合,得到摘要(删除类中相似的元素,得到重要元素)。

     

    实现

      对于第一步,做简单的字符串拆分处理,即可从文档集合得到句子集合。对于第二步,下文将详细描述聚类算法。对于第三步,一个类包含的元素越多,即表示这个类越重要。对于第四步,需要解决两个问题,什么是相似的元素,什么是重要的元素。

     

    句子相似判断

      句子相似度计算从上世纪50年代开始,至今已经有了不短的研究历史,中文句子相似度计算虽然起步较晚,但也有了不少的研究成果。对于相似度计算算法本文不做过多叙述(注意:这不代表此算法对于本文来说不重要)若要深入研究可查阅相关资料。本文将使用较为简单的句子相似度计算:编辑距离矢量。

     

    聚类算法

      基于相似度计算,我们可以提出下面的比较巧妙而简单的聚类算法。

      聚类即是将相似的元素归类到一起,在此可以把句子集合抽象为一个无向图:句子为节点,为相似的句子节点连接一条边。

    所有的子图即是最后的结果,但我们依旧要注意到许多单节点图和节点数量较少的图,这意味着它们可能不重要,因此无需考虑这些集合。

     

    集合相似句子和重要句子

      相似的句子很好处理,显然,若聚合中存在相似度很高的句子子集合,保留其中最重要的那条。

      重要句子:对于集合中的任意一个句子A,A其他元素的相似值的总和记作Va。按照V值递减排序,即可得到靠前的重要句子。

  • 相关阅读:
    高速C/C++编译工具(ccache)
    CentOS7关闭自动下载更新
    GCC中同时使用动态和静态库链接的编译
    porting libiconv to android(arm)——libiconv-1.14.tar.gz
    编译cBPM-android-19—CodeBlocks—CentOS7— ndk10—编译libiconv和xerces-c
    Trying to build Xerces-C++ for Android
    计算机安全技术(第二版)第2版
    为android提供的部分第三方C/C++静态库—libsqlite—libuuid—libevent_static
    error: undefined reference to '__aeabi_uidiv'
    编译cBPM-android—CodeBlocks(全局、局部)参数设置—CentOS 7— android-ndk
  • 原文地址:https://www.cnblogs.com/lightz/p/4613904.html
Copyright © 2020-2023  润新知