Spaces:
Sleeping
Sleeping
| from transformers import pipeline, T5Tokenizer, T5ForConditionalGeneration | |
| class TextSummarizer: | |
| model_name = "sonoisa/t5-base-japanese" | |
| tokenizer_name = "sonoisa/t5-base-japanese" | |
| def __init__(self): | |
| """ | |
| TextSummarizerクラスを初期化し、トークナイザ、モデル、パイプラインを設定 | |
| Parameters: | |
| - なし | |
| Returns: | |
| - なし | |
| """ | |
| # トークナイザを個別に初期化し、legacy=Falseを指定 | |
| self.tokenizer = T5Tokenizer.from_pretrained(self.tokenizer_name, legacy=False) | |
| # モデルを個別に初期化 | |
| self.model = T5ForConditionalGeneration.from_pretrained(self.model_name) | |
| # パイプラインを初期化 | |
| self.summarizer = pipeline("summarization", model=self.model, tokenizer=self.tokenizer) | |
| def summarize(self, text, max_length=20, min_length=10): | |
| """ | |
| テキストを要約 | |
| Parameters: | |
| - text (str): 要約する対象のテキスト。 | |
| - max_length (int): 要約の最大長 (デフォルトは20) | |
| - min_length (int): 要約の最小長 (デフォルトは10) | |
| Returns: | |
| - summary_text (str): 要約されたテキスト | |
| """ | |
| summary = self.summarizer(text, max_length=max_length, min_length=min_length, do_sample=False) | |
| return summary[0]['summary_text'] | |