首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么gensim总结()有时会返回空白?

为什么gensim总结()有时会返回空白?
EN

Stack Overflow用户
提问于 2021-05-21 00:25:43
回答 2查看 429关注 0票数 0

我是nlp的初学者,我第一次使用gensim。我注意到一些文本它返回一个空白摘要。例如:

代码语言:javascript
复制
from gensim.summarization import summarize
text ="The continued digitization of most every sector of society and industry means that an ever-growing volume of data will continue to be generated. The ability to gain insights from these vast datasets is one key to addressing an enormous array of issues — from identifying and treating diseases more effectively, to fighting cyber criminals, to helping organizations operate more effectively to boost the bottom line."
summarize(text, 0.6)

返回:''

在其他情况下,当我有相同大小的段落时,它会返回一个摘要,所以我知道我的比率不是太小。任何洞察力都很感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-21 08:34:40

为了回答这个问题,我假设Gensim版本3.8.3 -这是最新版本(目前)支持摘要,因为在版本4中不再有API存根。

具体来说,在查看summarize()的引用时,我们可以阅读以下内容:

获得给定文本的摘要版本。

输出摘要将由最具代表性的句子组成,并以字符串的形式返回,除以换行符。

突出显示的部分还解释了输出为空的原因: Gensim使用了一个抽取总结器,它只能选择不同的句子,而不能选择句子部分。因此,要么选择整个句子(导致没有“摘要”),要么返回空答案。解决这个问题也不简单,我认为您只有两个(次优)选择中的一个:

  • 使用抽象摘要器。与抽象总结相比,抽象模型实际上可以完成人们通常从系统中“期望”到的事情,即重新措辞和从句子中选择短语,从而形成更短的输出,而不依赖于句子的选择。然而,这类模型通常是计算密集型的,并且通过Gensim (AFAIK).
  • Pre-chunk您的文本没有这样的模型可用。如果您可以将输入的句子合理地分割成几个文本块,这些可以作为“多个句子”的代名词,因此可以让您有一个大致的摘要,尽管它可能不是很好。
票数 2
EN

Stack Overflow用户

发布于 2021-05-23 12:03:31

请注意,在gensim-4.0.0时删除了先前的Gensim摘要代码的原因是,该代码既不是很好的代码,也不是适应性很强的代码,也没有任何活动的项目贡献者能够维护/改进代码。

所以你不应该对它期望太高。当然,如果它对您的目的足够好,您可以继续使用它,方法是安装旧的Gensim或简单地将其源代码提升到另一个具有兼容许可的项目中。

你特别注意到了其中一个(很多)不太好的方法:它那种“抽象化总结”风格所能做的最好的方法就是挑选一些它所演绎的最能代表整个文本的较小数量的现有句子。

但只有两个句子,其粗糙的字数算法本质上无法决定哪一个更好。本质上,没有第三句可以打破平局。因此,根据它的文档,不知道有一个较小的句子子集来回答,它什么也不回答。

摘要摘要最有可能对较长的文本产生很好的效果,这些文本已经以清晰、说明的方式编写--作者已经使用了介绍性、更深层次的解释和摘要句的组合。然后,一些句子,在算法中,会出现“最相似的”,通过字数与其他句子的数量最多,从而很好地挑选总结或重点/重复点。

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

https://stackoverflow.com/questions/67629458

复制
相关文章

相似问题

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