Natural Language Generation/Abstractive Summarization
调研目的:
了解生成式文本摘要的常用技术和当前的发展趋势,明确当前项目有什么样的摘要需求,判断现有技术能否用于满足当前的需求,进一步明确毕业设计方向及其可行性
调研方向:
- 项目中需要用到摘要的地方以及区别
- 数据集(研究用评测集/项目用大规模数据集)
- 现有技术
- 分类
- 有监督
- 无监督
- 半监督等(如果有)
- 效果
- 优势和缺点
- 分类
- 评价现有技术用于当前项目的可行性
- 扩展:寻找现有技术的研究改进方向
项目中用到摘要的地方
- 传统新闻摘要任务
- 单/多文档新闻摘要生成
- 非传统摘要任务
- 标题生成
- 特点
- 篇幅一般较短
- 不同位置的内容对摘要没有影响
- 观点可能包含多种(受限于聚类效果),相当于噪声数据
评价方法
- 自动评价方法: Rouge
- 基于N元模型,判断生成的摘要与参考摘要N元组重复比例
- 自动评价方法本身也是被研究的对象
- 人工评价方法
- 由人对摘要内容进行打分,包括可读性、综合质量等。
数据集
- LCSTS
- 哈工大中文微博摘要数据集
- 数据集内容
- part1: 2.4m训练数据, (短文本,摘要)对
- part2: 1w标注数据,给摘要和短文本的相关程度打分(1~5),用来去除part1中的噪声数据
- part3: 1.1k对训练数据,独立于part1&2,由3人对摘要打分,一般保留3分以上的作为摘要训练数据
- 数据量非常大,噪声非常大
- DUC2004/Gigaword
- 抽取式摘要数据集
- 单句话摘要
- CNN/Daily Mail
- 生成式摘要数据集
- 摘要包含多个句子,但是长度不是太长
思路
- Seq2seq + Attention(RNN->CNN)
- Pointer/Generation、CopyNet机制,以及其它的机制
- Extractor + Abstractor
- Reinforcement Learning
- GAN、unsupervised learning
General
- Category: text-to-text, data-to-text, image/video-to-text
- Tasks:
- Content determination 确定生成内容
- Text structuring 确定生成结构
- Sentence aggregation 句子聚合
- Lexicalisation 词法实现
- Referring expression generation 指代生成
- Linguistic realisation 语言实现
- Example:

