我在Spacy中使用TextRank管道对文档进行摘要.我需要总结一下长篇和短篇的文件.你能建议一个好的方法来 Select Limit_Phrase的正确参数吗?

这是我目前使用的方法,但我相信它可以改进:

import spacy
import pytextrank

nlp = spacy.load(spacy_model)
nlp.add_pipe("textrank", last=True)

# Process the input text
doc = nlp(text)

doc_sentences = len(list(doc.sents))
print(f'Number of document sentences = {doc_sentences}')
limit_sentences = int(doc_sentences * percentage)
limit_phrases = int(limit_sentences * 2)

top_sentences = doc._.textrank.summary(limit_phrases=limit_phrases, limit_sentences=limit_sentences, preserve_order=True)

推荐答案

limit_phrases的最佳值在很大程度上取决于您的内容.您是否有任何类型的基准测试可供您运行测试,即进行网格搜索以找到此参数的合理设置?

FWIW,我是pytextrank的作者之一,这是一个很好的问题.据我们团队所知,没有分析方法来确定如何设置这个参数.

Python相关问答推荐

如果在第一行之前不存在其他条件,如何获得满足口罩条件的第一行?

如何使用函数正确索引收件箱?

GEKKO:已知延迟的延迟系统的参数估计

按 struct 值对Polars列表[struct[]]排序

如何处理必须存在于环境中但无法安装的Python项目依赖项?

使用Python和PRNG(不是梅森龙卷风)有效地生成伪随机浮点数在[0,1)中均匀?

如何让pyparparsing匹配1天或2天,但1天和2天失败?

Polars:使用列值引用when / then表达中的其他列

如何用symy更新分段函数

由于NEP 50,向uint 8添加-256的代码是否会在numpy 2中失败?

抓取rotowire MLB球员新闻并使用Python形成表格

类型错误:输入类型不支持ufuncisnan-在执行Mann-Whitney U测试时[SOLVED]

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

什么相当于pytorch中的numpy累积ufunc

用合并列替换现有列并重命名

Python解析整数格式说明符的规则?

如何启动下载并在不击中磁盘的情况下呈现响应?

在两极中过滤

Tkinter菜单自发添加额外项目

如何检测鼠标/键盘的空闲时间,而不是其他输入设备?