因果关系固定搭配知识库项目CausalCollocation
CausalKnowledgeBase
CausalKnowledgeBase, causal knowledge base including causal pairs extracted from web text using the methods like PMI, Collocation。基于網絡文本的因果知識庫項目,采用PMI,搭配抽取等方法,形成因果對頻繁集。
項目地址:https://github.com/liuhuanyong/CausalCollocation
項目介紹
因果關系是語言邏輯關系中重要的組成部分,通過挖掘因果關系,可以在多個方向上產生作用,如對詞作embedding,基于因果關系的預測等。目前,學術界中關于因果關系的抽取主要分成實體因果關系抽取和事件因果關系抽取,兩者分別以實體和事件作為因果單元,實體大多為名詞,事件大多為單個動詞,這方面的工作可以參考semeval以及causalbank的相關工作。
因果單元的確定是因果關系抽取中的根本問題,不同的因果單元所能應用的場景會有著較大的差異。名詞性的實體單元事件性太差,單一動詞性單元語義過于抽象,在實際應用中會帶來很多的噪聲。
在這方面,我主要完成了以下工作:
1)CausalityEventExtraction項目, https://github.com/liuhuanyong/CausalityEventExtraction ,該項目從語言學的角度,給出了因果關系模式集,基于該模式集,可以初步抽取出因果描述單元,可以作為因果事件抽取的前期工作。
2)EventPredictBasedOnEG項目, https://github.com/liuhuanyong/EventPredictBasedOnEG ,該項目從建成因果事理圖譜的基礎上,給出了一個因果查詢api,用于未來事件預測的工作,可作為一個應用環節。
然而,以上兩個項目都是從寬泛意義上的事件上來做的,在粒度上介于詞語句子之間,泛化能力較差,而且在事件的概率轉移上,一直無法得到很好的解決。我在想,是否能夠講搭配抽取的方法引入到因果知識庫的構建當中,因為在之前,看到一個在英文因果對抽取的工作(http://www.cs.sjtu.edu.cn/~kzhu/papers/kzhu-copa.pdf), 該工作從Bing網頁快照中提取的可能的因果關系對,形成7千萬的因果關系對,每一行有三個元素,分別為原因,結果和頻率。從下載數據來看,數據很亂,暫時想不出來有什么工業用處。因此,我想到因果頻繁項集的概念,能否根據因果對的共現信息,通過計算因果對之間的搭配,從而形成以事件性詞語(名詞、動詞、形容詞)的因果搭配知識庫。
項目的技術路線
1、通過文本采集的方法,采集大規模文本數據集
2、通過執行CausalityEventExtraction項目項目,得到大規模的因果描述句
3、基于CausalityEventExtraction的結果,分別對原因描述部分和結果描述部分進行分詞,詞性標注,命名實體識別等預處理操作
4、對原因描述部分和結果描述部分進行詞性過濾處理,僅保留分詞結果中的名詞、動詞、形容詞,形成原因詞列表和結果詞列表
5、以原因詞列表為中心,統計該詞語結果詞列表中的詞的pmi值,pmi值的計算公式:log(p(x,y)/(p(x)*p(y)))
6、按照pmi值高低,對每個原因詞的因果搭配信息寫入文件,設置topn=200,只保留每個詞的前200個頻繁結果詞。
項目腳本
結果文件為:data/causal_collocation.json
項目運行結果
1、搭配文件:pmi_word有3項內容構成,分別為結果詞,結果詞性以及結果詞語原因詞之間的pmi值,用于衡量兩者之間關聯強度。
{ "_id" : ObjectId("5cbd878b831b975b8da3d6cc"), "word" : "自殺", "word_tag" : "v", "pmi_words" : [ [ "留醫", "v", 21.868029795027585 ], [ "苦悶", "a", 19.546101700140223 ], [ "干什么", "v", 19.28306729430643 ], [ "楊進", "v", 19.28306729430643 ], [ "掀開", "v", 19.259220552352062 ], [ "抒發", "v", 18.546101700140223 ], [ "口誅筆伐", "i", 18.365529454498404 ], [ "同情", "v", 18.28306729430643 ], [ "搶救", "v", 18.115467345810362 ], [ "思索", "v", 17.898403444071104 ], [ "減肥", "v", 17.67163258222408 ], [ "想起", "v", 17.452992295748743 ], [ "贊揚", "v", 17.28306729430643 ] }2、因果搭配舉例:
| 熬夜_v | 昏倒_v;交感_v;干澀_a;脫發_v;提神_v;上火_v;超負荷_b;泌尿_v;發燒_v;有心_v;猝死_v;發作_v;睡眠_v;慢性_b;不適_a;脫落_v;誘發_v;急性_b;點燃_v;困擾_v;比賽_v;突發_v;不好_a;感染_v;預防_v;調試_v;造成_v;消耗_v;到位_v;賺錢_v;容易_a;推廣_v;健康_a;及時_a;準備_v;處于_v;成為_v;嚴重_a;工作_v;可以_v;達到_v;出現_v;減少_v;影響_v;存在_v |
| 出軌_v | 失戀_v;召喚_v;停播_v;原諒_v;出軌_v;籠絡_v;非常_b;起火_v;不知_v;叫停_v;厲害_a;緊急_a;攻擊_v;爆炸_v;受傷_v;比如_v;知道_v;造成_v;制定_v;影視_b;擔心_v;生活_v;死亡_v;有利于_v;設計_v;一般_a;合作_v;選擇_v;沒有_v;維持_v;下降_v;反彈_v;面臨_v;可以_v |
| 戀愛_v | 嘆老_v;談婚_v;論嫁_v;求婚_v;戀愛_v;浪漫_a;打斷_v;聊天_v;結婚_v;誘導_v;談話_v;掌控_v;認真_a;拍攝_v;為由_v;感染_v;吸收_v;下去_v;上網_v;可謂_v;出來_v;擔心_v;涌入_v;龐大_a;就是_v;下來_v;放松_v;賺錢_v;鼓勵_v;采取_v;私募_v;影視_b;創業_v;失敗_v;應該_v;所有_b;發生_v;開始_v;需要_v;獲得_v;投資_v |
| 挫敗_v | 怒斥_v;迷惘_a;渺茫_a;無情_a;出擊_v;煎熬_v;簡易_a;源于_v;渴望_v;擇機_v;自殺_v;阻礙_v;旅行_v;做好_v;付費_v;中小_b;興起_v;感到_v;爆炸_v;緊急_a;鞏固_v;掛牌_v;打破_v;獲取_v;主動_a;壟斷_v;并購_v;采取_v;成功_a;民營_b;面臨_v;準備_v;開始_v;迅速_a;下行_v;虧損_v;調整_v;達到_v;提高_v |
| 沉迷_v | 掛科_v;有的視_v;自閉_v;會考_v;斥罵_v;威逼_v;冷漠_a;勸退_v;利誘_v;慘敗_v;找上門_v;及格_v;牽動_v;消解_v;沉迷_v;賭博_v;象征_v;疲勞_a;網游_v;批評_v;耽誤_v;炒股_v;思考_v;虛擬_v;危險_a;學習_v;遭到_v;娛樂_v;聯系_v;真實_a;面對_v;分享_v;大額_b;防止_v;教育_v;擔憂_v;全面_a;缺乏_v;喪失_v;安全_a;炒作_v;貿易_v;轉移_v;陷入_v;健康_a;巨大_a;連續_a;造成_v;保證_v;可能_v;損失_v;保持_v;帶來_v;調整_v;虧損_v;出現_v;存在_v;持續_v;經營_v;下降_v |
| 肥胖_a | 順手作_v;返流_v;發胖_v;肥胖_a;補腦_v;攝取_v;疼痛_a;減肥_v;常見_a;淪為_v;慢性_b;臨床_v;治療_v;危害_v;發達國家_i;集聚_v;診斷_v;運動_v;迫切_a;蔓延_v;培養_v;現有_v;限制_v;改善_v;增多_v;一定_b;體現_v;研究_v;配套_v;容易_a;有利于_v;一般_a;健康_a;迅速_a;高于_v;帶來_v;導致_v;達到_v;需要_v;管理_v;發生_v;減少_v;出現_v |
| 賭博_v | 妻離子散_i;涉惡_v;反賭_v;金立_v;參賭_v;賭博_v;清查_v;失范_v;涉黑_v;沉迷_v;賤賣_v;自殺_v;貪污_v;抹黑_v;受賄_v;不能自拔_i;洗錢_v;快樂_a;散發_v;乃是_v;屹立_v;逃稅_v;斬斷_v;離婚_v;并入_v;好像_v;拖欠_v;不知不覺_i;外出_v;整治_v;企圖_v;滋生_v;對賭_v;暴富_v;犯罪_v;偵查_v;不明_v;破滅_v;稀釋_v;最高_a;發動_v;禁止_v;合伙_v;在于_v;流向_v;意味著_v;帶有_v;削弱_v;混亂_a;失去_v;扶貧_v;破產_v;主動_a;證券化_v;必要_a;崛起_v;走向_v;遭到_v;涉及_v;斷裂_v;遵循_v;來臨_v;立案_v;緩解_v;瘋狂_a;從事_v;連續_a;失敗_v;開放_v;規避_v;損害_v;監測_v;充滿_v;傾向_v;約定_v;想象_v;出來_v;合法_a;可能_v;加大_v;困難_a;享受_v;民事_b;明確_a;保障_v;萎縮_v;監管_v;下跌_v;陷入_v;簽訂_v;極大_a;期待_v;達到_v;嚴重_a;穩定_a;出現_v;可以_v;形成_v;獲得_v;吸引_v |
| 打架_v | 挑事_v;調皮_a;搶客_v;指向_v;同一個_b;罷工_v;頭疼_a;誤解_v;實屬_v;熱鬧_a;擾亂_v;同樣_b;批評_v;罕見_a;超預期_b;把握_v;合并_v;圍繞_v;沖突_v;絕對_a;基本_a;矛盾_a;面對_v;爭奪_v;劇烈_a;制定_v;國產_b;監管_v;擔心_v;強烈_a;屬于_v;控制_v;約定_v;損失_v;無法_v;存在_v;持續_v;出現_v |
| 搶劫_v | 春假_v;閑逛_v;身故_v;搶劫_v;逮捕_v;作案_v;謀利_v;取現_v;詐騙_v;非正常_b;追究_v;死亡_v;還是_v;出去_v;知道_v;頻繁_a;遭遇_v;缺乏_v;嚴重_a;不同_a;帶來_v;造成_v;損失_v |
| 槍擊_v | 發誓_v;不幸_a;喪生_v;遇難_v;返回_v;恐慌_a;受傷_v;死亡_v;消退_v;傷亡_v;前往_v;損壞_v;犯罪_v;爆炸_v;參加_v;沖突_v;延誤_v;修改_v;傾向_v;執行_v;凸顯_v;徹底_a;擔心_v;幫助_v;能否_v;受損_v;上升_v;取消_v;受到_v;重大_a;回落_v;進入_v;完成_v;明顯_a |
| 強奸_v | 刑拘_v;搶劫_v;命名_v;身亡_v;對待_v;撤銷_v;尷尬_a;真正_b;頻繁_a;遭遇_v;處罰_v;研發_v;受到_v |
| 貪污_v | 違紀_v;毀謗_v;撤職_v;非同尋常_i;走后門_i;無助_a;調離_v;蝦夷_v;降職_v;揭發_v;檢控_v;公訴_v;虧空_v;無辜_a;違法_v;空穴來風_i;瀆職_v;岌岌可危_i;受賄_v;露出_v;指控_v;舞弊_v;掏空_v;造成_v;犯罪_v;民辦_b;反腐_v;舉報_v;嚴厲_a;困難重重_i;抵抗_v;查詢_v;腐敗_a;巨額_b;挪用_v;代表_v;涉案_v;報道_v;撤銷_v;叫停_v;籌措_v;傾斜_v;實踐_v;壟斷_v;低下_a;臨時_b;混改_v;關鍵_a;思考_v;教育_v;普通_a;查封_v;愿意_v;庫存_v;公共_b;自主_v;調查_v;中小_b;變更_v;解決_v;輸送_v;流失_v;遭到_v;國有_v;并非_v;上市_v;要求_v;對外_v;購買_v;不及_v;獲利_v;嚴重_a;處罰_v;積極_a;重視_v;虧損_v;負面_b;全面_a;建設_v;監管_v;改革_v;研發_v;構成_v;加大_v;工作_v;競爭_v;成為_v;減少_v;重大_a;影響_v;出現_v;一定_b;存在_v;下降_v |
| 增持_v | 匯金_i;反跌_v;增次_v;定投式_b;壽持_v;續增_v;舉牌股_v;持工_v;阿合計_v;五牛亥尊_i;停手_v;知曉其_v;如愿以償_i;領薪_v;盡心_a;走好_v;安邦系_v;牽強_i;狂風暴雨_i;富立_v;監發_v;拔蔥_v;張開_v;吃官司_v;凸匹_v;擠出_v;遭疑_v;居首_v;追貨_v;高歌猛進_v;圍剿_v;炒新_v;懸疑_v;免予_v;讓位_v;形不成_v;初始投資_v;雄起_v;保發_v;黯然失色_i;謀取_v;保增_v;消停_v;染指_v;增持_v;征詢_v;邀約_v;久違_v;在任_v;詳式_b;迷信_v;匪夷所思_i;分布_v;狙擊_v;吐槽_v;可想而知_i;更勝一籌_i;添磚加瓦_i;歐債_v;緊逼_v;跌動_v;躍居_v;易主_v;潛水_v;留任_v;改正_v;斥資_v;普漲_v;力保_v;紓解_v;抽資_v;嘲諷_v;穩定_v;捍衛_v;限定_v;議論_v;開山_v;等值_v;出于_v;坐實_v;更替_v;平息_v;托底_a;力挺_v;浮盈_v;好奇_a;自救_v;強平_v;首創_v;擬以_v;井噴_v;掩護_v;趨同_v;責令_v;順延_v;實施_v;穩住_v;典型_a;熱捧_v;瀕臨_v |
總結
1、本項目從名詞、動詞、形容詞作為事件單元出發,使用pmi和高頻共現的方式,完成了因果頻繁集的提取工作,形成頻繁因果搭配知識庫。
2、頻繁因果搭配知識庫能夠用于關鍵詞擴展,詞向量表征wordembedding等應用。
3、頻繁因果搭配知識庫中原因詞和結果詞之間的pmi值是否可以充當因果關系的狀態轉移概率,這個問題值得我們考慮以及實驗。
4、頻繁因果搭配知識庫還可以有多種提取和構建方式,后續有更多想法可以再進行實驗。
如有自然語言處理、知識圖譜、事理圖譜、社會計算、語言資源建設等問題或合作,請聯系我:
郵箱:lhy_in_blcu@126.com
csdn:https://blog.csdn.net/lhy2014
我的自然語言處理項目: https://liuhuanyong.github.io
劉煥勇,中國科學院軟件研究所
總結
以上是生活随笔為你收集整理的因果关系固定搭配知识库项目CausalCollocation的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习准备「爆破」著名的欧拉方程
- 下一篇: Hadoop背景、模块介绍、架构