PLSUM的摘要生成阶段
这是针对葡萄牙语的多文档抽取式摘要(MDAS)模型PLSUM的摘要生成阶段。目标是从PLSUM前一阶段(抽取阶段)从多个网站提取的句子中生成类似维基百科的摘要(输入和输出均为葡萄牙语)。
项目github和论文。
使用方法
# query: 摘要标题
query = '柠檬派'
# sentences: 从多个文档中提取的相关句子列表(例如通过TF-IDF、Textrank或其他抽取式摘要模型)
sentences = [
'将甜味与柠檬派的酸味相结合几乎可以确保甜点的成功。您可以选择最传统的酥脆小麦粉面团,或者以精致的单杯装盘增添高级感。',
'成熟多汁的水果对任何食谱的制备都至关重要。因此这里有一些选择完美柠檬派所需柠檬的技巧。仔细观察果皮。光滑的果皮表明柠檬多汁。它还需要呈现鲜亮的绿色;注意柔软度。轻轻按压水果,如果稍有弹性说明已经成熟可食用;同时要注意紧实度。即使柔软,柠檬也需要保持一定硬度。',
'有证据表明柠檬派起源于19世纪末美国佛罗里达州基韦斯特市。因此其英文原名key lime pie源自该城市名称和当地使用的柠檬品种,与巴西消费的大溪地柠檬非常相似,但果皮呈黄色。',
'派以面团为基础,可以延伸至甜点侧面甚至顶部形成类似酥皮的结构,根据使用原料不同呈现酥脆或奶油质地。可以用甜饼干加融化黄油制作,或用面粉、盐、糖、融化黄油、蛋黄和水混合制作。派面团也可以用蛋糕制作,从而构建整个派的结构。',
'派通常需要在200°C的烤箱中烘烤20至40分钟。根据不同烤箱类型,时间可能有所变化',
'制作派面团几乎总是以脂肪为基础,通常使用黄油。包含脂肪、面粉、小麦粉,有时还加入鸡蛋。制作过程中不能过热也不能过度发展面筋,因为我们希望得到入口即化的口感。'
]
input_text = 'summarize: {}'.format(query) + sentences.join('</s>')
# input_text = "summarize: 柠檬派 </s> 将甜味与柠檬派的酸味相结合几乎可以确保甜点的成功。您可以选择最传统的酥脆小麦粉面团,或者以精致的单杯装盘增添高级感。 </s> 成熟多汁的水果对任何食谱的制备都至关重要。因此这里有一些选择完美柠檬派所需柠檬的技巧。仔细观察果皮。光滑的果皮表明柠檬多汁。它还需要呈现鲜亮的绿色;注意柔软度。轻轻按压水果,如果稍有弹性说明已经成熟可食用;同时要注意紧实度。即使柔软,柠檬也需要保持一定硬度。 </s> 有证据表明柠檬派起源于19世纪末美国佛罗里达州基韦斯特市。因此其英文原名key lime pie源自该城市名称和当地使用的柠檬品种,与巴西消费的大溪地柠檬非常相似,但果皮呈黄色。 </s> 派以面团为基础,可以延伸至甜点侧面甚至顶部形成类似酥皮的结构,根据使用原料不同呈现酥脆或奶油质地。可以用甜饼干加融化黄油制作,或用面粉、盐、糖、融化黄油、蛋黄和水混合制作。派面团也可以用蛋糕制作,从而构建整个派的结构。 </s> 派通常需要在200°C的烤箱中烘烤20至40分钟。根据不同烤箱类型,时间可能有所变化。 </s> 制作派面团几乎总是以脂肪为基础,通常使用黄油。包含脂肪、面粉、小麦粉,有时还加入鸡蛋。制作过程中不能过热也不能过度发展面筋,因为我们希望得到入口即化的口感。"
tokenizer = T5TokenizerFast.from_pretrained("seidel/plsum-base-ptt5")
model = T5ForConditionalGeneration.from_pretrained("seidel/plsum-base-ptt5", use_cache=False)
x = tokenizer([input_text], padding="max_length", max_length=512, return_tensors="pt", truncation=True)
y = model.generate(**x)
print(tokenizer.batch_decode(y, skip_special_tokens=True))
# 输出: 柠檬派是一种用柠檬制作的甜点,由小麦粉、盐、糖、融化黄油、蛋黄和水混合制成。派面团可以用甜饼干、小饼干或蛋糕制作。这是美国的传统食谱,使用酥脆面团或蛋糕底制作。