分两部分做. 第一部分是无损文本压缩, 第二部分是sentence level text summarization, 唤作有损文本压缩.
不要对第二部分寄太高期望, 因为大概率完不成, 毕竟我对这一领域之前毫无接触.
无损文本压缩
整体引入. 互联网产生文本太多(?是否是伪命题?)存储和传播如果不进行压缩很不经济. 在安装NLTK语料库的时候, 将近300M的文本也下载了很久. (更多例子, 网文等, 说明文本压缩的意义)
信息论. 要有数学的成分, 主要说明, 编码与信息熵. 介绍哈弗曼编码, 理论计算用哈弗曼编码对brown语料库逐字符和逐词压缩的压缩率. 介绍算数编码. 说明算数编码的优越性.
简要综述数据压缩. 说明数据压缩=编码+模型. 然后说明, 编码是已经解决的问题, 而模型更多是一个ai problem. 参考老爷子的书
PPM. 用python复现一个PPM来压缩brown语料库(or 整个语料库, 这样能和300M做对比233). 注意使用nltk中的自带的函数, 用n-gram代替上文的说法, 用FreqDist来做统计. (感觉复杂度要爆炸)
引入文本预测, LSTM. 参考多方资料, 现有Stanford一篇, 再看看CMIX和PAQ8的做法, 这方面研究应该前人做透了. 做benchmark, 如压一下enwiki8. 能做到state of art就美滋滋了.
LSTM的几个实现
https://github.com/kedartatwawadi/NN_compression 这个仿佛就是Stanford那个家伙...
https://github.com/byronknoll/lstm-compress CMIX的实现, 竟然是手写反向传播...orz
有损文本压缩
关注sentence level text summarization.
两方面, 一方面是传统做法, 试图对句子结构做分析, 采用已有标注的语料, 化简句子结构.
另一方面是注意力模型的神经网络. 参考: 文本摘要-Text Summarization 当深度学习遇见自动文本摘要