Update app.py
Browse files
app.py
CHANGED
@@ -1,25 +1,45 @@
|
|
|
|
1 |
import gradio as gr
|
2 |
-
from
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
# 입력받은 한글 문장을 영어로 번역
|
9 |
-
|
10 |
-
|
11 |
-
#
|
12 |
-
|
13 |
-
return translated_text.text
|
14 |
|
15 |
# Gradio 인터페이스 정의
|
16 |
interface = gr.Interface(
|
17 |
-
fn=
|
18 |
inputs=gr.Textbox(lines=2, placeholder="한글 문장을 입력하세요..."),
|
19 |
outputs="text",
|
20 |
-
title="한글 문장을 영어 키워드로 번역",
|
21 |
-
description="한글 문장을 입력하면, 그 의미가 포함된
|
22 |
)
|
23 |
|
24 |
# 애플리케이션 실행
|
25 |
-
interface.launch()
|
|
|
1 |
+
import os
|
2 |
import gradio as gr
|
3 |
+
from google.cloud import translate_v2 as translate
|
4 |
+
from nltk import download
|
5 |
+
from nltk.tokenize import word_tokenize
|
6 |
+
from nltk.corpus import stopwords
|
7 |
+
from nltk import pos_tag
|
8 |
|
9 |
+
# nltk 데이터 다운로드
|
10 |
+
download('punkt')
|
11 |
+
download('averaged_perceptron_tagger')
|
12 |
+
download('stopwords')
|
13 |
+
|
14 |
+
# Google Cloud Translation 클라이언트 설정
|
15 |
+
translate_client = translate.Client()
|
16 |
+
|
17 |
+
def extract_keywords(text):
|
18 |
+
# 영어 텍스트를 토큰화
|
19 |
+
tokens = word_tokenize(text)
|
20 |
+
# 불용어 제거 및 중요 단어 추출
|
21 |
+
tokens = [word for word in tokens if word.isalnum() and word.lower() not in stopwords.words('english')]
|
22 |
+
# 품사 태깅
|
23 |
+
tagged = pos_tag(tokens)
|
24 |
+
# 명사, 고유명사, 동사 중요 키워드 추출
|
25 |
+
keywords = [word for word, tag in tagged if tag in ['NN', 'NNP', 'NNS', 'VB', 'VBD', 'VBG', 'VBN', 'VBP', 'VBZ']]
|
26 |
+
return ' '.join(keywords)
|
27 |
+
|
28 |
+
def translate_and_extract_keywords(text):
|
29 |
# 입력받은 한글 문장을 영어로 번역
|
30 |
+
result = translate_client.translate(text, target_language='en')
|
31 |
+
translated_text = result['translatedText']
|
32 |
+
# 키워드 추출
|
33 |
+
return extract_keywords(translated_text)
|
|
|
34 |
|
35 |
# Gradio 인터페이스 정의
|
36 |
interface = gr.Interface(
|
37 |
+
fn=translate_and_extract_keywords,
|
38 |
inputs=gr.Textbox(lines=2, placeholder="한글 문장을 입력하세요..."),
|
39 |
outputs="text",
|
40 |
+
title="한글 문장을 영어 키워드로 번역 및 추출",
|
41 |
+
description="한글 문장을 입력하면, 그 의미가 포함된 영어 키워드를 추출하여 출력합니다."
|
42 |
)
|
43 |
|
44 |
# 애플리케이션 실행
|
45 |
+
interface.launch(share=True)
|