我正在寻找一种方法来自动生成一个摘要,基本上是博客条目的前几个句子/段落,以显示在文章列表中(这些文章是用markdown编写的)。目前,我正在做这样的事情:
def abstract(article, paras=3):
return '\n'.join(article.split('\n')[0:paras])
只是抓取文本的前几行,但我对结果不太满意。在
我真正想要的是在条目列表中显示大约1/3的格式化文本,但是使用上面的算法,提取的数量最终会有很大的变化,只有一两行,常常与更理想大小的摘要混合在一起。在
有没有图书馆擅长这种事?如果没有,你有什么改进产出的建议吗?在
编辑:
你可以这样做:
这将使用textwap算法来获得理想的文本长度。它将文本分成屏幕大小的行,并使用它们计算所需行数的长度。在
例如,在python wikipedia page项上应用此算法:
^{pr2}$将为您提供以下输出:
没有进一步的细节,很难帮助你。但是如果您的问题是,对于某些条目来说,使用前几行太多,那么您可能需要查看一下textwrap
例如,如果只需要100个字符的摘要,可以执行以下操作:
这也将用空格代替换行符,根据您的需求,这些空格可能是理想的。在
我不太确定你想要什么。在
不过,我建议把文章删去X个字符后,加上“…”。然后,您可以更好地控制“抽象”的大小(如果这是当前实现中困扰您的问题)。在
相关问题 更多 >
编程相关推荐