JJS341 commited on
Commit
bd6b4d0
·
verified ·
1 Parent(s): 0821432

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -14
app.py CHANGED
@@ -37,24 +37,23 @@ def coref_chat(user_input):
37
  return "請輸入內容", "等待輸入..."
38
 
39
  try:
40
- # 1. 偵測語系並統一轉換為英文」供模型運算
41
- # 判斷是否含有中文字
42
  has_chinese = any('\u4e00' <= char <= '\u9fff' for char in user_input)
43
 
44
  if has_chinese:
45
- # 中翻英 (橋接運算)
46
  working_text = GoogleTranslator(source='zh-CN', target='en').translate(user_input)
47
- mode_notice = "【模式:中文輸入 ➔ 英文解析】"
48
  else:
49
- # 已經是英文,直接運算
50
  working_text = user_input
51
- mode_notice = "【模式:英文原語解析】"
52
 
53
- # 2. 執行指代消解 (Coreference Resolution)
54
  preds = model.predict(texts=[working_text])
55
  clusters = preds[0].get_clusters()
56
 
57
- # 3. 整理結果並「翻譯回中文」
58
  result = f"✨ {mode_notice}\n"
59
  result += f"📝 英文邏輯空間: {working_text}\n"
60
  result += "---------------------------------\n"
@@ -62,13 +61,22 @@ def coref_chat(user_input):
62
  if not clusters:
63
  result += "🔍 分析結果:指代關係明確,或模型判定關聯度未達門檻。"
64
  else:
65
- result += "🎯【偵測到之實體鏈】:\n"
66
  for i, cluster in enumerate(clusters):
67
- # 英文實體翻譯回中文,讓使用者更好懂
68
- cluster_str = ' ↔ '.join(cluster)
69
- translated_cluster = GoogleTranslator(source='en', target='zh-CN').translate(cluster_str)
70
- result += f" 🔗 鏈結 {i+1} (): {translated_cluster}\n"
71
- result += f" └─ (英): {cluster_str}\n"
 
 
 
 
 
 
 
 
 
72
 
73
  return user_input, result
74
 
 
37
  return "請輸入內容", "等待輸入..."
38
 
39
  try:
40
+ # 1. 偵測語系並轉換為英文進行運算 (中翻英橋接)
 
41
  has_chinese = any('\u4e00' <= char <= '\u9fff' for char in user_input)
42
 
43
  if has_chinese:
44
+ # 強制中翻英
45
  working_text = GoogleTranslator(source='zh-CN', target='en').translate(user_input)
46
+ mode_notice = "【模式:中文 ➔ 英文解析】"
47
  else:
48
+ # 本身是英文
49
  working_text = user_input
50
+ mode_notice = "【模式:英文解析】"
51
 
52
+ # 2. 執行 AI 指代消解
53
  preds = model.predict(texts=[working_text])
54
  clusters = preds[0].get_clusters()
55
 
56
+ # 3. 輸出結果整理
57
  result = f"✨ {mode_notice}\n"
58
  result += f"📝 英文邏輯空間: {working_text}\n"
59
  result += "---------------------------------\n"
 
61
  if not clusters:
62
  result += "🔍 分析結果:指代關係明確,或模型判定關聯度未達門檻。"
63
  else:
64
+ result += "🎯【偵測到之實體鏈 (Entity Chains)】:\n"
65
  for i, cluster in enumerate(clusters):
66
+ # 原始英文鏈
67
+ cluster_str_en = ' ↔ '.join(cluster)
68
+
69
+ # --- 強制翻譯回 ---
70
+ # 我們把連連看的內容拆開翻譯,再組合回去,這樣翻譯會更準確
71
+ try:
72
+ translated_items = [GoogleTranslator(source='en', target='zh-CN').translate(item) for item in cluster]
73
+ cluster_str_zh = ' ↔ '.join(translated_items)
74
+ except:
75
+ # 萬一分開翻失敗,才整串翻
76
+ cluster_str_zh = GoogleTranslator(source='en', target='zh-CN').translate(cluster_str_en)
77
+
78
+ result += f" 🔗 鏈結 {i+1} (繁中): {cluster_str_zh}\n"
79
+ result += f" └─ (原文): {cluster_str_en}\n"
80
 
81
  return user_input, result
82