ES 分詞器優化
用 Gemini 從團體商品名抽關鍵字,做成 jieba 字典 · 修正旅遊專名分詞
⚠️ 痛點 · prod ES 切不準業務專名(真實實測)
用戶 query
「北海道五日遊」
prod ES _analyze
北海
道
五日
五日遊
prod 字典已有 ~115 萬詞,但「北海道」仍被切成「北海」+「道」 → ES 拿「北海」當 token 撈出大量無關商品
資料來源:
資料來源:
group-20260521/_analyze with group_import analyzer(2026-05-21 read-only 實測)
🛠️ 解法 · 兩階段抽取 + 合併
ES 8,319 筆團體商品 snapshot
group-snapshot-prod-20260511 · 31 個抽取欄位
▼
Stage A · 規則直抽
25,313 詞
結構化欄位「直接取值」,內容本身已是乾淨詞
AREA_SYNONYM_LIST
日本
霓虹國
ジャパン
日本国
KEYWORD_LIST / MATCH_TAG_LIST
5日遊
溫泉
遊船
中華航空
POI_INFO.POINAME
小樽運河
狸小路商店街
太宰府天滿宮
DESTINATION_LIST.CITY / COUNTRY
北海道
釜山廣域市
大阪府
日本國
TAG_LIST / TRIP_TYPE_LIST
自然生態
特色料理
早鳥
郵輪
Gemini 3.1 Flash Lite
Stage B · Gemini 抽詞分類
19,436 詞
「文案 / 半結構化」欄位 LLM 抽乾淨實體,過濾「敬請自理」「或同級」「機上簡餐」等噪音
PROD_NAME / SHORTEN_TOUR_NAME
北海道POI
定山溪POI
彩燈節ACTIVITY
ITINERARY_HOTEL.HOTEL
福岡蒙特艾瑪納HOTEL
地中海郵輪榮耀號SHIP
星野集團IP
ITINERARY_MEAL.*
巴西黑豆風味餐FOOD
中式六菜一湯FOOD
信州牛壽喜燒FOOD
GROUP_INFO.FLIGHT_INFO.*
長榮航空AIRLINE
星宇航空AIRLINE
成田機場AIRPORT
PROD_SUMMARY
富平罐頭夜市POI
海雲臺海濱POI
汗蒸幕ACTIVITY
▼
38,947
jieba userdict 詞條
💰 生成成本
$0.59
Gemini 成本(USD)
~55 min
總耗時(含 retry)
38,947
字典詞條
gemini-3.1-flash-lite · 617 batches · ~6.5M tokens · structured output (JSON schema)
📊 對 prod 字典的補強效果(5000 詞抽樣實測)
53.7%
Gemini 抽出但 prod 字典沒有的比例
~17,468
補進 prod 的新業務詞
prod ES 真實
_analyze 實測 · 純中文 pool 32,528 詞 · 推算到全集約 17,468 個新詞 · prod 字典已含 ~115 萬詞
🔎 分類深挖 · prod 字典在哪一類最缺
9 類業務詞 · prod 字典漏收率
每類抽樣(POI/HOTEL/FOOD 各 500,其餘全測)→ 打 prod ES
_analyze,若整詞沒被完整切出 = prod 沒收錄
FOOD
81.8%
HOTEL
76.0%
SHIP
73.8%
ACTIVITY
67.4%
OTHER
64.3%
AIRPORT
61.9%
IP
47.2%
POI
38.4%
AIRLINE
37.6%
prod 字典強項
POI
38.4%
AIRLINE
37.6%
products_dict 補強重點
FOOD
81.8%
HOTEL
76.0%
SHIP
73.8%
Before / After · 真實 prod 實測
14 case · 滑動看更多
📡 prod ES _analyze 2026-05-21
「北海道五日遊」通用旅遊詞
prod
北海
道
五日
五日遊
+dict
北海道
五日
遊
「巴西黑豆風味餐」FOOD
prod
巴西
黑豆
風味
風味餐
+dict
巴西黑豆風味餐
「福岡蒙特艾瑪納」HOTEL
prod
福岡
蒙特
艾瑪納
+dict
福岡蒙特艾瑪納
「丹後鐵道紅松號」SHIP
prod
丹後
丹後鐵道
鐵道
紅松
號
+dict
丹後鐵道紅松號
「普吉老鎮」POI
prod
普吉
老鎮
+dict
普吉老鎮
「杭州寒山寺」POI
prod
杭州
寒山
寒山寺
山寺
+dict
杭州寒山寺
「樂天渡假村」HOTEL
prod
樂天
渡假
渡假村
+dict
樂天渡假村
「隆鑫玫瑰酒店」HOTEL
prod
隆鑫
玫瑰
酒店
+dict
隆鑫玫瑰酒店
「伊斯坦堡機場」AIRPORT
prod
伊斯
伊斯坦
伊斯坦堡
斯坦
機場
+dict
伊斯坦堡機場
「下龍灣雅典娜號」SHIP
prod
下龍灣
龍灣
雅典
雅典娜
號
+dict
下龍灣雅典娜號
「蒙古炒麵」FOOD
prod
蒙古
炒麵
+dict
蒙古炒麵
「賞螢火蟲」ACTIVITY
prod
賞
螢火
螢火蟲
+dict
賞螢火蟲
「彩虹帆船遊艇」ACTIVITY
prod
彩虹
帆船
遊艇
+dict
彩虹帆船遊艇
「鳴日廚房」IP
prod
鳴日
廚房
+dict
鳴日廚房
📌 資料來源與誠實補充
- 「prod」欄資料來源:prod ES
group-20260521group_importanalyzer_analyzeAPI 實測(2026-05-21,全程 read-only GET) - 「+dict」欄資料來源:本地 python jieba 0.42.1 + prod 字典副本 + products_dict.txt,
jieba.cut()precise 模式模擬
⚠️ 預期 prod plugin 部署後同等效果,但 ES 端尚未實測;jieba 字典載入機制 prod 已配jieba/synonyms+jieba/stopwords,部署可行性高 - 53.7% gap 數字:從 products_dict 純中文 pool(32,528 詞)隨機抽 5000 詞,逐一打 prod
_analyze判定 covered/gap;95% CI ±1.4% - 9 類 gap 率:來自
ai_entities.jsonl按 category 抽樣 2,948 詞實測(大類 500 / 小類全測) - 字典載入時間實測:jieba 內建 0.26s + prod 8 個 .dict 副本 0.75s + products_dict 0.09s = 共 1.10s(cold start,runtime 不受影響)
- 目前洗的範圍:8,319 筆團體商品 × 31 個欄位 — 商品名 / SHORTEN_TOUR_NAME / 飯店 / 餐點 / 航空 / 機場 / POI / 目的地 / 區域同義詞 / 標籤 / 行程類型 / 商品短描述等(規則直抽 + Gemini 9 類抽詞,詳見上方 Stage A/B)
- 未涵蓋:PROD_DESC / ITINERARY_DESC / DAILY_DESC 等長文案 — 每筆 ~1-3K 字,input 成本爆增 + Gemini structured output 在長輸入下易截斷,先擱置;未來補進來覆蓋會更完整(可分段抽,譬如行程逐日 / POI 介紹獨立 batch)
- Snapshot 時點:2026-05-11,後續商品更新需重跑 pipeline