2021SC@SDUSC 概述
-
应用场景 本课题的应用场景在于用户在系统中上传代码的时候可以给用户推荐代码所使用的技术特征(关键词),然后可以根据技术特征进行检索。例如github上代码的标签就是可以视为技术特征。 -
问题描述 输入:一个文本库,主要是算法描述(主要是中文) 输出: 1、 对于每个文本txt, 抽取关键词作为算法的技术特征 2、在以此关键词于数据集中进行检索时, 能够反映本文txt的主旨 -
约束条件 1、 抽取出的关键词与文本内容的相关性(关键词对于当前文本的代表性) 2、给出抽取到的关键词合适的次序 3、抽取出的关键词在数据集中的特异性(关键词在当前本文的重要性,相对于数据集中其他文本的显著性)
总体任务分析
首先进行数据集的爬取与统计,根据爬取得到的数据集,运用不同的模型进行性能的对比分析
- 数据集的爬取与统计
1、从https://xueshu.baidu.com/上爬取至少5000个中文论文摘要、标题和关键词,将爬取到的内容存放到execl表格中或数据库中。 2、需要统计Baiduxueshu数据集中文档的平均长度、文档中平均关键词的个数、关键词在文中存在比,并补充完整下面表格。
表1 数据集描述表
数据集 | 文档总数 | 文档平均长度 | 文档平均关键字个数 | 关键词在文中存在比 |
---|
Baiduxueshu | | | | |
| PR | RR | F1 | MRR | SN | top3 | PR | RR | F1 | MRR | SN | top5 |
---|
PositionRank | | | | | | | | | | | | | Embedrank | | | | | | | | | | | | | KPE | | | | | | | | | | | | | ELSKE | | | | | | | | | | | | |
具体任务综述
向量空间中的位置(距离和方向)可以把语义编码到一个好的embedding中。embedding是一种矩阵,其中每列是与词汇表中的item对应的向量。 要获取单个词汇item的稠密向量,就检索与该item对应的列。可以参照tensorflow中的tf.nn.embedding_lookup函数。要获得表示多个词汇item(例如句子或段落中的所有单词)的稀疏向量的稠密向量,可以检索每个单独item的embedding,然后将它们相加。 如果稀疏向量包含词汇项的计数,则可以将每个embedding乘以其相应项的计数,然后再相加。
EmbeddeRank
-
选择该模型 原因背景 短语提取的任务是自动选择一组最能描述给定自由文本文档的短语。 有监督的关键短语提取需要大量的带标签的训练数据,并且在训练数据领域之外的泛化能力非常差。 同时,无监督系统的准确性较差,并且通常不能很好地概括,因为它们要求输入文档属于一个更大的语料库,也作为输入提供。 针对以上弊端,我们使用EmbeddeRank从单个文档中提取关键短语,即一种新的无监督方法,利用句子嵌入。 -
具体应用 EmbedRank在标准数据集上比基于图形的最先进系统获得更高的F分数,适合实时处理大量Web数据。使用EmbedRank,我们还通过为新短语引入基于嵌入的最大边缘相关性(MMR),显式增加了所选关键短语之间的覆盖率和多样性。一项包含200多张选票的用户研究表明,尽管减少短语的语义重叠不会导致F分数的提高,但人类更喜欢我们的高多样性选择。 -
MMR 在推荐中,多样性并不是目的,而是一种提高用户粘度或是惊喜度的手段。MMR算法又叫最大边界相关算法,此算法在设计之初是用来计算Query文本与被搜索文档之间的相似度,然后对文档进行rank排序的算法。属于文本摘要自动生成算法中一种。 -
文本摘要自动生成算法
NLP(自然语言处理)领域一个特别重要的任务叫做——文本摘要自动生成。此任务的主要目的是快速的抽取出一篇文章的主要内容,这样读者就能够通过最少的文字,了解到文章最要想表达的内容。由于抽取出来的摘要表达出了文章最主要的含义,所以在做长文本分类任务时,我们可以采用文本摘要算法将长文本的摘要抽取出来,在采用短文本分类模型去做文本分类,有时会起到出奇的好效果。
文本摘要抽取算法主要分为两大类:
-
生成式 生成式一般采用的是监督式学习算法,最常见的是需要大量的训练数据的sequence2sequence模型,需要大量的训练数据。 优点:模型可以学会自己总结文章的内容 缺点:生成的摘要可能会出现语句不通顺的情况。 -
抽取式 抽取式的摘要是从文章中抽出的一些重要句子,能代表整篇文章。 优点:生成的摘要不会出现语句不通顺的情况 缺点:缺乏文本总结能力,生成的摘要可能出现信息丢失的情况。 总结 前期在相关知识的储备,以及模型的学习了解。例如MMR算法,目前知识简单了解到MMR摘要算法的原理。后续还需要结合代码实现进行理解,并且代码部分可能并非此算法的最优实现。最后可以真正落地的摘要算法,是需要其他的思想和知识算法相融合的,比如文本句子和标题的相似度,词向量文本向量等等。
|