我是nlp的初学者,我第一次使用gensim。我注意到一些文本它返回一个空白摘要。例如:
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)返回:''
在其他情况下,当我有相同大小的段落时,它会返回一个摘要,所以我知道我的比率不是太小。任何洞察力都很感激!
发布于 2021-05-21 08:34:40
为了回答这个问题,我假设Gensim版本3.8.3 -这是最新版本(目前)支持摘要,因为在版本4中不再有API存根。
具体来说,在查看summarize()的引用时,我们可以阅读以下内容:
获得给定文本的摘要版本。
输出摘要将由最具代表性的句子组成,并以字符串的形式返回,除以换行符。
突出显示的部分还解释了输出为空的原因: Gensim使用了一个抽取总结器,它只能选择不同的句子,而不能选择句子部分。因此,要么选择整个句子(导致没有“摘要”),要么返回空答案。解决这个问题也不简单,我认为您只有两个(次优)选择中的一个:
发布于 2021-05-23 12:03:31
请注意,在gensim-4.0.0时删除了先前的Gensim摘要代码的原因是,该代码既不是很好的代码,也不是适应性很强的代码,也没有任何活动的项目贡献者能够维护/改进代码。
所以你不应该对它期望太高。当然,如果它对您的目的足够好,您可以继续使用它,方法是安装旧的Gensim或简单地将其源代码提升到另一个具有兼容许可的项目中。
你特别注意到了其中一个(很多)不太好的方法:它那种“抽象化总结”风格所能做的最好的方法就是挑选一些它所演绎的最能代表整个文本的较小数量的现有句子。
但只有两个句子,其粗糙的字数算法本质上无法决定哪一个更好。本质上,没有第三句可以打破平局。因此,根据它的文档,不知道有一个较小的句子子集来回答,它什么也不回答。
摘要摘要最有可能对较长的文本产生很好的效果,这些文本已经以清晰、说明的方式编写--作者已经使用了介绍性、更深层次的解释和摘要句的组合。然后,一些句子,在算法中,会出现“最相似的”,通过字数与其他句子的数量最多,从而很好地挑选总结或重点/重复点。
https://stackoverflow.com/questions/67629458
复制相似问题