gpt4 book ai didi

python - 计算文章摘要

转载 作者:太空狗 更新时间:2023-10-30 00:58:04 24 4
gpt4 key购买 nike

我正在寻找一种自动生成摘要的方法,基本上是博客条目的前几句/段落,以显示在文章列表中(以 markdown 编写)。目前,我正在做这样的事情:

def abstract(article, paras=3):
return '\n'.join(article.split('\n')[0:paras])

只抓取前几行文本,但我对结果并不完全满意。

我真正想要的是在条目列表中显示大约 1/3 的格式化文本,但是使用上面的算法,提取的数量最终会变化很大,因为少到一两行,经常与更理想大小的摘要混合。

有没有擅长这种事情的图书馆?如果没有,您对改进输出有什么建议吗?

最佳答案

编辑:

你可以这样做:

from textwrap import wrap

def getAbstract(text, lines=5, screenwidth=100):
width = len(' '.join([
line for block in text.splitlines()
for line in wrap(block, width=screenwidth)
][:lines]))
return text[:width] + '...'

这利用 textwrap 算法来获得理想的文本长度。它会将文本分成屏幕大小的行,并使用它们来计算所需行数的长度。

例如在 python wikipedia page 上应用此算法条目:

print getAbstract(text, lines=7)

会给你这个输出:

Python is a general-purpose high-level programming language.2 Its design philosophy emphasizes code readability.[3] Python claims to "[combine] remarkable power with very clear syntax",[4] and its standard library is large and comprehensive. Its use of indentation as block delimiters is unusual among popular programming languages.

Python supports multiple programming paradigms (primarily object oriented, imperative, and functional) and features a fully dynamic type system and automatic memory management, similar to Perl, Ruby, Scheme, and Tcl. Like other dynamic languages, Python is often used as a scripting...


如果没有进一步的详细信息,则很难为您提供帮助。但是,如果您的问题是前几行对于某些条目来说太多了,您可能需要查看 textwrap

例如,如果您只需要 100 个字符的摘要,您可以执行以下操作:

import textwrap

abstract = textwrap.wrap(text, 100)[0]

这也将根据您的要求用可能需要的空格替换换行符。

关于python - 计算文章摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1675943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com