许可证:
-
cc-by-nc-sa-4.0
语言:
-
俄语
-
英语
标签:
-
摘要生成
-
对话摘要
-
文本到文本生成
-
mT5模型
示例展示:
-
示例标题: 俄罗斯笑话
文本: 从庸常学识的角度看,在棱镜式悖论的维度中,您此番言论的犬儒主义与本提纲中悖论幻象的虚构性相关联。让我们用七线性泛函将其分解为矩形三秩可围矩阵,通过自身非均匀性在间断处横向积分,以曲线极值跨越收敛区间的完整性领域!
-
示例标题: 学位论文引言
文本: '问题的重要性。电子信息在现代社会各领域扮演着日益重要的角色。近年来电子版科技文本信息的增长规模已导致信息贬值的威胁——海量文本中检索所需资料的困难所致。互联网信息资源的发展使信息过载问题成倍加剧。在此背景下,文本信息自动摘要方法(即生成文摘/摘要的压缩表示技术)显得尤为重要。自动文本摘要的问题提出及相应解决尝试已由众多研究者采用不同方法探索。计算机辅助摘要的历史可追溯至50多年前,与H.P. Loon、V.E. Berzon、I.P. Sevbo、E.F. Skorokhodko、D.G. Lakhuti、R.G. Piotrovsky等学者的名字紧密相连。这些年间形成了两大类解决方案:基于形式特征从原文抽取"最具信息量"语句(片段)形成摘要的自动摘要;以及通过专业信息语言提取文本核心信息并生成概括原文的新文本(摘要)的自动摘要。
'
-
示例标题: 生物资讯
文本: 生物学家在澳大利亚洞穴研究地下水时,发现了首只足肢超过一千节的千足虫。此前的足肢数量纪录保持者是700足的千足虫。新物种拥有线状细长身躯,大量足肢显然为其提供了快速移动和深入狭缝的优势——科学家认为这种千足虫能自如穿越岩层裂隙。澳大利亚以巨型骇人生物著称,如25厘米长的蜘蛛。如今这个令人不安的节肢动物名单又新增了全球"足肢最多"的千足虫。澳美联合科考队在该国西部洞穴中发现了这种奇特生物,详细描述发表于《科学报告》期刊。研究人员评估矿区地下水对环境的影响时意外邂逅这个新物种。与地表近亲不同,这些千足虫栖息在60米深的洞穴中。研究者以冥后珀耳塞福涅为其命名(Eumillipes persephone),测量显示其拥有1306只足——远超已知任何物种。原纪录保持者加州千足虫(Illacme plenipes)仅有750足。"这些生物如此独特",生物学家Bruno Buzatto表示,"当我意识到它们的体长时...立即明白这是全新物种。"E. persephone体长9.5厘米宽仅1毫米,由330体节组成,短足锥头。与其他暗域生物相同,它们通体苍白且无视觉。昆虫学家Paul Marek形容其如同从衬衫抽出的白线。统计足肢数量时,研究人员先进行高清拍摄,随后在照片上每十足标记不同颜色。(原文链接:https://www.gazeta.ru/science/2021/12/17_a_14325355.shtml)
任务类型: 摘要生成
mT5_ru_XLSum模型
基于https://huggingface.co/csebuetnlp/mT5_multilingual_XLSum的修改版。按照David Dale的指南将分词器精简至32K(俄英双语)。
在transformers
中使用本模型
import re
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
WHITESPACE_HANDLER = lambda k: re.sub('\s+', ' ', re.sub('\n+', ' ', k.strip()))
article_text = """
从庸常学识的角度看,在棱镜式悖论的维度中,您此番言论的犬儒主义与本提纲中悖论幻象的虚构性相关联。
让我们用七线性泛函将其分解为矩形三秩可围矩阵,通过自身非均匀性在间断处横向积分,以曲线极值跨越收敛区间的完整性领域!
"""
model_name = "Nehc/mT5_ru_XLSum"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
input_ids = tokenizer(
[WHITESPACE_HANDLER(article_text)],
return_tensors="pt",
padding="max_length",
truncation=True,
max_length=512
)["input_ids"]
output_ids = model.generate(
input_ids=input_ids,
max_length=84,
no_repeat_ngram_size=2,
num_beams=3
)[0]
summary = tokenizer.decode(
output_ids,
skip_special_tokens=True,
clean_up_tokenization_spaces=False
)
print(summary)