| import gradio as gr | |
| import os | |
| os.system('python -m spacy download fr_core_news_sm') | |
| import spacy | |
| from spacy import displacy | |
| nlp = spacy.load("fr_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=[ | |
| ["faire un bon rêve"], | |
| ["toi et moi pour toujours"], | |
| ], | |
| ) | |
| demo.launch() | |