Spaces:
Runtime error
Runtime error
initial commit - app.py
Browse files
app.py
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import time
|
2 |
+
|
3 |
+
import errant
|
4 |
+
import streamlit as st
|
5 |
+
from happytransformer import HappyTextToText, TTSettings
|
6 |
+
|
7 |
+
from highlighter import show_edits, show_highlights
|
8 |
+
|
9 |
+
checkpoints = [
|
10 |
+
"aseifert/t5-base-jfleg-wi",
|
11 |
+
"aseifert/byt5-base-jfleg-wi",
|
12 |
+
"prithivida/grammar_error_correcter_v2",
|
13 |
+
"Modfiededition/t5-base-fine-tuned-on-jfleg",
|
14 |
+
]
|
15 |
+
|
16 |
+
|
17 |
+
@st.cache(suppress_st_warning=True, allow_output_mutation=True)
|
18 |
+
def get_model(model_name):
|
19 |
+
return HappyTextToText("T5", model_name)
|
20 |
+
|
21 |
+
|
22 |
+
@st.cache(suppress_st_warning=True, allow_output_mutation=True)
|
23 |
+
def get_annotator(lang: str):
|
24 |
+
return errant.load(lang)
|
25 |
+
|
26 |
+
|
27 |
+
st.title("Check & Improve English Grammar")
|
28 |
+
st.markdown("This writing assistant detects π and corrects βοΈ grammatical mistakes for you!")
|
29 |
+
|
30 |
+
checkpoint = st.selectbox("Choose model", checkpoints)
|
31 |
+
happy_tt = get_model(checkpoint)
|
32 |
+
annotator = get_annotator("en")
|
33 |
+
args = TTSettings(num_beams=5, min_length=1, max_length=1024)
|
34 |
+
|
35 |
+
input_text = st.text_area(
|
36 |
+
label="Original text",
|
37 |
+
value="A dog is bigger then mouse.",
|
38 |
+
placeholder="Enter your text here",
|
39 |
+
)
|
40 |
+
button = st.button("βοΈ Check")
|
41 |
+
|
42 |
+
|
43 |
+
def output(input_text):
|
44 |
+
with st.spinner("Checking for errors π"):
|
45 |
+
prefixed_input_text = "Grammar: " + input_text
|
46 |
+
result = happy_tt.generate_text(prefixed_input_text, args=args).text
|
47 |
+
|
48 |
+
try:
|
49 |
+
st.success(result)
|
50 |
+
show_highlights(annotator, input_text, result)
|
51 |
+
# st.table(show_edits(annotator, input_text, result))
|
52 |
+
except Exception as e:
|
53 |
+
st.error("Some error occured!" + str(e))
|
54 |
+
st.stop()
|
55 |
+
|
56 |
+
|
57 |
+
start = time.time()
|
58 |
+
output(input_text)
|
59 |
+
st.write("---")
|
60 |
+
st.text(f"Built by Team Writing Assistant β€οΈ β prediction took {time.time() - start:.2f}s")
|