问题描述
我搜索了抽取式和抽象式摘要方法。由于抽象式摘要的许多缺点,我想进行推理式摘要。我希望能够使用监督学习方法进行推理式总结。在我对抽取式摘要的研究中,我一直遇到TextRank算法,但这是一种无监督学习方法。我希望能够使用监督学习方法总结推理。是否有可能?我可以在包含 15000 个数据的数据集上运行 TextRank 吗(例如)?
word_embeddings = {}
f = open('/content/drive/MyDrive/MetinAnalizi/glove.6B.100d.txt',encoding='utf-8')
for line in f:
values = line.split()
word = values[0]
coefs = np.asarray(values[1:],dtype='float32')
word_embeddings[word] = coefs
f.close()
sim_mat = np.zeros([len(sentences),len(sentences)])
from sklearn.metrics.pairwise import cosine_similarity
for i in range(len(sentences)):
for j in range(len(sentences)):
if i != j:
sim_mat[i][j] = cosine_similarity(sentence_vectors[i].reshape(1,100),sentence_vectors[j].reshape(1,100))[0,0]
解决方法
文本摘要方法多种多样,自 2017 年末以来,深度学习在 NLP(即语言模型、转换器等)中的使用取得了许多进步。
此处的一些权衡取决于质量与成本。例如,将抽取式摘要与 TextRank 结合使用相对便宜,并且不需要经过训练的模型。 OTOH,将抽象摘要方法与 DL 模型结合使用,虽然成本更高,但也会产生更好的结果。
就 PyTextRank 而言,我们实现了不同的算法变体,根据预期的用例产生不同类型的提取摘要。新闻文章摘要可能更喜欢使用PositionRank,而研究文章摘要可能更喜欢使用Biased TextRank。这是由于可能被强调的短语种类,取决于这些领域中遇到的典型写作风格和结构。
我的建议是进行试验,看看什么最适合您的需求?如果您有很多文章要总结并希望保持较低的预算,那么 TextRank 可能会很有效。如果您需要更好地呈现摘要中的文本,也许需要抽象摘要。