pouchedfox's picture
init
6fe6b89
# !pip install gradio
# !pip install -q keybert
from keybert import KeyBERT
import gradio as gr
def greet(text, ngram_min, ngram_max, top_n, diversity, seed_keywords):
model_name = 'all-mpnet-base-v2'
model = KeyBERT(model_name)
if ngram_min > ngram_max:
return "ngram_min should no greater than ngram_max!"
else:
keywords = model.extract_keywords(text, keyphrase_ngram_range=(ngram_min, ngram_max), top_n=top_n, use_mmr=True,
diversity=diversity, seed_keywords=seed_keywords)
res = ""
for keyword in keywords:
res += keyword[0] + "\n"
return res
demo = gr.Interface(
fn=greet,
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"),
gr.Slider(1, 10, step = 1, label="Number of keyphrases"), gr.Slider(0, 1, step = 0.05, label="Diversity of the returned keyphrases"),
gr.Textbox(placeholder='This field can be empty', label="Seed Keyword:\nguide the extraction by steering the similarities towards it.")],
outputs=[gr.Textbox(label='Extracted Keyphrases')],
)
demo.launch(debug=True)