hayanaka commited on
Commit
cdfbb42
1 Parent(s): ca240ed

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -17
app.py CHANGED
@@ -2,37 +2,44 @@ from transformers import pipeline
2
  import gradio as gr
3
 
4
  # Pipeline
5
- # 和訳パイプライン
6
- translator_ja_to_en = pipeline("translation_ja_to_en", model="Helsinki-NLP/opus-mt-ja-en")
 
7
 
8
- # 要約パイプライン(英語)
9
- summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
 
10
 
11
- # 翻訳パイプラインの初期化(英語から日本語)
12
- translator_en_to_ja = pipeline("translation_en_to_ja", model="Helsinki-NLP/opus-tatoeba-en-ja")
 
 
 
13
 
14
  def summarize_and_translate(text):
15
- # 英訳
16
- translated_text_to_en = translator_ja_to_en(text, max_length=400)[0]['translation_text']
 
 
 
 
17
 
18
- # 要約
19
- summary_in_en = summarizer(translated_text_to_en, min_length=5, max_length=20)[0]['summary_text']
20
 
21
- # 和訳
22
  summary_in_ja = translator_en_to_ja(summary_in_en, max_length=400)[0]['translation_text']
23
 
24
- # 不要なスペースを除去 → なぜかエラーになるので断念
25
  # summary_in_ja = re.sub(r'\s+', ' ', summary_in_ja).strip()
26
 
27
  return summary_in_ja
28
 
29
-
30
  demo = gr.Interface(
31
  fn=summarize_and_translate,
32
- inputs=gr.Textbox(lines=5, placeholder="日本語の文章を入力してください"),
33
- outputs=gr.Textbox(lines=5, label="日本語の要約"),
34
- title="日本語文書要約ツール",
35
- description="日本語の文章を入力すると、日本語の要約が表示されます。"
36
  )
37
 
38
  demo.launch()
 
2
  import gradio as gr
3
 
4
  # Pipeline
5
+ # Translate from Japanese to English
6
+ # translator_ja_to_en = pipeline("translation_ja_to_en", model="Helsinki-NLP/opus-mt-ja-en")
7
+ translator_ja_to_en = pipeline("translation_ja_to_en", model="japanese-denim/nllb-finetuned-naga-to-eng")
8
 
9
+ # Summerize from English to English
10
+ # summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
11
+ summarizer = pipeline("summarization", model="google/pegasus-large")
12
 
13
+ # Translate from English to Japanese
14
+ # translator_en_to_ja = pipeline("translation_en_to_ja", model="Helsinki-NLP/opus-tatoeba-en-ja")
15
+ translator_en_to_ja = pipeline("translation_en_to_ja", model="ZenXir/marian-finetuned-kde4-en-to-ja")
16
+
17
+ maxlength = 500
18
 
19
  def summarize_and_translate(text):
20
+ # check max text length
21
+ if len(text) > max_length:
22
+ return f"エラー:{max_length}文字以内で入力してください\nError: The text cannot exceed {maxlength} characters. Please shorten your text."
23
+
24
+ # Translate from Japanese to English
25
+ translated_text_to_en = translator_ja_to_en(text, max_length=maxlength+500)[0]['translation_text']
26
 
27
+ # Summerize from English to English
28
+ summary_in_en = summarizer(translated_text_to_en, min_length=100, max_length=300)[0]['summary_text']
29
 
30
+ # Translate from English to Japanese
31
  summary_in_ja = translator_en_to_ja(summary_in_en, max_length=400)[0]['translation_text']
32
 
 
33
  # summary_in_ja = re.sub(r'\s+', ' ', summary_in_ja).strip()
34
 
35
  return summary_in_ja
36
 
 
37
  demo = gr.Interface(
38
  fn=summarize_and_translate,
39
+ inputs=gr.Textbox(lines=5, placeholder= f"{maxlength}文字以内で日本語の文章を入力してください\nPlease enter Japanese text within a {maxlength}-character limit"),
40
+ outputs=gr.Textbox(lines=5, label="日本語要約 Summarized Japanese"),
41
+ title="日本語要約 Jpanese Summarizer",
42
+ description=f"日本語の文章を入力すると、日本語の要約が表示されます。\n Enter Japanese text up to {maxlength} characters to see its summary."
43
  )
44
 
45
  demo.launch()