◎ 祁海峰,鄭 驥,陶光燦,李 偉
(1.人民網輿情數據中心,北京 100026;2.食品安全與營養(貴州)信息科技有限公司,貴州 貴陽 550014)
2008 年三聚氰胺事件事情經過如下:中國傳染病疫情和突發公共衛生事件網絡直報系統(簡稱網絡直報系統)收到甘肅、陜西連續出現嬰兒患有腎結石這種罕見現象的直報事件,如此高的比例違背了醫學規律,顯得很不尋常;此后,疾控中心工作人員發現廣西等地出現有同樣情況;衛生系統開始排查,通過就診記錄發現患兒都有食用三鹿奶粉經歷,對奶粉進行理化分析得知其內部添加了非法添加劑,期間也有良心企業老板主動爆料,通過對供應鏈追蹤發現有生產人員在原奶中添加三聚氰胺,才揭示出問題根源。
將以上事件過程進行抽象概括,得到模式如下:①有不同尋常事件發生,超過隨機發生可能。②在多個地方發現同樣類型事件,得到結論可能有問題出現。③根據可能有問題報道進行深挖與食品相關的因素[1]。④有人員對這個事件可能問題進行爆料。⑤對可能存在問題食品進行專業檢查,科學分析明確事件原因。在以上過程中,前4 個部分都可以以機器為主通過算法實現目的。
通過以上分析,得到解決問題的基本思路,見圖1。

圖1 解決問題基本思路圖
在5 個環節中,可以分為3 個階段:前3 個環節可以認為是發現健康事件階段,第4 個環節判斷健康事件是否與食品相關階段,最后一個環節是人工處理階段。前兩個階段共4 個環節均可以通過機器自動實現,幫助用戶初步篩選出來后,提交給相關人員進行處理。因此,本研究對上述4 個環節詳細進行說明。
根據以上分析,在圖1 解決問題基本思路的基礎上,拓展后得到圖2 食品安全事件風險預警模型頂層設計。除了直報數據外,網上數據也很多,為此,本研究決定直報數據基于規則選擇結合輿情數據利用算法先篩選出與健康相關事件,再利用知識圖譜比對發現不同尋常事件。再通過時間的集中和地理位置多地同時出現從而實現對事件確認,找出這些異常健康事件后,提交給人工進行專門判斷是否可能與食品相關。

圖2 食品安全事件風險預警模型頂層設計圖
在整個解決問題過程中,直報系統和輿情系統兩個數據來源,二者在分離環節分別進行說明,相關環節對二者聯系進行說明,一起處理的環節,只做一個說明。
衛生直報系統包括國家和省兩個級別應用系統平臺,原始和統計數據主要是在省級應用系統平臺,因此識別數據是來自省級系統。原始數據都進行了統計,且有描述。可通過設定一些包括閾值的規則來判斷哪些是值得關注的健康安全事件。
對于上報事件,主要是出現在疾病或者癥狀描述中不規范的用詞,需要將“非標準表述”映射到“標準表述”,這個過程需要一個基于語義的同義詞庫。
此過程是一個文本對齊,相似度計算的過程。相似度計算在經典的信息檢索系統中是基于匹配的,缺少利用詞匯之間的“關系”。可利用word2vec 使用大量數據,對上下文信息進行訓練,將詞匯映射到詞向量空間,“關系”就對應于詞向量距離,利用詞匯之間的距離進行檢索。
根據以上分析,從輿情數據中挖掘發現特殊事件。方法是通過對文本進行分類,找到屬于健康類別的文本。
文本分類一般分為分詞、去停用詞、抽取特征和文本分類4 個環節。主要有基于傳統機器學習和基于深度學習的文本分類兩類方法。
基于傳統機器學習的文本分類主要有樸素貝葉斯算法、神經網絡算法、KNN 算法及SVM 算法對Web文本進行分類,要經歷完全4個環節。機器學習算法中,神經網絡算法的準確度優于其他算法。都是有監督學習方法。分詞、去停用詞使用jieba 工具。
通過深度學習進行的文本分類,利用神經網絡去學習文本特征,自動進行分類,如TextRNN + Attentio、TextRCNN(TextRNN + CNN)、bert 等方法。
對于篩選出的健康相關事件,進一步判斷是否屬于特殊/異常事件,判斷標準為:①主體和客體的組合是否不合常規,如嬰兒得膽結石。②主體屬性值是否超過常規。如果滿足兩個條件中的一個,即可初步判定這個事件為特殊事件[2]。而這個過程可以通過知識圖譜的建構和比對來實現。異常健康事件初步發現流程,見圖3。

圖3 異常健康事件初步發現圖
常見健康事件中,一般可以歸結為一個群體有不常見癥狀出現,又可以分為兩種情況:①主體和客體組合特殊,如嬰兒得了腎結石。②人群一致出現一種不好狀態,如同一批次旅行者出現中毒狀態。
案例:可以歸結為有相同行為人群一致出現一種不好狀態。主體是人群,屬性是健康狀態,屬性值是出現不好的健康狀態或者疾病。先對文件提取摘要,然后對其中進行核心詞、關鍵詞提取,如果關鍵詞中具備有描述人、疾病、身體狀況不好等情況,通過語句層面的語義理解判斷語句中主語是否是人,謂語部分是出現/發生了,賓語是疾病或者描述身體不好癥狀情況。如果符合就可以認為是出現了健康事件。
在確定問題后,對此問題是否在其他地方也有出現,不同數據來源可以進行互補比對,如基于地理空間、時間線,直報數據和輿情數據對同一類事件的報道。
如果類似事件在全國多個地方出現,而且事件主要出現在近一年時間內,則增加了這類事件是異常事件可能性。如果在直報系統和輿情系統中都出現了對同類事件的報道,尤其是涉事主體分布更廣情況下,則更可以判斷這個事件為異常健康事件。
通過對行為一致性判定,可以判定不同地點、不同時間中發生同樣事情,根據求同法,基本可以判定這是一個需要引起重視的異常健康事件[3]。
對于異常健康事件,可將報道中的文本重新提取出來,尋找事件中是否有與食品相關事情發生。如食品品牌、食用時間等。利用這些特征通過聚類分析方法尋找同類項。增加了甄別出的異常健康事件屬于食品安全類別證據,從而可以初步判定是一個食品安全事件[4]。
直報數據或者輿情數據中關于有關食物相關的特征抽取可采用有注意力機制的長短期記憶網絡(LSTM)來進行特征學習,利用同義詞詞典通過計算詞向量距離得到相似事件,從而判定是否與食品有關。
如果判斷出的事件是與食品有關,挑選出來推送到人工處做進一步處理。
基于實際工作中食品安全事件發生的一些情況進行歸納和總結,形成相應研究路線和解決方案有著合理基礎,技術實現上方法和路徑是成熟的。雖然因為數據原因暫時沒有進行實證研究,但是實現邏輯是自洽的,通過異常事件識別并核對是否與食品相關從而實現通過機器預判食品安全事件方法是可行的。希望在為相關部門做規劃時,能得到數據進行驗證分析,在合適情況下推進到實際工作中。