🚀 文本摘要模型使用指南
本項目提供了一個基於 Pegasus
的中文文本摘要模型,可用於對中文文本進行自動摘要。
🚀 快速開始
本項目使用 Pegasus
模型進行文本摘要任務。以下是使用該模型的基本步驟:
💻 使用示例
基礎用法
from transformers import PegasusForConditionalGeneration, BertTokenizer
class PegasusTokenizer(BertTokenizer):
model_input_names = ["input_ids", "attention_mask"]
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.add_special_tokens({'additional_special_tokens':["<mask_1>"]})
def build_inputs_with_special_tokens(
self,
token_ids_0: List[int],
token_ids_1: Optional[List[int]] = None) -> List[int]:
if token_ids_1 is None:
return token_ids_0 + [self.eos_token_id]
return token_ids_0 + token_ids_1 + [self.eos_token_id]
def _special_token_mask(self, seq):
all_special_ids = set(
self.all_special_ids)
return [1 if x in all_special_ids else 0 for x in seq]
def get_special_tokens_mask(
self,
token_ids_0: List[int],
token_ids_1: Optional[List[int]] = None,
already_has_special_tokens: bool = False) -> List[int]:
if already_has_special_tokens:
return self._special_token_mask(token_ids_0)
elif token_ids_1 is None:
return self._special_token_mask(token_ids_0) + [self.eos_token_id]
else:
return self._special_token_mask(token_ids_0 +
token_ids_1) + [self.eos_token_id]
model = PegasusForConditionalGeneration.from_pretrained('IDEA-CCNL/Randeng-Pegasus-238M-Summary-Chinese')
tokenizer = PegasusTokenizer.from_pretrained('IDEA-CCNL/Randeng-Pegasus-238M-Summary-Chinese')
text = "在北京冬奧會自由式滑雪女子坡面障礙技巧決賽中,中國選手谷愛凌奪得銀牌。祝賀谷愛凌!今天上午,自由式滑雪女子坡面障礙技巧決賽舉行。決賽分三輪進行,取選手最佳成績排名決出獎牌。第一跳,中國選手谷愛凌獲得69.90分。在12位選手中排名第三。完成動作後,谷愛凌又扮了個鬼臉,甚是可愛。第二輪中,谷愛凌在道具區第三個障礙處失誤,落地時摔倒。獲得16.98分。網友:摔倒了也沒關係,繼續加油!在第二跳失誤摔倒的情況下,谷愛凌頂住壓力,第三跳穩穩發揮,流暢落地!獲得86.23分!此輪比賽,共12位選手參賽,谷愛凌第10位出場。網友:看比賽時我比谷愛凌緊張,加油!"
inputs = tokenizer(text, max_length=512, return_tensors="pt")
summary_ids = model.generate(inputs["input_ids"])
tokenizer.batch_decode(summary_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
📚 詳細文檔
引用說明
如果您發現本資源有用,請在您的論文中引用以下內容:
@misc{Fengshenbang-LM,
title={Fengshenbang-LM},
author={IDEA-CCNL},
year={2022},
howpublished={\url{https://github.com/IDEA-CCNL/Fengshenbang-LM}},
}