互聯(lián)網(wǎng)海量數(shù)據(jù)中命名實(shí)體間關(guān)系提取方法及其系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種互聯(lián)網(wǎng)海量數(shù)據(jù)中命名實(shí)體間的關(guān)系提取技術(shù),特別涉及一種互 聯(lián)網(wǎng)海量數(shù)據(jù)中命名實(shí)體間關(guān)系提取方法及其系統(tǒng),本發(fā)明是一種適應(yīng)于海量數(shù)據(jù)的基于 頻繁詞和加權(quán)熵的關(guān)系提取方法和系統(tǒng),同時(shí)為了適應(yīng)互聯(lián)網(wǎng)巨大的數(shù)據(jù)量和保持靈活的 擴(kuò)展性,并且結(jié)合了Hadoop分布式技術(shù)。
【背景技術(shù)】
[0002] 目前,互聯(lián)網(wǎng)技術(shù)高速發(fā)展,堆積在互聯(lián)網(wǎng)中的數(shù)據(jù)呈爆炸性的指數(shù)型增長(zhǎng),21世 紀(jì)初以來(lái),因?yàn)榫W(wǎng)絡(luò)硬件設(shè)施的快速發(fā)展以及存儲(chǔ)介質(zhì)愈來(lái)愈廉價(jià),互聯(lián)網(wǎng)中數(shù)據(jù)的存儲(chǔ) 量更是達(dá)到了前所未有的巨大,世界中幾乎每一個(gè)人都為其源源不斷的貢獻(xiàn)著數(shù)據(jù)資源。 在這種背景下,技術(shù)、商業(yè)、管理以及金融等領(lǐng)域都在悄然的發(fā)生著巨大的變化,人們的思 潮也開始了新一輪的變革,正在迎接著"大數(shù)據(jù)"時(shí)代的來(lái)臨,正在體驗(yàn)和適應(yīng)著"大數(shù)據(jù)" 時(shí)代帶給生活方式乃至思考方式的大變革。
[0003] 然而,數(shù)據(jù)量的巨大是靜態(tài)的,如果沒有科學(xué)的方法和技術(shù)去"挖掘"其中所蘊(yùn)含 的知識(shí),將忽略這筆巨大的資源。本發(fā)明所探討的命名實(shí)體關(guān)系提取方法,就是面向互聯(lián)網(wǎng) 這些大量的結(jié)構(gòu)化、半結(jié)構(gòu)化甚至無(wú)結(jié)構(gòu)的文本,構(gòu)建一個(gè)迭代的分布式提取框架去完成 對(duì)這些靜態(tài)數(shù)據(jù)資源的自動(dòng)解析和知識(shí)發(fā)現(xiàn),用以實(shí)現(xiàn)互聯(lián)網(wǎng)下命名實(shí)體關(guān)系的提取,構(gòu) 建實(shí)體關(guān)系網(wǎng)絡(luò)。
[0004] 基于互聯(lián)網(wǎng)的命名實(shí)體關(guān)系提?。╓eb-basedEntityRelationExtraction)在 當(dāng)前互聯(lián)網(wǎng)技術(shù)高速發(fā)展的今天已經(jīng)逐漸成為了一個(gè)極具潛力的研宄方向,從一個(gè)巨大的 語(yǔ)料庫(kù)中探尋蘊(yùn)含在不同命名實(shí)體之間的關(guān)系是一項(xiàng)具有挑戰(zhàn)性并且很有意義的研宄,其 在自然語(yǔ)言處理(NaturalLanguageProcessing)的眾多領(lǐng)域均有著廣泛的應(yīng)用,例如信 息檢索(InformationRetrieval)、問(wèn)答系統(tǒng)(QuestionAnswering)、語(yǔ)義搜索(Semantic Search)和文本挖掘(TextualMining)等。命名實(shí)體的排歧作為對(duì)于命名實(shí)體中同名實(shí)體 間歧義的消除,是使關(guān)系提取更為準(zhǔn)確從而面向語(yǔ)義層面的重要一步,使關(guān)系的提取對(duì)于 之前更多的從字面層面出發(fā)進(jìn)化到對(duì)實(shí)體本身所代表意義的關(guān)注,從而使得實(shí)體之間的關(guān) 系更加牢固和可信。
[0005] 考慮到頻繁的詞語(yǔ)更能代表一個(gè)文檔的關(guān)鍵字,在基于頻繁詞的n元組方法中可 以獲得一個(gè)關(guān)系類別中常出現(xiàn)的詞語(yǔ),過(guò)濾掉那些沒意義且關(guān)系無(wú)關(guān)的詞語(yǔ),提高關(guān)系查 找能力??紤]了類別對(duì)詞語(yǔ)權(quán)重影響的加權(quán)熵方法就是這樣一種獲得常用類別詞語(yǔ)的方 法,這個(gè)方法改進(jìn)了頻繁詞不能完全代表文檔主題的問(wèn)題,進(jìn)一步提高了關(guān)系提取中的準(zhǔn) 確率。
[0006] 分布式計(jì)算理論和技術(shù)的飛速發(fā)展推動(dòng)了大量的對(duì)海量數(shù)據(jù)研宄的進(jìn)展,這些理 論和技術(shù)中最具有劃時(shí)代意義的便是MapReduce計(jì)算模型和Hadoop框架,利用它們,可以 構(gòu)建出靈活的高可擴(kuò)展的分布式計(jì)算框架,本發(fā)明正是借助MapReduce計(jì)算模型和Hadoop 框架構(gòu)建出了一個(gè)能夠穩(wěn)定運(yùn)行的分布式實(shí)體關(guān)系提取框架。
[0007] 對(duì)海量互聯(lián)網(wǎng)文本的獲取可以利用當(dāng)前成熟的爬蟲技術(shù),互聯(lián)網(wǎng)爬蟲通過(guò)對(duì)由網(wǎng) 站內(nèi)的鏈接組成的網(wǎng)絡(luò)進(jìn)行廣泛遍歷,連續(xù)的獲得大量所需的信息,利用當(dāng)前成熟的網(wǎng)絡(luò) 爬蟲理論可以構(gòu)建出高效的網(wǎng)絡(luò)爬蟲。
[0008] 中文文本處理技術(shù)的發(fā)展為本研宄的開展奠定了堅(jiān)實(shí)的基礎(chǔ),例如中文分詞和詞 性標(biāo)注在目前學(xué)術(shù)界和工業(yè)界均有較為成熟的解決方案,對(duì)于這些理論和技術(shù)的掌握與應(yīng) 用是本發(fā)明順利開展的基礎(chǔ)。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明的首要目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供了一種互聯(lián)網(wǎng)海量數(shù)據(jù) 中命名實(shí)體間關(guān)系提取方法,該方法通過(guò)使用一種基于頻繁詞和加權(quán)熵的關(guān)系提取方法, 并面向多對(duì)多的多元關(guān)系,提高了提取實(shí)體關(guān)系對(duì)的召回率,改進(jìn)了頻繁詞不能完全代表 類別主題的問(wèn)題,提高了關(guān)系提取中的準(zhǔn)確率。
[0010] 本發(fā)明的另一目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種互聯(lián)網(wǎng)海量數(shù)據(jù)中 命名實(shí)體間關(guān)系提取方法的系統(tǒng),該系統(tǒng)為了使得命名實(shí)體間關(guān)系的查找能夠持續(xù)運(yùn)行于 當(dāng)今互聯(lián)網(wǎng)海量數(shù)據(jù)中,使得關(guān)系查找系統(tǒng)更加方便擴(kuò)展和具有較高的運(yùn)行效率,本系統(tǒng) 利用了開源的Hadoop分布式框架和MapReduce計(jì)算模型。
[0011] 本發(fā)明的首要目的通過(guò)下述技術(shù)方案實(shí)現(xiàn):互聯(lián)網(wǎng)海量數(shù)據(jù)中命名實(shí)體間關(guān)系提 取方法,包括以下步驟:
[0012] 網(wǎng)絡(luò)信息爬取和語(yǔ)料庫(kù)構(gòu)建,從百科網(wǎng)站上爬取命名實(shí)體以及關(guān)于實(shí)體的文本解 釋,百科類網(wǎng)站上包含大量無(wú)結(jié)構(gòu)和半結(jié)構(gòu)化的實(shí)體細(xì)節(jié)描述信息,同時(shí),互聯(lián)網(wǎng)中依然存 在大量結(jié)構(gòu)化的實(shí)體數(shù)據(jù),稱之為"種子"數(shù)據(jù),即從結(jié)構(gòu)化互聯(lián)網(wǎng)文檔中提取的關(guān)系明確 的實(shí)體對(duì),這部分信息將作為訓(xùn)練數(shù)據(jù)指導(dǎo)更大量的實(shí)體關(guān)系標(biāo)注;
[0013] 文本預(yù)處理,將爬取到的文本進(jìn)行分詞、詞性標(biāo)注和去除停頓詞處理;
[0014] 提取多對(duì)多候選關(guān)系對(duì),現(xiàn)實(shí)中的關(guān)系不是僅僅存在一對(duì)一的關(guān)系,例如一本書 完全有可能有多個(gè)作者,一個(gè)導(dǎo)演完全有可能拍攝過(guò)多部影片,實(shí)體關(guān)系應(yīng)當(dāng)是可以組成 網(wǎng)絡(luò)的多元關(guān)系,本發(fā)明在提取候選對(duì)的時(shí)候不再局限于二元關(guān)系;
[0015] 提取代表短文檔特征的關(guān)鍵詞,利用頻繁詞提取方法和改進(jìn)于其的加權(quán)熵方法可 以獲得短文本中表示文本意義的關(guān)鍵詞;
[0016] 獲得代表實(shí)體關(guān)系的"實(shí)體-關(guān)系模式",利用由結(jié)構(gòu)化數(shù)據(jù)獲取的"種子"數(shù)據(jù)和 提取的短文本中的關(guān)鍵詞組成一個(gè)表達(dá)實(shí)體關(guān)系的"實(shí)體-關(guān)系模式",所謂"實(shí)體-關(guān)系 模式"就是包含這一對(duì)"種子"的短文本,例如在" #大張偉#_p在春節(jié)晚會(huì)上唱了《#倍兒 爽#_3》這首歌"這段短文本中#'之間是命名實(shí)體和它的ID,之后是命名實(shí)體的屬 性),包含了 一個(gè)人物和一首歌曲,可以獲得"P在春節(jié)晚會(huì)上唱了S這首歌"這樣一段"實(shí) 體-關(guān)系模式",并且由于"大張偉-倍兒爽"這個(gè)"實(shí)體關(guān)系對(duì)"的類別為"演唱者",所以 這段模式被劃分為"演唱者"關(guān)系的模式,這其中每一個(gè)模式被當(dāng)作一個(gè)向量,向量中每一 個(gè)經(jīng)過(guò)中文分詞等預(yù)處理后的詞語(yǔ)都被賦予了權(quán)重,在系統(tǒng)中使用詞頻(Term-Frequency) 作為每一個(gè)詞語(yǔ)的權(quán)重,模式中的包含類別信息,例如人物(P)、電影電視?。∕)、音樂(S) 以及書籍⑶等。
[0017] 關(guān)系標(biāo)注,即獲取"實(shí)體關(guān)系對(duì)",利用這些模式在大量的無(wú)結(jié)構(gòu)文本中去尋找新 的"實(shí)體關(guān)系對(duì)",例如以上"實(shí)體-關(guān)系模式",當(dāng)包含有人物和歌曲的短文本出現(xiàn),并且它 們的文本和這條關(guān)系模式足夠"相似"的話,那么可以認(rèn)為這里的人物是這首歌曲的演唱 者,這里的"相似"是利用之前文本預(yù)處理后為每一個(gè)詞語(yǔ)賦予的權(quán)重作為度量然后計(jì)算相 似度相互比較得出的。
[0018] 實(shí)體關(guān)系對(duì)評(píng)估,對(duì)已經(jīng)產(chǎn)生的"實(shí)體-關(guān)系模式"以及候選"實(shí)體關(guān)系對(duì)"的評(píng) 價(jià)和篩選是本發(fā)明中極其重要的一環(huán),認(rèn)為有價(jià)值的"實(shí)體-關(guān)系模式"才能產(chǎn)生有價(jià)值的 "實(shí)體關(guān)系對(duì)",且有價(jià)值的"實(shí)體關(guān)系對(duì)"才能夠作為"種子"繼續(xù)服務(wù)于下一輪命名實(shí)體關(guān) 系的查找與提取。
[0019] 所述的網(wǎng)絡(luò)信息爬取和語(yǔ)料庫(kù)構(gòu)建為:
[0020] 當(dāng)前工業(yè)界存在有大量?jī)?yōu)秀的爬蟲框架,Scrapy是一個(gè)用Python語(yǔ)言編寫的開 源爬蟲框架,用來(lái)抓取網(wǎng)站并從中提取數(shù)據(jù),從數(shù)據(jù)挖掘到監(jiān)控和自動(dòng)化測(cè)試的領(lǐng)域都有 廣泛的應(yīng)用。它實(shí)現(xiàn)了一個(gè)爬蟲的大部分模塊,并且把大部分爬蟲操作模塊化,從而對(duì)外提 供各種接口,可以靈活地實(shí)現(xiàn)想要的功能,正是借助了Scrapy框架來(lái)完成對(duì)語(yǔ)料庫(kù)知識(shí)的 構(gòu)建。
[0021] 因?yàn)榈娜蝿?wù)需要大量的包含命名實(shí)體數(shù)據(jù)且存在較多說(shuō)明性內(nèi)容的文本,然后可 以利用的方法去挖掘文本中這些命名實(shí)體之間的關(guān)系,所以一般百科類的站點(diǎn)比較適合去 使用,百度百科是中文信息知識(shí)庫(kù)較為全面的公共站點(diǎn),它其中包含著大量的命名實(shí)體詞 條,選擇它作為大量無(wú)結(jié)構(gòu)文本內(nèi)容的來(lái)源,這一部分也是機(jī)器學(xué)習(xí)算法主要的處理部分。
[0022] 同時(shí),需要一些關(guān)系明確的訓(xùn)練數(shù)據(jù),即明確了實(shí)體之間關(guān)系的數(shù)據(jù),在本文中稱 之為"種子"數(shù)據(jù),使用這些由"種子"組成的訓(xùn)練數(shù)據(jù)去學(xué)習(xí)的命名實(shí)體關(guān)系提取模型。為 了獲得這些"種子"數(shù)據(jù)組成的先驗(yàn)知識(shí),還應(yīng)當(dāng)去抓取一些存在著結(jié)構(gòu)化數(shù)據(jù)的站點(diǎn),這 一部分站點(diǎn)主要是一些資訊網(wǎng)站,例如存在大量音樂、電影和書籍信息和數(shù)據(jù)的豆瓣網(wǎng)、存 在大量電影電視劇資訊以及明星關(guān)系信息的時(shí)光網(wǎng),以及眾多的電子商務(wù)網(wǎng)站,它們之中 存在大量的出售的書籍的信息,例如京東書店。在以上站點(diǎn)中,成功獲取了大量關(guān)系明確的 訓(xùn)練數(shù)據(jù)。
[0023] 所述的提取代表短文檔特征的關(guān)鍵詞為:
[0024] 在很多"實(shí)體_關(guān)系模式"中,有一些詞語(yǔ)并不能夠很好的表現(xiàn)一個(gè)關(guān)系類別,不 屬于能夠代表特定關(guān)系的特征詞,比如春節(jié)晚會(huì)是一個(gè)專用詞語(yǔ),它的出現(xiàn)不能夠代表所 在的模式是能夠產(chǎn)生"演唱者"關(guān)系類別的,因?yàn)榇汗?jié)晚會(huì)不僅有唱歌,還有舞蹈、小品等 等,所以這部分詞語(yǔ)在"演唱者"的關(guān)系模式中認(rèn)為屬于不重要的那一部分,甚至可能產(chǎn)生 干擾,在有些經(jīng)過(guò)預(yù)處理過(guò)的包含多個(gè)實(shí)體的短文本中,比如"#喬羽_P#所著作的《#難忘 今宵_s#》是春節(jié)晚會(huì)的結(jié)束曲",從它之中可以提取的"實(shí)體-關(guān)系模式"為"〈{},P,{:著 作^},5, {春節(jié)晚會(huì)_112,結(jié)束曲_n},()>",在這兩段模式中,相同的詞語(yǔ)只包含了 "春節(jié) 晚會(huì)",那么這個(gè)詞語(yǔ)對(duì)這二者之間相似度的貢獻(xiàn)最大,但是它不能代表第二段模式也會(huì)被 標(biāo)記為"演唱者"(喬羽是該歌曲的作詞人),這樣的詞語(yǔ)對(duì)關(guān)系的查找產(chǎn)生了干擾。
[0025] 所以一個(gè)改進(jìn)的地方是去除這些不能代表關(guān)系特征的詞語(yǔ),然后將剩余的詞語(yǔ)組 成新的"實(shí)體_關(guān)系模式",且認(rèn)為在一種關(guān)系類別中頻繁出現(xiàn)的詞語(yǔ)才可以代表這類關(guān)系 的特征,但是頻繁詞在某些條件下也存在問(wèn)題,例如"〈{著名_a,歌唱家_n},P,{演唱_v}, S,{},(演唱者)>",雖然"歌唱家"和"演唱"對(duì)于歌曲與歌手的"演唱者"關(guān)系具有明顯 的代表作用,但是"著名"這個(gè)詞語(yǔ)在很多關(guān)系類別中均會(huì)頻繁出現(xiàn),例如歌曲與作詞人的 "作詞者"關(guān)系,很多作詞人也十分著名