Spaces:
Sleeping
Sleeping
Commit
·
fbdc62b
1
Parent(s):
ee9cdb8
Update app.py
Browse files
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 |
-
|
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%의 정확도를
|
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():
|