标签:
- 摘要生成
- 新闻
语言: 西班牙语
数据集:
- MLSUM
小部件示例:
- 文本: '周四晚10点临近时分,马德里议会出现了令人意外的一幕:Vox党决定不支持人民党提出的关于马德里大区财政保护机制的提案。右翼三党的团结就此破裂,这一情况实属罕见。自本届立法会开始以来,人民党、公民党和Vox党在议会全体会议中约有75%的投票保持高度一致。他们共同决定了议会主席团的组成,共同推选伊莎贝尔·迪亚斯·阿尤索担任主席,并共同表决了大多数无法律约束力的提案——包括在国会大选冲刺阶段最具标志性的提案:三党刚刚联合敦促西班牙政府"立即取缔破坏国家统一的分离主义政党"。公民党内部批评人士对该党支持Vox反分裂提案持异议。据人民党在地区和国家层面具有影响力的消息人士透露,这种一致性更多是出于现实需要而非政治默契。在连续15年以绝对多数执政后,这个保守党派在上届立法会期间因需依赖公民党推动议案而备受煎熬。五月自治区选举后问题进一步加剧:人民党不得不与公民党组建该大区历史上首个联合政府,即便如此仍无法确保议会投票胜出。这两个执政伙伴需要倚仗三党中最不可预测的Vox党。"我们必须共同捍卫国家统一,因此不能孤立Vox",阿尤索昨日如此解释人民党和公民党支持极右翼加泰罗尼亚提案的立场。但她随即强调:"随后我们提出保护马德里财政自主的提案时,Vox却背弃了我们。这是他们的重大失误,暴露出其选举投机本质。"这位人民党领导人呼吁:"尽管存在巨大分歧,但追求低税率、安全自由自治区的政党应当保持团结。至少我们始终坚守立场。"与马德里市议会中执政联盟内部分歧公开化不同,在地区议会中阿尤索与伊格纳西奥·阿瓜多领导的政党在全体表决中展现出高度忠诚。但委员会层面则另当别论——以Avalmadrid担保公司调查案为例,公民党和Vox党正利用选举季争取操作空间,通过抛弃执政伙伴来凸显自身特色。当得知Vox将允许左翼掌控调查这家半公有企业2007-2018年间担保行为的议会委员会(可能涉及2011年批准给阿尤索父亲参股企业的40万欧元未全额偿还担保)时,这位大区主席怒斥Vox党魁罗西奥·莫纳斯特里奥:"你背叛了我!"人民党内部人士透露:"莫纳斯特里奥不可信任,言行不一",指出Vox在委员会席位分配谈判中违背承诺,转而寻求与其他党派达成第二协议(最终未果)。右翼三党在议会座位安排上也存在冲突。漫长的阿尤索就职谈判遗留裂痕,公民党议员虽不放过任何抨击Vox的机会,却在多数表决中与其保持一致。例如周四辩论"要求中央政府取缔破坏西班牙统一的分离主义政党"的争议提案时,阿瓜多派议员阿拉塞莉·戈麦斯一面质疑"对Vox提出此提案表示震惊,尤其当贵党自身因破坏法律秩序或宪法平等原则面临非法化争议之时",一面却在左翼议员难以置信的目光中与人民党共同支持该提案。此举引发公民党内部争议——阿尔伯特·里维拉昨日未明确表态支持,党内批评声浪也持续发酵。但此事印证了一个事实:马德里政坛存在着三个几乎总以同一声音投票的政党。'
基于西班牙语RoBERTa2RoBERTa(roberta-base-bne)的MLSUM ES摘要模型
模型架构
BSC-TeMU/roberta-base-bne(RoBERTa检查点)
训练数据
MLSUM是首个大规模多语言摘要数据集,收录来自在线新闻平台的150万篇西语等五国语言的新闻/摘要对。结合CNN/每日邮报英语数据集,该资源为文本摘要领域开辟了跨语言研究新路径。我们基于前沿系统的对比分析揭示了现有偏见,这凸显了使用多语言数据集的必要性。
MLSUM es数据集
性能指标
测试集 |
评估指标 |
数值 |
测试 |
Rouge2-中位数-精确率 |
11.42 |
测试 |
Rouge2-中位数-召回率 |
10.58 |
测试 |
Rouge2-中位数-F1值 |
10.69 |
测试 |
Rouge1-F1值 |
28.83 |
测试 |
RougeL-F1值 |
23.15 |
原始指标采用HF/metrics的rouge
计算:
rouge = datasets.load_metric("rouge")
rouge.compute(predictions=results["pred_summary"], references=results["summary"])
{'rouge1': AggregateScore(low=Score(precision=0.30393366820245, recall=0.27905239591639935, fmeasure=0.283148902808752), mid=Score(precision=0.3068521142101569, recall=0.2817252494122592, fmeasure=0.28560373425206464), high=Score(precision=0.30972608774202665, recall=0.28458152325781716, fmeasure=0.2883786700591887)),
'rougeL': AggregateScore(low=Score(precision=0.24184668819794716, recall=0.22401171380621518, fmeasure=0.22624104698839514), mid=Score(precision=0.24470388406868163, recall=0.22665793214539162, fmeasure=0.2289118878817394), high=Score(precision=0.2476594458951327, recall=0.22932683203591905, fmeasure=0.23153001570662513))}
rouge.compute(predictions=results["pred_summary"], references=results["summary"], rouge_types=["rouge2"])["rouge2"].mid
Score(precision=0.11423200347113865, recall=0.10588038944902506, fmeasure=0.1069921217219595)
使用指南
import torch
from transformers import RobertaTokenizerFast, EncoderDecoderModel
device = 'cuda' if torch.cuda.is_available() else 'cpu'
ckpt = 'Narrativa/bsc_roberta2roberta_shared-spanish-finetuned-mlsum-summarization'
tokenizer = RobertaTokenizerFast.from_pretrained(ckpt)
model = EncoderDecoderModel.from_pretrained(ckpt).to(device)
def generate_summary(text):
inputs = tokenizer([text], padding="max_length", truncation=True, max_length=512, return_tensors="pt")
input_ids = inputs.input_ids.to(device)
attention_mask = inputs.attention_mask.to(device)
output = model.generate(input_ids, attention_mask=attention_mask)
return tokenizer.decode(output[0], skip_special_tokens=True)
text = "输入文本..."
generate_summary(text)
开发团队: Narrativa
关于Narrativa: 自然语言生成(NLG)专家 | Gabriele是我们基于机器学习的智能平台,致力于构建和部署自然语言解决方案。#NLG #人工智能