首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python / Django中找到给定URL的摘要文本?

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

Stack Overflow用户
提问于 2009-03-09 15:41:00
回答 4查看 6.7K关注 0票数 16

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

我所说的摘要文本是什么意思?

默克411亿美元先灵-Plough出价寻求科学

链接分解

默克公司( Merck &Co.)以411亿美元收购先令公司( Schering-Plough Corp. .),增加了治疗血块、感染和精神分裂症的实验药物,使这些公司能够加快生物技术药物的研发速度。

对于上面的URL,下面三行是摘要文本。

URL的简短的2到3行描述,我们通常是通过获取该页面来获得的,然后检查内容,从那个html标记中找出简短的描述。

有什么好的算法可以做到这一点吗?(或)

python/django中是否有这样做的好库?

EN

回答 4

Stack Overflow用户

发布于 2010-02-22 00:22:20

我也有同样的需求,狐猴,虽然它有总结功能,但我发现它的buggy已经到了无法使用的地步。上周末,我使用nltk在python:https://github.com/thavelick/summarize中编写了一个总结模块。

我在这里使用了Java库Classifier4J中的算法:http://classifier4j.sourceforge.net/,但在可能的情况下使用了nltk和python。

以下是基本用法:

代码语言:javascript
运行
复制
>>> import summarize

SimpleSummarizer (目前是唯一的摘要器)通过使用最频繁的单词的句子来进行摘要:

代码语言:javascript
运行
复制
>>> 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.'

您可以根据需要在摘要中指定任意数量的句子。

代码语言:javascript
运行
复制
>>> 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中的原始算法不同,此摘要器与句点以外的标点符号一起正确工作:

代码语言:javascript
运行
复制
>>> 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!'

更新

我现在(终于!)在Apache2.0许可证下发布了与nltk相同的许可证,并将模块放在github上(参见上文)。欢迎任何意见或建议。

票数 22
EN

Stack Overflow用户

发布于 2009-03-09 15:54:12

摘要是一个相当复杂的话题。如果您需要认真地这样做,您可能希望查看像Lemur (http://www.lemurproject.org/)这样的项目。

然而,我怀疑你真正想要的是这里的文本摘要。如果您知道文档的哪一部分包含正文文本,请使用像BeautifulSoup这样的HTML解析库来定位它,然后去掉HTML;取第一句或第一个N个字符(这是最适合的),然后使用它。有点可怜的表弟的抽象生成器:-)

票数 4
EN

Stack Overflow用户

发布于 2009-03-09 16:10:02

看看自然语言工具包。如果您正在进行任何文本处理,这是一个非常有用的python库。

然后看看本论文由惠普卢恩(1958年)。它描述了一种简单而有效的文本摘要生成方法。

使用nltk.probability.FreqDist对象跟踪单词在文本中出现的频率,然后根据其中最频繁出现的单词的数量对句子进行评分。然后选择得分最好的句子,瞧,你有文档的摘要。

我怀疑NLTK应该有一种从web加载文档并排除所有HTML标记的方法。我自己也没做过这种事,但是如果你查一下语料库的读者,你可能会发现一些有用的东西。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/626754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档