跨境與多語言搜尋:跨語種檢索的架構與落地要點
摘要:跨境搜尋的關鍵不是把查詢翻譯一遍,而是讓每個語種有自己的分詞、歸一與排序規則;可行架構是「語種專屬分析 + 向量對齊 + 本地化排序」三層,缺一層就會在某一語種出現召回缺口。
同一款衝鋒衣,德國買家搜「wasserdichte jacke」,日本買家搜「防水 ジャケット」,泰國買家輸入一串沒有空格的泰文。若只有一套按空格切分、按英文規則歸一的檢索鏈路,這三條查詢基本都會召回不全。難點不在翻譯準不準,而在分詞、形態變化、字符歸一與排序本地化四個層面,以及查詢語言與文件語言不一致時如何對齊。本文按「問題—架構—分詞—跨語言—排序—度量」展開,給出兩張對比表與一份落地清單。
關鍵要點
- 跨境搜尋的第一道門檻是分詞:中文、日文、泰文等書寫無空格,按空格切詞等於把整句當一個詞。
- 德、俄、阿拉伯等屈折變化豐富的語言必須做詞幹提取,否則複數與變格形式互不召回。
- 三種架構中,單語言多索引品質最好但成本隨語種增長,混合索引是主力方案,向量索引用於補位。
- 跨語言檢索有查詢翻譯、文件翻譯、向量對齊三條路徑,工程上取向量對齊做主路、關鍵詞路保底。
- 貨幣、單位、日期、地區可售與合規屏蔽屬於過濾規則,不應混進相關性打分。
- 效果評估必須按語種與地區分段,整體指標會被主力語種平均掉,掩蓋小語種問題。
一、多語言搜尋為什麼不是「翻譯一下就行」
把多語言檢索理解為「加一個翻譯介面」是常見誤判,翻譯只處理表達差異,解決不了四類結構性問題。
分詞。 中文、日文、泰文、寮國文、高棉文、緬甸文書寫時沒有空格。ICU 官方使用者指南指出,這類語言的詞邊界不能僅靠字符序列規則判定,ICU 為中日泰寮柬緬提供詞典支援。沿用空格切詞,整句會被當成一個詞項,無法命中。
形態變化。 德語、俄語、波蘭語、阿拉伯語、芬蘭語靠詞尾表達性、數、格。不做詞幹提取,「Schuhe」與「Schuh」、「книга」與「книги」就是兩個無關詞項,換個說法就召回不到。
字符集與編碼。 同一個視覺字符在 Unicode 裡可有多種表示:帶變音符號的字母可能是一個碼位,也可能是基礎字母加組合符;還有全形半形、阿拉伯字母隨位置變形、土耳其語特殊大小寫。不歸一,同一個詞會有多個版本。
語序與複合詞。 德語把多個名詞拼成複合詞,日韓是主賓謂結構,中文修飾語前置。按英文語序假設寫的短語與鄰近度規則,在其他語種上基本失效。
二、三種架構路線對比
架構選擇的本質,是在檢索品質、維運成本與跨語種能力之間取捨。
| 維度 | 甲、單語言多索引 | 乙、多語言混合索引 | 丙、跨語言向量索引 |
|---|---|---|---|
| 核心做法 | 每語種一個索引與分析器 | 單索引加 language 欄位與子欄位 | 統一多語言嵌入模型加向量庫 |
| 同語種品質 | 最高 | 高,取決於欄位拆分 | 中,語義強、精確弱 |
| 跨語種召回 | 不支援 | 不支援 | 天然支援,同一語義空間 |
| 儲存與算力 | 隨語種線性增長 | 單索引,欄位膨脹 | 向量索引大,需近似檢索 |
| 主要風險 | 成本線性上升 | 欄位爆炸、打分難統一 | 型號與數字匹配不穩 |
| 適用場景 | 語種少、體量大 | 主力方案,內容同源 | 跨語種與長尾語種兜底 |
路線甲適合語種固定、各語種體量都大的站點,分析器與排序規則可獨立調優,代價是每加一語種就複製整套流程。路線乙是多數跨境站點的選擇:一份索引,language 欄位標識語種,文本按語種拆子欄位各綁分析器,查詢時按語種路由。路線丙用於補位而非替代——它在精確型號上不穩定,仍需關鍵詞路托底。兩路如何配合,可先讀語義搜尋是什麼?向量檢索與關鍵詞檢索全面對比。
三、分詞與分析器:按語種選型
為什麼不能用空格切中文?中文的最小語義單位不靠空格標識,「運動鞋男」會被切成四字詞項,用戶搜「男鞋 運動」時兩側無法對齊。解法有二:詞典分詞(IK、jieba 一類)可控但需維護行業詞庫;CJK 二元切分把連續漢字切成相鄰二元組,召回高、無需詞典,代價是索引膨脹。Elasticsearch 官方文件說明,該過濾器把中日韓文本切成二元組,非 CJK 輸入原樣透傳。
| 語言 / 語系 | 主要難點 | 推薦分析鏈路 | 注意事項 |
|---|---|---|---|
| 中文 | 無空格,詞邊界靠語義 | 詞典分詞或 CJK 二元切分 | 二元切分噪聲大;詞典需維護詞庫 |
| 日文 | 漢字假名混排,無空格 | Kuromoji 分詞加假名歸一 | 漢字、片假名、羅馬字寫法需歸併 |
| 韓文 | 有空格但助詞黏著 | Nori 分詞加助詞去除 | 助詞不去除會拖累長尾召回 |
| 泰文 / 寮國文 / 高棉文 | 無空格,需字典切分 | ICU 分詞器 | 混排英文數字時避免誤切 |
| 德 / 法 / 西 / 俄 / 波蘭 | 屈折與變格豐富 | 語言分析器加 Snowball 詞幹 | 詞幹過度歸併傷精確召回 |
| 阿拉伯語 / 希伯來語 | 從右向左、字母隨位置變形、有變音符號 | 語言分析器加 Unicode 歸一加 ICU folding | 變音符不歸一會把同一詞當兩個詞 |
工程提示:Elasticsearch 官方語言分析器已為阿拉伯語、德語、俄語等數十種語言提供預置配置,含停用詞表與詞幹規則,優先複用;詞幹器歸併較激進,型號與品牌名須加入排除清單;SKU、型號應設為 keyword 欄位,不參與分詞。
四、跨語言檢索:查詢是 A 語言、文件是 B 語言時怎麼辦
查詢翻譯:查詢側即時翻譯後檢索。優點是複用現有索引、改造成本最低;缺點是每次查詢增加一次外部呼叫與延遲,多義詞與行業術語易被譯錯,且錯誤發生在檢索之前,排序階段無法糾偏。
文件翻譯:索引期把文件譯成若干目標語種分別建索引。優點是查詢側零延遲;缺點是索引體積乘以語種數,譯文品質參差會污染欄位,原文一更新就要重翻。
多語言向量對齊:用多語言嵌入模型把不同語言映射到共享語義空間,跨語言召回無需顯式翻譯。LaBSE 組合了遮罩語言建模、翻譯語言建模、雙編碼器翻譯排序與加性間隔 softmax,在 Tatoeba 上於 112 種語言取得 83.7% 的雙語文本檢索準確率,明顯高於此前的 65.5%,並發布覆蓋 109 種以上語言的模型。開源的多語言 E5 系列先在十億級多語言文本對上對比預訓練再微調,提供三種尺寸供權衡。
三條路徑不互斥:向量路做跨語種主召回,各語種關鍵詞路精確保底,兩路融合排序,術語與型號維護保護詞表禁止翻譯。權重調整見搜尋相關性排序怎麼優化?召回加排序雙階段方法。
五、排序側的本地化
貨幣、單位與日期。 價格按站點貨幣儲存並標明是否含稅,排序與區間篩選用同一口徑;尺寸重量按當地習慣換算;日期存在日/月與月/日兩種順序,千分位與小數分隔符也不同。這些應在查詢解析階段歸一。
本地用詞。 同一概念在不同市場叫法不同(football 與 soccer),同義詞表必須按語種單獨維護,不能跨語種複用。日語片假名外來語、西班牙語重音折疊等差異,應在分析階段處理。
地區可用性。 可售區域、庫存、物流時效、清關限制是硬約束,應作為召回階段的過濾器而非扣分項——被區域規則排除的商品,相關性再高也不該出現。
合規與敏感內容。 各市場對禁售品類、內容分級、個人資訊處理要求不同,屏蔽詞表需按地區版本獨立管理並保留審計紀錄。
六、效果度量與驗收:為什麼要分段看
最常見的度量錯誤是只看一個整體數字。若英文流量佔七成,當德語與泰語召回率同時下滑 20% 時,整體指標可能只跌幾個百分點,看起來仍在正常波動內——主力語種的量把小語種的崩塌平均掉了。
| 指標 | 分段維度 | 用途 |
|---|---|---|
| 零結果率 | 語種 × 地區 | 定位分詞或索引缺失 |
| 首位點擊率 | 語種 × 查詢類型 | 判斷排序本地化是否到位 |
| 標註集召回率@K | 語種 | 跨語種橫向比較品質 |
| 回應延遲 P95 | 語種 × 地區 | 發現翻譯或向量服務延遲 |
落地建議:每語種單獨建立標註測試集,覆蓋高頻詞、長尾詞、型號詞與自然語言提問四類,作為變更迴歸基線;看板預設按語種與地區下鑽,並單獨設告警閾值。分語種排查零結果的方法見站內搜尋零結果率怎麼降?8 個可落地策略。
七、落地清單
- 入庫前做語種識別,把 language 欄位寫進索引作路由依據。
- 每語種綁定獨立分析器:中文用二元切分或詞典分詞,無空格語言用 ICU 分詞器。
- 索引前統一做 Unicode 歸一與大小寫折疊,注意土耳其語特殊規則。
- SKU、型號、品牌名設為 keyword 欄位或加入詞幹排除清單。
- 同義詞表按語種單獨維護,禁止跨語種複用。
- 跨語種場景引入向量路,與關鍵詞路融合,術語做翻譯保護。
- 價格、尺寸、日期在查詢解析階段完成單位歸一。
- 可售區域、庫存、清關限制做成召回過濾器,不參與打分。
- 合規屏蔽詞表按地區版本管理,保留變更與審計紀錄。
- 每個語種建立覆蓋四類查詢的標註集,作為變更迴歸基線。
- 看板按語種 × 地區分段,為每個語種設置獨立告警閾值。
統一接入方式可參見通智雲智能搜尋:AI 驅動的站內搜尋解決方案。
常見問題
問:多語言搜尋是不是接一個翻譯 API 就能解決?
答:不能。翻譯只處理表達差異,解決不了分詞、形態變化、字符歸一與語序四類結構問題。無空格語言按空格切詞會失效,屈折語言不做詞幹提取則複數與變格互不召回。翻譯應是方案中的一環,而非全部。
問:應該為每個語種建一個索引,還是合到一個索引裡?
答:語種少且體量都大時,分索引品質最好,可獨立調優,但維運成本隨語種線性增長。語種中等、內容同源的跨境站點更常用單索引加 language 欄位、按語種拆子欄位,把維運收斂到一套索引。
問:中文為什麼不能用空格分詞?
答:中文不靠空格標識詞邊界,按空格切分會把整句當成一個超長詞項,只有原文完整出現才命中。解法有二:詞典分詞可控但需維護詞庫;CJK 二元切分把漢字切成相鄰二元組,召回高但索引膨脹。
問:查詢翻譯和文件翻譯該怎麼選?
答:查詢翻譯改造成本最低,複用現有索引,但每次查詢增加延遲,術語易譯錯且排序階段無法糾偏。文件翻譯查詢側零延遲,但索引體積乘以語種數、原文更新要重翻。多數團隊改用向量對齊做跨語種召回。
問:多語言向量模型能取代關鍵詞檢索嗎?
答:不能。向量模型在跨語種召回上優勢明顯,但對型號、編碼、數字規格區分能力弱,易返回語義相近但規格錯誤的結果。正確做法是向量路做主召回、關鍵詞路保底,兩路融合並對術語做保護。
問:跨境搜尋的效果指標為什麼不能只看整體數字?
答:因為主力語種會稀釋小語種的問題。若英文流量佔七成,德語與泰語召回同時下滑 20%,整體指標可能只跌幾個百分點,看起來仍在波動內。必須按語種與地區分段看零結果率、首位點擊率與召回率。
關於通智雲
通智搜尋面向跨境與多語言檢索場景,提供按語種配置的分析鏈路、關鍵詞與向量雙路召回融合排序,以及貨幣單位歸一、地區可用性過濾與合規屏蔽能力。通智雲(TENGENCE)是 AI 時代的企業增長引擎,專注公域引流獲客與私域轉化成交;核心產品為通智 GEO(GEO + SEO 雙引擎)與通智搜尋。
相關閱讀
資料來源
- Unicode ICU《Text Boundary Analysis》:指出中日泰寮柬緬書寫無空格、詞邊界需詞典支援,支撐「不能用空格切中文與泰文」的論斷。
- Elasticsearch 官方指南《CJK bigram token filter》:說明該過濾器把中日韓文本切成二元組、非 CJK 輸入原樣透傳,支撐中文二元切分方案。
- Elasticsearch 官方外掛文件《ICU Analysis plugin》:外掛用 ICU 函式庫提供亞洲語言分析與 Unicode 歸一、大小寫折疊,支撐泰文等語種用 ICU 分詞器。
- Elasticsearch 官方指南《Language analyzers》:列出阿拉伯語、德語、俄語等預置分析器的停用詞、詞幹與排除詞配置,支撐按語種選用官方分析器。
- arXiv《Language-agnostic BERT Sentence Embedding》(Feng 等,2022):LaBSE 在 Tatoeba 上於 112 種語言取得 83.7% 雙語檢索準確率,支撐多語言向量對齊路線可行。
- arXiv《Multilingual E5 Text Embeddings: A Technical Report》(Wang 等,2024):多語言 E5 先在十億級多語言文本對上對比預訓練再微調,支撐向量模型可按效率與品質權衡。