在2015~2022左右,電商網站,如果想要處理產品搜尋、同音字與錯別字時,Elasticsearch (ES) 是市場上最主流且最常見的解決方案。
他有很多搜尋引擎的優勢,Inverted Index與文字分析,內建完善的 Tokenizer 與 Filter 機制,能整合中文斷詞(如 IK Analyzer、Jieba),有拼音轉換插件(如 elasticsearch-analysis-pinyin),將同音字轉為拼音進行比對。
而且,模糊比對(Fuzzy Query):原生支援編輯距離演算法,可處理英文字母錯字或輸入長度的微小差異。(中文可能要有其他方式)
然而,LLM的出現可以讓這件事情變得簡單。
因為可以要求LLM (透過API/Prompt)來直理解輸入的詞彙。即時處理最近才出現在網路的詞(Gemini API可以做web search),繁簡轉換可同時進行。
例如,一個典型的網路電商,要處理使用者輸入搜尋「哈利波特」非常簡單。
但是要處理「哈力波ㄊㄜ」這樣混著不同錯誤情況的,在elasticsearch不是做不到,而是所需要設定,花的心力,維護的成本是相當高的。
然而透過LLM檢視重建查詢字串,卻非常簡單,只有一個API加上不到300token的prompt。以Gemini來說,一百萬次的這樣查詢重建也不到400台幣,而且對於系統架構來說非常簡單,沒有各種維護的負擔。
當然,LLM在很多時候的成本是相當高的,也不是用來取代elasticsearch,但是查詢字串重構,是個非常容易實作,效果又很不錯的做法,對於中小型電商來說,成本也很低啊~
沒有留言:
張貼留言
感謝你的留言,但我不是常常會看留言,也歡迎email與我聯絡: consultant.3rd@gmail.com