File size: 1,977 Bytes
4196711
 
 
 
 
d13d693
4196711
d13d693
 
4196711
d13d693
4196711
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import gradio as gr
import spacy
from spacy import displacy
from spacy.tokens import Span
from random import randint
from fastcoref import FCoref

model = FCoref("pythainlp/han-coref-v1.0")
nlp = spacy.blank("th")

default = "ไอน์สไตน์แนะนำให้แอร์วิน ชเรอดิงเงอร์นำเอาแนวคิดของมักซ์ พลังค์ไปใช้ ที่มองระดับพลังงานของแก๊สในภาพรวมมากกว่าจะมองเป็นโมเลกุลเดี่ยวๆ ชเรอดิงเงอร์ประยุกต์แนวคิดนี้ในบทความวิจัยโดยใช้การกระจายตัวของโบลทซ์มันน์เพื่อหาคุณสมบัติทางอุณหพลศาสตร์ของแก๊สอุดมคติกึ่งคลาสสิก ชเรอดิงเงอร์ขออนุญาตใส่ชื่อไอน์สไตน์เป็นผู้เขียนบทความร่วม แต่ต่อมาไอน์สไตน์ปฏิเสธคำเชิญนั้น"

def corefer(text):
    preds = model.predict(texts=[text])
    clusters = preds[0].get_clusters(as_strings=False)
    doc = nlp(text)
    doc.spans["sc"] = []
    colors = {"Cluster {}".format(i):'#%06X' % randint(0, 0xFFFFFF) for i in range(len(clusters))}
    for i, cluster in enumerate(clusters):
      for sp in cluster:
        doc.spans["sc"] += [doc.char_span(sp[0], sp[1], "Cluster {}".format(i))]
    return displacy.render(doc, style="span", options= {"colors":colors }, page=True )


iface = gr.Interface(fn=corefer, 
                     inputs=gr.Textbox(label="Enter Text To Corefer with FastCoref", lines=2, value=default), 
                     outputs="html")
iface.launch()