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'] | |