| import gradio as gr | |
| import os | |
| os.system('python -m spacy download ko_core_news_sm') | |
| import spacy | |
| from spacy import displacy | |
| nlp = spacy.load("ko_core_news_sm") | |
| def text_analysis(text): | |
| doc = nlp(text) | |
| html = displacy.render(doc, style="dep", page=True) | |
| html = ( | |
| "" | |
| + html | |
| + "" | |
| ) | |
| pos_count = { | |
| "char_count": len(text), | |
| "token_count": 0, | |
| } | |
| pos_tokens = [] | |
| for token in doc: | |
| pos_tokens.extend([(token.text, token.pos_), (" ", None)]) | |
| return pos_tokens, pos_count, html | |
| demo = gr.Interface( | |
| text_analysis, | |
| gr.Textbox(placeholder="Enter sentence here..."), | |
| ["highlight", "json", "html"], | |
| examples=[ | |
| ["์๋ฆ๋ค์ด ์ถ์ต๋ค์ ์ธ์ ๊ฐ ์ฌ๋ผ์ง๊ฒ ์ง๋ง"], | |
| ["์ง๊ธ์ด๋ผ๋ ๋ ธ๋๋ก ๋จ๊ธฐ๊ณ ์ถ์ด"], | |
| ], | |
| ) | |
| demo.launch() | |