- 有一个穿红衣服的小孩子,在雪地里堆雪人。
- Example:
- 高铁车票“无纸化”
近日,中国铁路总公司...
乘客或可实现“刷手机”、“刷身份证”直接进站乘车,而不需要在乘车之前特意换取纸质车票。...
最快今年四季度,中国铁路电子客票业务将开展试点运营。
... - 最快今年四季度,乘客可直接刷手机或身份证直接进站乘坐高铁火车。
- 高铁车票“无纸化”
Text-to-Text
- Document Summarization(abstractive)
- Systems: NeATS, NewsBlaster, NewsInEssence, Summly
- Evaluation: ROUGE
- Tasks:
- Category:
- single/multi document summarization
- Seq-to-Seq
- attention mechanism
- copying mechanism: 考虑到摘要中的很多字和原文相同,拷贝机制允许直接拷贝输入中的字作为输出,而不是总是通过隐层状态来生成字。
- Reinforcement Learning: 直接通过Rouge来进行优化比decoder输出的结果的似然函数来优化效果更好
- limit length
- Sentence Compression & Fusion
- few researches
- Paraphrase Generation
- few researches
Data-to-Text
Image/Video-to-Text
Natural Language Generation/Abstractive Summarization的更多相关文章
- How 5 Natural Language Processing APIs Stack Up
https://www.programmableweb.com/news/how-5-natural-language-processing-apis-stack/analysis/2014/07/2 ...
- Abstractive Summarization
Sequence-to-sequence Framework A Neural Attention Model for Abstractive Sentence Summarization Alexa ...
- 如何将 Cortana 与 Windows Phone 8.1 应用集成 ( Voice command - Natural language recognition )
随着 Windows Phone 8.1 GDR1 + Cortana 中文版的发布,相信有很多用户或开发者都在调戏 Windows Phone 的语音私人助理 Cortana 吧,在世界杯的时候我亲 ...
- Natural language style method declaration and usages in programming languages
More descriptive way to declare and use a method in programming languages At present, in most progra ...
- Natural Language Processing with Python - Chapter 0
一年之前,我做梦也想不到会来这里写技术总结.误打误撞来到了上海西南某高校,成为了文科专业的工科男,现在每天除了膜ha,就是恶补CS.导师是做计算语言学的,所以当务之急就是先自学计算机自然语言处理,打好 ...
- Deep Learning for Natural Language Processing1
Focus, Follow, and Forward Stanford CS224d 课程笔记 Lecture1 Stanford CS224d 课程笔记 Lecture1 Stanford大学在20 ...
- <Natural Language Processing with Python>学习笔记一
Spoken input (top left) is analyzed, words are recognized, sentences are parsed and interpreted in c ...
- spaCy is a library for advanced natural language processing in Python and Cython:spaCy 工业级自然语言处理工具
spaCy is a library for advanced natural language processing in Python and Cython. spaCy is built on ...
- 论文笔记:Dynamic Multimodal Instance Segmentation Guided by Natural Language Queries
Dynamic Multimodal Instance Segmentation Guided by Natural Language Queries 2018-09-18 09:58:50 Pape ...
随机推荐
- KVM网络桥接模式解说
在上一篇博客中,我画了一张图来解说桥接模式下kvm的网络是什么样子的.那今天我就仔细来解释一下这方面的内容,让大家学会配置桥接网络. 还是这样的一张图,我们知道bridge就是桥接网卡的名称.让虚拟机 ...
- java死锁示例及其发现方法
在java多线程编程中很容易出现死锁,死锁就是多个线程相互之间永久性的等待对方释放锁,这和数据库多个会话之间的死锁类似.下面的代码示例了一个最简单的死锁的例子,线程1和线程2相互之间等待对方释放锁来取 ...
- React路由 + 绝对路径引用
路由: 哈希路由(在url地址后加 #name) // 实现页面监听 window.onhashchange = function(){ console.log(‘hash:’,window.lo ...
- Some reading, some thinking.
update:感谢助教0 0又学会一招,play 了一下CSS Part 1 · Reading Author Article Note Madcola <两年波折路(考研.工作.考研)> ...
- 在CDS(Core Data Services)中使用DCL(Data Control Language)
最近,我在玩ABAP CDS视图,并且遇到了一些权限方面的挑战.我在网上没看到有多少有关CDS开发的文档,因为它是个相当新的东西.因此,我决定写下这篇博客,也许我的想法可以帮助到一些人. 和你已经意识 ...
- pb中遍历查询数据库数据问题(数据库为 sql server)
指针可以实现但是不推荐 例如:(部分代码) for ll_a = 1 to ll_count ll_b = ll_i + ll_a //插入行行号先下移一位 dw_main.inser ...
- node爬虫扒小说
Step 1: 万年不变的初始化项目,安装依赖 cnpm i express cheerio superagent superagent-charset async -S express 就不用多说 ...
- Spark算子讲解(二)
1:glom def glom(): RDD[Array[T]] 将原RDD的元素收集到一个数组,创建一个数组类型的RDD 2:getNumPartitions final def getNumPar ...
- js 格式为2018-08-25 11:46:29 的日期比较方法
//判断日期,时间大小 function compareTime(startDate, endDate) { if (startDate.length > 0 && endDat ...
- oracle11g设置归档模式和非归档模式
1.首先查看当前数据库是否处于归档模式 可使用如下两种方式查看 1.1 select name, log_mode from v$database; log_mode的值为 ...