實現一個大規模中文知識圖譜主要有兩部分,以“美人魚的導演是誰”爲例:
1. 建知識庫(KG)。
工程上,解析半結構化網頁 >> Open IE。於是爬百度百科,解析網頁,實體對齊。知識庫可以用RDF表示:三元組(美人魚,導演,周星馳),和對應的schema(movie, movie_director, person)。存儲方式有多種:Neo4j/MySQL/自定義。抓取的網站越多,歧義消除/指代消解/知識融合之類的事越多,找質量好的網站可以省很多事。半結構化的網頁到結構化的數據是一大坑。
2. 問答系統(KBQA)。
除了圖關係挖掘外,主要的通用的應用場景。方法精度上,Pattern >> Machine Learning。語義分析“美人魚的導演是誰” ,得到句法樹,生成檢索語句(與對應的存儲方式對應:SparQL-Neo4j / MySQL-SQL),檢索知識庫得到結果 “周星馳”。
PS:
- 知識圖譜 發paper和工程實現,着重點完全不同,可以認爲是兩個項目。
- 數據質量是個大坑,會花掉絕大部分時間。
- 目前不實用。找不到像搜索/推薦類似的大場景,期待神人出現。