pouchedfox commited on
Commit
60fcf3b
·
1 Parent(s): 047a460
Files changed (1) hide show
  1. app.py +29 -0
app.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # !pip install gradio
2
+ # !pip install -q keybert
3
+
4
+ from keybert import KeyBERT
5
+ import gradio as gr
6
+
7
+ def greet(text, ngram_min, ngram_max, top_n, diversity, seed_keywords):
8
+ model_name = 'all-mpnet-base-v2'
9
+ model = KeyBERT(model_name)
10
+
11
+ if ngram_min > ngram_max:
12
+ return "ngram_min should no greater than ngram_max!"
13
+ else:
14
+ keywords = model.extract_keywords(text, keyphrase_ngram_range=(ngram_min, ngram_max), top_n=top_n, use_mmr=True,
15
+ diversity=diversity, seed_keywords=seed_keywords)
16
+ res = ""
17
+ for keyword in keywords:
18
+ res += keyword[0] + "\n"
19
+ return res
20
+
21
+
22
+ demo = gr.Interface(
23
+ fn=greet,
24
+ inputs=[gr.Textbox(placeholder="Put the text here and click 'submit' to get the keyphrases", label="Input Text"), gr.Slider(1, 5, step = 1, label="Minimum number of words in a keyphrase"), gr.Slider(1, 5, step = 1, label="Maximum number of words in a keyphrase"),
25
+ gr.Slider(1, 10, step = 1, label="Number of returned keyphrases"), gr.Slider(0, 1, step = 0.05, label="Diversity of the returned keyphrases"),
26
+ gr.Textbox(placeholder='This field can be empty', label="Seed Keyword:\nguide the extraction by steering the similarities towards it.")],
27
+ outputs=[gr.Textbox(label='Extracted Keyphrases')],
28
+ )
29
+ demo.launch(debug=True)