当前位置:  开发笔记 > 编程语言 > 正文

如何在python/Django中找出给定URL的摘要文本?

如何解决《如何在python/Django中找出给定URL的摘要文本?》经验,为你挑选了1个好方法。

如何找出给定URL的摘要文本?

概括文本是什么意思?

默克4.11亿美元先灵葆雅竞标寻求科学

链接描述

默克公司(Merck&Co.)以411亿美元收购先灵葆雅公司(Schering-Plough Corp.),为血栓,感染和精神分裂症添加实验药物,并允许这些公司加快生物技术药物的研究.

对于上面的URL,以下三行是摘要文本.
我们通常通过获取该页面获得的URL的简短2到3行描述,检查内容,然后从该html标记中找出简短描述.

有没有什么好的算法可以做到这一点?(或)
python/django中是否有任何好的库可以做到这一点?



1> Tristan Have..:

我有同样的需求和狐猴,虽然它具有摘要功能,但我发现它有些无法使用.在周末我使用nltk在python中编写一个汇总模块:https://github.com/thavelick/summarize

我在这里从Java库Classifier4J中获取算法:http://classifier4j.sourceforge.net/但是尽可能使用nltk和python.

这是基本用法:

>>> import summarize

SimpleSummarizer(当前唯一的摘要)通过使用最常用单词的句子来进行摘要:

>>> ss = summarize.SimpleSummarizer()
>>> input = "NLTK is a python library for working human-written text. Summarize is a package that uses NLTK to create summaries."
>>> ss.summarize(input, 1)
'NLTK is a python library for working human-written text.'

您可以根据需要在摘要中指定任意数量的sentenecs.

>>> input = "NLTK is a python library for working human-written text. Summarize is a package that uses NLTK to create summaries. A Summariser is really cool. I don't think there are any other python summarisers."
>>> ss.summarize(input, 2)
"NLTK is a python library for working human-written text.  I don't think there are any other python summarisers."

与Classifier4J中的原始算法不同,此摘要生成器与句点以外的标点符号一起正常工作:

>>> input = "NLTK is a python library for working human-written text! Summarize is a package that uses NLTK to create summaries."
>>> ss.summarize(input, 1)
'NLTK is a python library for working human-written text!'

UPDATE

我现在(终于!)在Apache 2.0许可证下发布了这个许可证,与nltk相同的许可证,并将模块放在github上(见上文).欢迎任何贡献或建议.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有