如果能从 3000 字的文章,提炼出 150 字的摘要,就可以为读者节省大量阅读时间。由人完成的摘要叫"人工摘要",由机器完成的就叫"自动摘要"。许多网站都需要它,比如论文网站、新闻网站、搜索引擎等等。
详细原理参考 http://www.ruanyifeng.com/blog/2013/03/automatic_summarization.html
似的算法已经被写成了工具,比如基于Java的Classifier4J库的SimpleSummariser模块、基于C语言的OTS库、以及基于classifier4J的C#实现和python实现。
有 ruby 的实现没?或者谁有兴趣实现一个?
PS 好像有 BUG 了,每次都是我登陆状态下打开 new 页面,但是 create 的时候被提示没登陆~
ruby 调用 OTS 可以啊,直接上 fiddle
就行了,估计结果差不多。
#21 楼 @ywjno 日语的分词工具最流行的是 mecab, 用二元语法 (bi-gram, 就是只记录相邻两个字之间的条件概率), CRF 模型,用 viterbi 算法搞的,中科院分词啥的感觉就是照抄了 mecab, 然后加上一些无关紧要的经验判断做调料,根本就和什么语没关系...
数学之美里面介绍的是最大熵方法,也算一种分词方式,好处是不受词典限制。
viterbi 算法是从隐马模型来的,有个做得挺精致的 ppt. HMM 的 viterbi 算法扩展一下就能搞 CRF 了。
类似的东西还有个 SGD, 研究反向传播算法的家伙特别喜欢,(例如 dejavu 格式的作者 ), 只是好像没见过用来分词...