當問答成為一種新聞資訊平台—「武漢肺炎知識家」實作

簡信昌
READr
Published in
5 min readFeb 27, 2020

其實在新聞的呈現上,問答並不是什麼特殊的形式。例如以問答的訪談方式嘗試營造出現場感,或看起來較接近現場一問一答的氣氛。那是一種記者帶著讀者去釐清問題的路徑,而我們也循著這樣的脈絡去了解報導的被容。

可是像最近最引人關注的 COVID-19(新冠肺炎,慣稱「武漢肺炎」),每天都有最新的進展,而且延續的時間越長,人家就越希望了解更多相關的資訊以及知識。防疫指揮中心幾乎每天至少都有一場記者會,而隨著疫情的變化,每天都會產生出更多問題。那麼有什麼辦法可以讓讀者用最簡單的方式去理解跟接收最新的資訊呢?於是我們就想到了用一種知識平台的方式來讓讀者快速取得資訊,也就是後來成形的「武漢肺炎知識家」。

當每天都可能產生幾十個新的問題,或是解答最新疫情產生的疑問,應該很容易可以理解用這種問答方式的作法,但今天還是來談談武漢肺炎知識家的實作。

當然搜尋是最簡單的方式,所以我們第一直覺也就是想用現有的搜尋引擎來做為問答的引擎。但是搜尋要用什麼樣的形式進行呢?這就跟使用者的情境有比較密切的關係了。

我們原來想像的情境比較像是「問答」,而非「搜尋」。也就是想像使用者會用問句的方式來代達他們的問題。例如「武漢肺炎是什麼」,「口罩去哪裡買」等等。這樣的問句方式,用一般的搜尋是比較不容易準確搜尋的,因為我們會先取得關鍵字,然後用關鍵字去搜尋,用個簡單的例子來看:「口罩去哪裡買」跟「口罩數量足夠嗎」兩個問題取得最重要的關鍵字可能是「口罩」,但常常就會忽略掉問題的語境。

因為這個想法,所以原來想用「模糊搜尋」來解決這個問題,但是以我們使用的模組來看,好像只是讓搜尋的範圍更大(有時候就是比對更不準確)之外,附加的好處似乎不太明顯。

於是我們就嘗試回到正常的關鍵字搜尋,但是嘗試不同的加權方式。當然主要還是讓標題(也就是問題本身)跟標籤(另一個用途也是分類)的加權有些不同的分數。這樣精準的比對在這裡的使用狀況(問題跟答案都非常明確)來看,就比模糊比對好了許多。

但有趣的是我們也嘗試了另一個透過機器學習的方式,也就是很多人會拿來做為自動問答機器人後端系統的 dialogflow。這個服務的運作方式大致上就是讓使用者提供一堆語境(也就是以前說的語料庫),提供的內容大概就是一堆問題跟相關答案的樣本,以及標示(label)這些問題中有哪些詞是可以被機器拿來學習的(也就是有某些特別意義)。舉個例子,「武漢肺炎今天最新疫情」,跟「 COVID 19 的最新消息」也許對於機器人來說,他們就要知道這兩個問題是很接近的,可以提供給使用者類似的答案。但是如果用關鍵字來解析,這兩個問題本身可以看得出來相同的部分可能只有「最新」,但沒辦法知道武漢肺炎其實後來被 WHO 稱為 COVID 19,所以不一定可以比對出一樣的結果。

就原理上來說,dialogflow 在於使用者提出完整的問句時,回答的效果好像應該比較好。但實作上來看,要有好的機器學習結果,還是要有好的訓練素材。因此我們本來維護的那兩百題(還在持續增加中)左右的問答,就會需要提供每個問題更多不同的問法,讓程式可以去學習使用者實際問出問題時,他應該要被歸類到哪裡。並且要在每個我們想出的問法中做好關鍵字的標注。因此要維持好的問答品質,提供好的訓練素材是非常重要的。

使用 dialogflow

這兩天我們採用搜尋方式的解決方案正在線上服務,而我自己則是在嘗試 dialogflow 的解決方案。在素材看來沒那麼完整的情況下,或是使用者單純只用關鍵字的方式搜尋時,透過 dialogflow 的機器學習效果好像沒那麼好。而且以每天增加那麼多問題數量的情況下,維護成本也是很高,所以暫時可能還是先維持搜尋的方式。

而在同時,我們也把搜尋引擎接上了 telegram,簡單製作了一個 telegram bot 讓最近跳槽到 telegram 的朋友可以輕鬆加 bot 的帳號,就可以隨時追蹤最新消息。 http://t.me/readrtw_bot

--

--

簡信昌
READr
Editor for

工程師 / 攝影師 / 資料新聞 各種興趣,目前擔任資料新聞媒體《READr》總編輯。對於新聞媒體未來想像充滿興趣,也希望透過技術改變新聞媒體的為來樣貌。同時也思考著如何以鏡頭與藝術創作面對自己的人生。