import streamlit as st from keybert import KeyBERT import spacy import jieba # 加載中文 spaCy 模型 zh_model = spacy.load("zh_core_web_sm") bertModel = KeyBERT(model=zh_model) # Streamlit 介面 st.title("KeyBERT 關鍵字抓取應用") # 輸入框讓用戶輸入文字 text = st.text_area("請貼上文字並按下按鈕以抓取關鍵字", height=200) # 按鈕來觸發關鍵字抓取 if st.button("抓取關鍵字"): if text: # 使用 jieba 對輸入的中文文本進行分詞 doc = ' '.join(jieba.lcut(text)) # 使用 KeyBERT 抓取關鍵字 keywords = bertModel.extract_keywords(doc, keyphrase_ngram_range=(1, 1), stop_words=None, top_n=10) st.write("抓取到的關鍵字及相關性分數:") for keyword, relevance in keywords: st.write(f"關鍵字: {keyword}, 相關性分數: {relevance:.4f}") else: st.write("請先輸入文字")