Roberta2024 commited on
Commit
98e860f
·
verified ·
1 Parent(s): 5bb683a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -5
app.py CHANGED
@@ -1,9 +1,11 @@
1
  import streamlit as st
2
  from keybert import KeyBERT
 
3
  import jieba
4
 
5
- # 初始化 KeyBERT 模型
6
- kw_model = KeyBERT()
 
7
 
8
  # Streamlit 介面
9
  st.title("KeyBERT 關鍵字抓取應用")
@@ -14,12 +16,16 @@ text = st.text_area("請貼上文字並按下按鈕以抓取關鍵字", height=2
14
  # 按鈕來觸發關鍵字抓取
15
  if st.button("抓取關鍵字"):
16
  if text:
17
- # 使用 jieba 對輸入的中文文本進行精確模式分詞
18
- words = " ".join(jieba.cut(text, cut_all=False))
19
  # 使用 KeyBERT 抓取關鍵字
20
- keywords = kw_model.extract_keywords(words, stop_words='english')
 
 
 
21
  st.write("抓取到的關鍵字及相關性分數:")
22
  for keyword, relevance in keywords:
23
  st.write(f"關鍵字: {keyword}, 相關性分數: {relevance:.4f}")
24
  else:
25
  st.write("請先輸入文字")
 
 
1
  import streamlit as st
2
  from keybert import KeyBERT
3
+ import spacy
4
  import jieba
5
 
6
+ # 加載中文 spaCy 模型
7
+ zh_model = spacy.load("zh_core_web_sm")
8
+ bertModel = KeyBERT(model=zh_model)
9
 
10
  # Streamlit 介面
11
  st.title("KeyBERT 關鍵字抓取應用")
 
16
  # 按鈕來觸發關鍵字抓取
17
  if st.button("抓取關鍵字"):
18
  if text:
19
+ # 使用 jieba 對輸入的中文文本進行分詞
20
+ doc = ' '.join(jieba.lcut(text))
21
  # 使用 KeyBERT 抓取關鍵字
22
+ keywords = bertModel.extract_keywords(doc,
23
+ keyphrase_ngram_range=(1, 1),
24
+ stop_words=None,
25
+ top_n=10)
26
  st.write("抓取到的關鍵字及相關性分數:")
27
  for keyword, relevance in keywords:
28
  st.write(f"關鍵字: {keyword}, 相關性分數: {relevance:.4f}")
29
  else:
30
  st.write("請先輸入文字")
31
+