sigmadream commited on
Commit
fbdc62b
·
1 Parent(s): ee9cdb8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -13
app.py CHANGED
@@ -13,11 +13,12 @@ id2label = {0: "NEGATIVE", 1: "POSITIVE"}
13
  label2id = {"NEGATIVE": 0, "POSITIVE": 1}
14
 
15
 
16
- title = "한국어/영어 감정 분석 예제(네이버 영화 리뷰를 활용)"
17
- description = "영화평을 입력하여 긍정적인지 부정적인지를 분류하는 모델입니다. \
18
- 한국어인지 영어인지 판단하고 예측해주는 ""Default""라는 버전도 제공합니다." \
19
- 한국어 버전과 영어 버전 중에서 선택할 수 있습니다.
20
-
 
21
  class LanguageIdentification:
22
  def __init__(self):
23
  pretrained_lang_model = "./lid.176.ftz"
@@ -40,6 +41,7 @@ def tokenized_data(tokenizer, inputs):
40
  truncation=True)
41
 
42
 
 
43
  examples = []
44
  df = pd.read_csv('examples.csv', sep='\t', index_col='Unnamed: 0')
45
  np.random.seed(100)
@@ -148,29 +150,46 @@ def builder(Lang, Text):
148
  return id2label[prediction.item()]
149
 
150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  with gr.Blocks() as demo1:
152
  gr.Markdown(
153
  """
154
  <h1 align="center">
155
- 한국어/영어 감정 분석 예제(네이버 영화 리뷰를 활용)
156
  </h1>
157
  """)
158
 
159
  gr.Markdown(
160
  """
161
- 영화 리뷰를 입력하면, 긍정적인 감정인지 부정적인 감정인지 판별하는 모델입니다. \
162
- 영어와 한글을 지원하며, 언어를 직접 선택할수도, 혹은 모델이 언어감지를 직접 하도록 할 수 있습니다.
163
  리뷰를 입력하면, (1) 감지된 언어, (2) 긍정 리뷰일 확률과 부정 리뷰일 확률, (3) 입력된 리뷰의 어느 단어가 긍정/부정 결정에 영향을 주었는지 \
164
- (긍정일 경우 빨강색, 부정일 경우 파란색)를 확인할 수 있습니다.
165
  """)
166
 
167
  with gr.Accordion(label="모델에 대한 설명 ( 여기를 클릭 하시오. )", open=False):
168
  gr.Markdown(
169
  """
170
- 영어 모델은 bert-base-uncased 기반으로, 영어 영화 리뷰 분석 데이터셋인 SST-2로 학습 및 평가되었습니다.
171
- 한글 모델은 klue/roberta-base 기반이다. 기존 한글 영화 리뷰 분석 데이터셋이 존재하지 않아, 네이버 영화의 리뷰를 크롤링해서 영화 리뷰 분석 데이터셋을 제작하고, 이를 이용하여 모델을 학습 및 평가하였습니다.
172
- 영어 모델은 SST-2에서 92.8%, 한글 모델은 네이버 영화 리뷰 데이터셋에서 94%의 정확도를 가집니다(test set 기준).
173
- 언어감지는 fasttext의 language detector를 사용하였다. 리뷰의 단어별 영향력은, 단어 각각을 모델에 넣었을 때 결과가 긍정으로 나오는지 부정으로 나오는지를 바탕으로 측정하였습니다.
174
  """)
175
 
176
  with gr.Row():
 
13
  label2id = {"NEGATIVE": 0, "POSITIVE": 1}
14
 
15
 
16
+ title = "영화 리뷰 점수 판별기"
17
+ description = "영화평을 입력하여 긍정적인지 부정적인지를 분류하는 프로그램입니다. \
18
+ 한국어 버전과 영어 버전 중에서 선택할 있습니다. \
19
+ 한국어인지 영어인지 판단하고 예측해주는 ""Default""라는 버전도 제공합니다."
20
+
21
+
22
  class LanguageIdentification:
23
  def __init__(self):
24
  pretrained_lang_model = "./lid.176.ftz"
 
41
  truncation=True)
42
 
43
 
44
+
45
  examples = []
46
  df = pd.read_csv('examples.csv', sep='\t', index_col='Unnamed: 0')
47
  np.random.seed(100)
 
150
  return id2label[prediction.item()]
151
 
152
 
153
+ # demo3 = gr.Interface.load("models/mdj1412/movie_review_score_discriminator_eng", inputs="text", outputs="text",
154
+ # title=title, theme="peach",
155
+ # allow_flagging="auto",
156
+ # description=description, examples=examples)
157
+
158
+
159
+
160
+ # demo = gr.Interface(builder, inputs=[gr.inputs.Dropdown(['Default', 'Eng', 'Kor']), gr.Textbox(placeholder="리뷰를 입력하시오.")],
161
+ # outputs=[ gr.Label(num_top_classes=3, label='Lang'),
162
+ # gr.Label(num_top_classes=2, label='Result'),
163
+ # gr.HighlightedText(label="Analysis", combine_adjacent=False)
164
+ # .style(color_map={"+++": "#CF0000", "++": "#FF3232", "+": "#FFD4D4", "---": "#0004FE", "--": "#4C47FF", "-": "#BEBDFF"}) ],
165
+ # # outputs='label',
166
+ # title=title, description=description, examples=examples)
167
+
168
+
169
+
170
  with gr.Blocks() as demo1:
171
  gr.Markdown(
172
  """
173
  <h1 align="center">
174
+ 영화 리뷰 점수 판별기
175
  </h1>
176
  """)
177
 
178
  gr.Markdown(
179
  """
180
+ 영화 리뷰를 입력하면, 리뷰가 긍정인지 부정인지 판별해주는 모델이다. \
181
+ 영어와 한글을 지원하며, 언어를 직접 선택할수도, 혹은 모델이 언어감지를 직접 하도록 할 수 있다.
182
  리뷰를 입력하면, (1) 감지된 언어, (2) 긍정 리뷰일 확률과 부정 리뷰일 확률, (3) 입력된 리뷰의 어느 단어가 긍정/부정 결정에 영향을 주었는지 \
183
+ (긍정일 경우 빨강색, 부정일 경우 파란색)를 확인할 수 있다.
184
  """)
185
 
186
  with gr.Accordion(label="모델에 대한 설명 ( 여기를 클릭 하시오. )", open=False):
187
  gr.Markdown(
188
  """
189
+ 영어 모델은 bert-base-uncased 기반으로, 영어 영화 리뷰 분석 데이터셋인 SST-2로 학습 및 평가되었다.
190
+ 한글 모델은 klue/roberta-base 기반이다. 기존 한글 영화 리뷰 분석 데이터셋이 존재하지 않아, 네이버 영화의 리뷰를 크롤링해서 영화 리뷰 분석 데이터셋을 제작하고, 이를 이용하여 모델을 학습 및 평가하였다.
191
+ 영어 모델은 SST-2에서 92.8%, 한글 모델은 네이버 영화 리뷰 데이터셋에서 94%의 정확도를 가진다 (test set 기준).
192
+ 언어감지는 fasttext의 language detector를 사용하였다. 리뷰의 단어별 영향력은, 단어 각각을 모델에 넣었을 때 결과가 긍정으로 나오는지 부정으로 나오는지를 바탕으로 측정하였다.
193
  """)
194
 
195
  with gr.Row():