最近看到 Tripadvisor 搞了一個新功能,說真的,我覺得蠻酷的。他們居然用 AI 去讀他們那堆跟山一樣高的旅遊論壇文章,然後自動整理出一個問答集(FAQ)。
你知道的,那種旅遊論壇,像是背包客棧,或者我們台灣人愛用的 PTT 日旅版、Dcard 旅遊版,裡面真的是寶藏,一堆在地人才知道的巷子內美食、超省錢的交通方法...但缺點就是,資訊有夠亂。一篇文章可能蓋了幾百樓,你得自己慢慢爬,爬到眼花都還不一定找到答案。有時候一篇問「東京交通」,另一篇問「東京地鐵怎麼搭」,內容可能差不多,但就散落在各處。
Tripadvisor 顯然也知道這個痛點。他們就想,與其讓使用者自己撈資料撈到死,不如讓 AI 來做這件苦差事。這想法不新,但他們實際做下去遇到的鳥事跟解決方法,我覺得才是真正有趣的地方。今天就來聊聊他們是怎麼把這件事搞定的。
TL;DR,一句話說完他們幹了啥
簡單講,他們就是訓練一個 AI,讓它去「閱讀」論壇上成千上萬篇的英文貼文,找出大家最常問的問題(比如「從機場到市區最快的方法?」),然後在所有回覆中,找出最有用、最中肯的答案,最後再把這些答案「總結」成一篇好讀的內容。基本上就是幫你請了一個超有耐心的助理,24 小時幫你爬文做功課。
我自己是覺得,這跟我們在台灣習慣的模式有點像又有點不一樣。我們很依賴 PTT 或 Dcard 上的「鄉民智慧」,但那些資訊都是被動的,要靠自己搜、自己整理。Tripadvisor 這招等於是把「鄉民智慧」主動整理好,直接端到你面前。這點跟美國那邊的官方資訊比較豐富,但論壇討論相對分散的情況可能有點關係,所以他們會想用 AI 來整合。
所以,論壇內容真的有這麼好用嗎?
當然啊。官方推薦的景點或餐廳,通常都很安全、很制式。但論壇不一樣,那裡充滿了「真人經驗」。
比如說,你可能會在評論區看到「這家餐廳很好吃」。但在論壇裡,你會看到更深入的對話,像是:「這家餐廳記得要點A餐,不要點B餐,因為B餐的肉超柴」、「要去的話最好下午三點去,不然排隊要排一小時」、「對了,老闆臉很臭但人很好,不要被他嚇到」。
你看,這種細節和人情味,是一般評論給不了的。Tripadvisor 自己內部調查也發現,論壇內容是他們網站上第二受歡迎的資訊來源,只輸給那種「興趣探索」的大分類。這證明大家真的很愛看這種真實的、帶有對話感的資訊。
他們以前也有 FAQ,但那是員工手動寫的,更新慢、內容也有限,根本跟不上真實世界的變化。所以,用 AI 來自動化處理這些論壇裡的「活水」,就變得很合理。
怎麼做到的?這才是重頭戲
好,概念很美好,但執行起來就是一連串的挑戰。他們基本上要解決三個大問題:
- 怎麼從幾百萬篇貼文中,找出「對的問題」?
- 怎麼幫這些問題,配對到「對的答案」?
- 怎麼確保 AI 總結出來的內容,沒有亂講話,忠於原文?
接下來就是他們解任務的過程,我覺得最精彩的就在這裡。
第一步:把相似的問題「聚」在一起
他們發現,不管去哪個城市,遊客問的問題類型其實都差不多。問紐約的,會問博物館怎麼逛;問巴黎的,也會問博物館怎麼逛。所以第一步,就是要讓電腦學會把這些「問法不同,但意思一樣」的問題歸類在一起。
技術上,他們用了一個叫做 `bge-base-en-v1.5` 的 embedding model,這東西你可以想像成一個「語意翻譯機」,它會把每一篇貼文的標題和第一段內文,轉換成一串電腦看得懂的數字(向量)。意思越接近的句子,它們的數字表示也會越像。
有了這些數字後,下一個挑戰就是要「分群」(Clustering)。問題來了,每個城市的論壇大小差超多。巴黎的論壇可能可以分出幾千群問題,但某個小鎮的論壇可能只有十幾群。他們試了幾個現成的演算法,結果都碰壁了。
這部分我覺得超有共鳴,有時候你以為用現成的工具套一套就好,結果發現跟你的資料八字不合。他們就是這樣。
| 演算法 | 他們遇到的問題 | 我的OS(碎碎念) |
|---|---|---|
| K-means | 要求你必須「事先」告訴它要分成幾群。但他們根本不可能知道每個城市該分幾群啊。 | 這超不實際的。就像叫你整理房間,但要你先說出總共有幾類雜物,鬼才知道啊! |
| HDBScan | 試了之後,分出來的群組太少,很多有用的問題都被當成雜訊忽略了。 | 這個演算法有點太嚴格了,像個潔癖。寧可錯殺一百,也不願放過一個...不夠像的。結果就是一堆寶藏被丟掉。 |
| 自己開發的演算法 | 用一種「貪婪」的策略,動態決定一個新問題該加入現有群組,還是自己成立一個新群組。 | 最後還是得自己來,哈哈。這方法聰明多了,比較有彈性,像在玩分組遊戲,先找最像的湊一隊,然後慢慢擴大。 |
所以他們只好撩起袖子自己寫了一個。雖然有風險,但結果證明這才是最適合他們資料特性的方法。這真的給人一個啟示:有時候,最適合的工具,是你為了解決自己問題而打造的那個。
第二步:從一堆問題中,提煉出一個「代表性問題」
好,現在問題都分好群了。下一關是,要為每一群問題,產生一個簡潔、好懂的「總標題」。
例如,有一群問題可能包含了:「第一次去紐約要注意什麼?」、「紐約新手攻略」、「菜鳥遊紐約請益」。AI 要能看懂這一堆,然後總結出一個像「給初次造訪紐約者的建議」這樣一個標準問句。
他們用 GPT-4 Turbo 來做這件事。但他們很快就發現,單純丟給 AI 做,品質很不穩定。有時候產生的問題太籠統(「去那裡可以玩什麼?」),有時候又太 spezifisch...呃,太具體(「七月在倫敦哪裡有泰勒絲的演唱會?」這種有時效性的就不行)。
所以,他們導入了「人在環路」(human-in-the-loop)的審核流程。說白了就是,AI 寫完,真人要去看,然後給回饋,慢慢「教」AI 什麼才是好的問題。最後他們總結出五個標準:
- 平衡感:不能太抽象,也不能太具體,要剛好反映那個地點的特色。
- 永恆性:不能問有時效性的問題,像是某個特定日期的活動。
- 單一主題:一個問題只問一件事。不要問「住宿跟美食推薦?」,要拆成兩個問題。
- 獨特性:每個問題都要不一樣,不要重複。
- 簡潔:長度最好在 5 到 15 個字之間,清楚明瞭。
靠著這套標準跟真人回饋,他們才把問題產生系統給調教好。這也說明了,現在的 AI 還不是萬能丹,還是很需要人類的智慧去引導。
向量資料庫如何快速查找相關資訊" width="800" height="480" loading="lazy" decoding="async" style="max-width:95%;height:auto;cursor:pointer" class="no_autoresize">
第三步:大海撈針,找出最好的答案
有了漂亮的問題,現在要找答案了。這一步更像大海撈針。
他們把論壇裡「所有的」貼文都丟進去做 embedding(就是前面說的,轉成電腦懂的數字),然後存進一個叫做 Qdrant 的向量資料庫。這個資料庫的強項就是,當你丟一個問題進去,它能「光速」找出語意上最相關的那些貼文。
這裡他們又玩了一個很聰明的花招,叫做「語意分塊」(semantic chunking)。以前的做法是把一整篇貼文當一個單位,但一篇貼文裡可能講了很多不相干的事。他們的新方法是,先把貼文拆成一個個句子,然後把意思相近的句子重新組合成一個「語塊」。
這樣做有什麼好處?他們說,這樣 embeddings 的總量減少了 50%!成本直接砍半,而且搜尋效率還更高。這真的超聰明的,不是無腦地把所有東西都丟進去,而是先做一次聰明的預處理。
找到相關的答案片段後,也不是直接丟給 GPT 叫它總結。因為論壇對話有上下文,有人可能是在附和前一個人,有人可能是在反駁。如果只看單一回覆,很容易搞錯意思。所以,他們會把找到的答案片段,連同它「前後的幾篇貼文」一起餵給 GPT。這樣 AI 才能更完整地理解對話脈絡,做出更準確的總結。
老實說,這一步一步看下來,真的覺得他們很細心。每個環節都考慮到可能出錯的地方,然後用很聰明的方法去避免。
但是,我怎麼知道 AI 沒亂掰?
這大概是所有人最關心的問題。AI 總結的內容,要怎麼確保它真的反映了原始貼文的意思,而不是 AI 自己「腦補」的?
他們一開始試過一個很直覺的方法:叫 GPT 在總結答案的「同時」,也列出它參考了哪些原始句子。結果,大失敗。
AI 沒辦法一心二用。叫它同時做兩件事,結果就是總結的品質變差,然後它挑出來的參考句子也亂七八糟,根本不準。
所以他們又換了一條路,這個方法就穩定多了:
- 先讓 GPT 專心工作,只根據撈出來的資料,產生一篇總結好的答案。
- 然後,把這篇「AI寫的答案」和「原始的論壇貼文」都拆成獨立的句子。
- 再來,用計算「語意相似度」的方式,去比對「AI寫的每一句話」跟「原始貼文的每一句話」有多像。
- 最後,找出相似度分數最高的幾句原始貼文,作為這篇 AI 答案的「證據」或「來源」。
這樣一來,使用者不僅能看到簡潔的 AI 總結,下面還會附上「See related posts」(查看相關貼文)的連結,點進去就能看到那些提供資訊的原始討論串。透明度直接拉滿,也讓那些貢獻內容的網友得到應有的credit。這招真的很漂亮。
所以,這東西到底有沒有用?
從他們的測試結果來看,效果非常顯著。這個「Travel Advice」區塊不僅讓他們的網站在 SEO 上表現更好(畢竟整理好的內容更討 Google 喜歡),使用者互動也大幅提升。
他們說,有超過七成的使用者回饋說這個功能很有幫助。這數字很驚人啊,代表大家真的很需要這種被整理過的、有真人經驗背書的旅遊建議。
目前這個功能還只顯示了一小部分他們產生的問題,但他們未來打算更深度地整合到論壇本身,甚至把這些整理好的資料,應用到他們的 AI 旅行助理,或是跟其他平台合作。像是他們最近就跟 Perplexity 合作,等於是把 Tripadvisor 上的真人經驗,輸出到其他對話式搜尋引擎上。
想想看,未來你問 AI 去哪玩,它給你的可能不只是冷冰冰的資訊,而是直接引用論壇上某個玩家說的「那家店的炸雞配啤酒是一絕」。這體驗就完全不一樣了。
說到底,這次 Tripadvisor 的專案,我覺得最值得學習的,不是他們用了多炫的 AI 模型,而是他們解決問題的整個思路。從發現問題、嘗試現有工具失敗、自己動手打造解決方案,到最後對品質和透明度的堅持,每一步都走的很紮實。這才是真正把技術用在刀口上的感覺吧。
換你聊聊
如果今天你可以指定一個 AI,去幫你把某個網路論壇或社群(像是 PTT、Dcard、Reddit 的某個版、或任何你常逛的論壇)的所有文章都整理成一份完美的 FAQ,你會選擇哪個?為什麼?在下面留言分享你的想法吧!
