一種基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng)的制作方法
【專利摘要】本發(fā)明是一種基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng)。包括用戶接口、產(chǎn)品信息爬取模塊、信息抽取模塊、倒排索引建立模塊、數(shù)據(jù)庫(kù)接口、信息整合模塊、問(wèn)句處理模塊、數(shù)據(jù)庫(kù),本發(fā)明能實(shí)時(shí)獲得線上產(chǎn)品信息的最新情況,并通過(guò)信息抽取和整合模塊,能夠及時(shí)對(duì)數(shù)據(jù)庫(kù)中已有的結(jié)構(gòu)化產(chǎn)品數(shù)據(jù)進(jìn)行更新或增加新的結(jié)構(gòu)化產(chǎn)品數(shù)據(jù),使得系統(tǒng)能夠適應(yīng)線上產(chǎn)品信息的變化。另外,本發(fā)明從多個(gè)產(chǎn)品信息網(wǎng)站對(duì)產(chǎn)品信息進(jìn)行采集,并通過(guò)信息抽取和整合模塊,對(duì)同一產(chǎn)品在不同網(wǎng)站上的產(chǎn)品信息進(jìn)行整合,對(duì)矛盾的信息進(jìn)行判斷,對(duì)缺少的信息進(jìn)行不同信息源間的互補(bǔ),確保檢索信息的完整性和真實(shí)性。本發(fā)明是一種具有較高的檢索效率的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng)。
【專利說(shuō)明】一種基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)非結(jié)構(gòu)化、半結(jié)構(gòu)化信息抽取、建模與搜索領(lǐng)域,具體為一種基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng)及方法,屬于基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng)的改造技術(shù)。
【背景技術(shù)】
[0002]21世紀(jì)是信息化的時(shí)代,網(wǎng)絡(luò)已成為人們生活不可或缺的一部分。隨著互聯(lián)網(wǎng)的迅速發(fā)展,一方面人們對(duì)于網(wǎng)絡(luò)信息的需求與日俱增,另一方面互聯(lián)網(wǎng)上存在海量的信息,然而由于互聯(lián)網(wǎng)大容量、動(dòng)態(tài)性等固有特性,這些海量信息往往是零碎的,缺乏組織性并包含了大量無(wú)效數(shù)據(jù)。這降低了人們對(duì)豐富信息資源的利用效率。為了解決這種“信息過(guò)載”問(wèn)題,許多公司及研究機(jī)構(gòu)轉(zhuǎn)向了對(duì)自動(dòng)問(wèn)答系統(tǒng)的研究。
[0003]問(wèn)答系統(tǒng)(Question Answering System, QA)是信息檢索系統(tǒng)的一種高級(jí)形式。它能用準(zhǔn)確、簡(jiǎn)潔的自然語(yǔ)言回答用戶用自然語(yǔ)言提出的問(wèn)題。其研究興起的主要原因是人們對(duì)快速、準(zhǔn)確地獲取信息的需求。問(wèn)答系統(tǒng)是目前人工智能和自然語(yǔ)言處理領(lǐng)域中一個(gè)倍受關(guān)注并具有廣泛發(fā)展前景的研究方向。
[0004]從知識(shí)領(lǐng)域來(lái)看,現(xiàn)有的問(wèn)答系統(tǒng)可分為“封閉領(lǐng)域”以及“開(kāi)放領(lǐng)域”兩類系統(tǒng)。封閉領(lǐng)域系統(tǒng)專注于回答特定領(lǐng)域的問(wèn)題,目前大多數(shù)問(wèn)答系統(tǒng)屬于封閉領(lǐng)域系統(tǒng)。開(kāi)放領(lǐng)域系統(tǒng)則希望不設(shè)限問(wèn)題的內(nèi)容范圍,難度相對(duì)較高。
[0005]現(xiàn)有的封閉領(lǐng)域問(wèn)答系統(tǒng)主要有:昆明理工大學(xué)的申請(qǐng)?zhí)枮?00810233734、發(fā)明名稱為“基于本體推理的旅游問(wèn)答系統(tǒng)答案抽取方法”。該方法集中于對(duì)旅游問(wèn)答系統(tǒng)答案抽取方法的研究,首先人工定義旅游領(lǐng)域中的概念、屬性和關(guān)系,并人工構(gòu)建旅游領(lǐng)域本體知識(shí)庫(kù),最后再對(duì)本體的一致性進(jìn)行檢驗(yàn);其次利用本體知識(shí)庫(kù)中的語(yǔ)義信息對(duì)用戶問(wèn)句進(jìn)行語(yǔ)義消歧;然后人工定義旅游領(lǐng)域中的語(yǔ)義規(guī)則;再次基于語(yǔ)義消歧的問(wèn)句分析結(jié)果,采用相應(yīng)的語(yǔ)義規(guī)則的推理和信息檢索相結(jié)合的方法在本體知識(shí)庫(kù)中抽取答案;最后根據(jù)不同的問(wèn)句類型,設(shè)計(jì)相應(yīng)的答案抽取算法,提高系統(tǒng)的響應(yīng)率和召回率。
[0006]可以看出,該發(fā)明采用的方法中需要大量的人工干涉,包括知識(shí)庫(kù)的構(gòu)建、概念屬性的定義以及語(yǔ)義規(guī)則的制定都需要人工參與。過(guò)多的人工參與會(huì)導(dǎo)致人力成本的增加,并需要保持一定的人員對(duì)系統(tǒng)進(jìn)行維護(hù)和更新。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于考慮上述問(wèn)題而提供一種確保檢索信息的完整性和真實(shí)性,且具有較高的檢索效率的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng)。
[0008]本發(fā)明的技術(shù)方案是:本發(fā)明的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),包括有用戶接口、產(chǎn)品信息爬取模塊、信息抽取模塊、倒排索引建立模塊、數(shù)據(jù)庫(kù)接口、信息整合模塊、問(wèn)句處理模塊、數(shù)據(jù)庫(kù),其中,
[0009]用戶接口,用于實(shí)現(xiàn)Web問(wèn)答系統(tǒng)與用戶的各種通信,包括獲取用戶輸入的產(chǎn)品相關(guān)自然語(yǔ)言問(wèn)句并將問(wèn)句傳遞給問(wèn)句處理模塊;將對(duì)應(yīng)的搜索結(jié)果以及相關(guān)網(wǎng)頁(yè)返回給用戶;
[0010]產(chǎn)品信息爬取模塊,用于按照一定時(shí)間間隔對(duì)網(wǎng)頁(yè)進(jìn)行爬取,并將爬取的網(wǎng)頁(yè)進(jìn)行存儲(chǔ),傳遞給信息抽取模塊進(jìn)行處理;
[0011]信息抽取模塊,用于對(duì)產(chǎn)品信息爬取模塊爬取網(wǎng)頁(yè)中的非結(jié)構(gòu)化網(wǎng)頁(yè)信息進(jìn)行處理,將這些非結(jié)構(gòu)化信息轉(zhuǎn)化為結(jié)構(gòu)化信息,并通過(guò)數(shù)據(jù)庫(kù)接口與結(jié)構(gòu)化產(chǎn)品信息數(shù)據(jù)建立連接,將處理好的結(jié)構(gòu)化信息存儲(chǔ)在數(shù)據(jù)庫(kù)中;
[0012]倒排索引建立模塊,用于從產(chǎn)品信息爬取模塊爬取的網(wǎng)頁(yè)中提取關(guān)鍵內(nèi)容,并對(duì)這些網(wǎng)頁(yè)建立倒排索引;
[0013]數(shù)據(jù)庫(kù)接口,實(shí)現(xiàn)結(jié)構(gòu)化產(chǎn)品數(shù)據(jù)的存取、更新數(shù)據(jù)庫(kù)操作的統(tǒng)一接口及訪問(wèn)權(quán)限控制;
[0014]信息整合模塊,用于整合信息抽取模塊輸出的多個(gè)數(shù)據(jù)來(lái)源結(jié)構(gòu)化信息,并將整合后的結(jié)構(gòu)化數(shù)據(jù)通過(guò)數(shù)據(jù)庫(kù)接口與數(shù)據(jù)庫(kù)建立連接,保存到數(shù)據(jù)庫(kù)中;
[0015]問(wèn)句處理模塊,用于將用戶輸入的自然語(yǔ)言問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化的語(yǔ)句,該模塊通過(guò)用戶接口與用戶建立連接獲取用戶輸入的自然語(yǔ)言問(wèn)句,并通過(guò)數(shù)據(jù)庫(kù)接口與數(shù)據(jù)庫(kù)建立連接,使用轉(zhuǎn)化后得到的語(yǔ)句在數(shù)據(jù)庫(kù)中進(jìn)行查詢,并通過(guò)用戶接口將語(yǔ)句的查詢結(jié)果反饋給用戶。
[0016]上述問(wèn)句處理模塊分兩步對(duì)自然語(yǔ)言問(wèn)句進(jìn)行轉(zhuǎn)化,首先使用訓(xùn)練好的樸素貝葉斯分類器對(duì)自然語(yǔ)言問(wèn)句進(jìn)行分類,然后采用skip-chain CRF模型對(duì)自然語(yǔ)言問(wèn)句中的命名實(shí)體進(jìn)行識(shí)別和抽取。
[0017]上述命名實(shí)體為手機(jī)名稱、手機(jī)屬性。
[0018]上述Skip-chain CRF模型是在線性條件隨機(jī)場(chǎng)(Linear CRF)模型的基礎(chǔ)上演變而來(lái),是條件隨機(jī)場(chǎng)(CRF)模型中的一種。
[0019]上述命名實(shí)體識(shí)別方法中,忽略連詞“和”、“或”在句中的作用,在Skip-chain CRF模型中建立了連詞前后兩個(gè)詞間的聯(lián)系,幫助最終精度的提高;用于查詢問(wèn)句命名實(shí)體抽取的識(shí)別模型,采用Skip-Chain CRF模型對(duì)訓(xùn)練集進(jìn)行學(xué)習(xí)后,獲得針對(duì)產(chǎn)品信息的命名實(shí)體識(shí)別和判斷準(zhǔn)則,進(jìn)而將問(wèn)句轉(zhuǎn)化為有檢索意義的關(guān)鍵詞和產(chǎn)品屬性。
[0020]上述信息整合模塊先根據(jù)待處理的兩張表中的屬性值信息得到一張屬性映射表,即將兩張表中具有相同意義但命名可能不同的屬性名對(duì)應(yīng)起來(lái),便于下一步的整合工作;再根據(jù)得到的映射表信息創(chuàng)建目標(biāo)表,分別按序重新排列兩張表的列名,根據(jù)能夠唯一確定一條記錄的主鍵值來(lái)確定兩張表中的對(duì)應(yīng)記錄是否可比較,若相等則認(rèn)為是可以比較的,若可比較,則對(duì)兩張表中的信息進(jìn)行合并或去除冗余處理,將處理結(jié)果插入目標(biāo)表中,并將原表中的對(duì)應(yīng)記錄進(jìn)行標(biāo)記;最后將未標(biāo)記的記錄也一一插入目標(biāo)表中,得到一張經(jīng)過(guò)整合的目標(biāo)表;若有多張表,則每次處理兩張表,重復(fù)上述方法即得到最終結(jié)果。
[0021 ] 上述產(chǎn)品信息爬取模塊,用于按照一定時(shí)間間隔對(duì)pconline、泡泡大型數(shù)碼網(wǎng)站上介紹數(shù)碼產(chǎn)品詳細(xì)信息的網(wǎng)頁(yè)進(jìn)行爬取,并將爬取的網(wǎng)頁(yè)進(jìn)行存儲(chǔ),傳遞給信息抽取模塊進(jìn)行處理。
[0022]上述問(wèn)句處理模塊用于將用戶輸入的自然語(yǔ)言問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化的SQL語(yǔ)句,該模塊通過(guò)用戶接口與用戶建立連接獲取用戶輸入的自然語(yǔ)言問(wèn)句,并通過(guò)數(shù)據(jù)庫(kù)接口與結(jié)構(gòu)化產(chǎn)品信息數(shù)據(jù)庫(kù)建立連接,使用轉(zhuǎn)化后得到的SQL語(yǔ)句在數(shù)據(jù)庫(kù)中進(jìn)行查詢,并通過(guò)用戶接口將SQL語(yǔ)句的查詢結(jié)果反饋給用戶。
[0023]本發(fā)明針對(duì)非結(jié)構(gòu)化、半結(jié)構(gòu)化產(chǎn)品信息的分析系統(tǒng),對(duì)同個(gè)產(chǎn)品的多個(gè)來(lái)源信息進(jìn)行整合,保證信息的真實(shí)和完善;同時(shí)采用分類算法以及命名實(shí)體識(shí)別算法將自然語(yǔ)言問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)庫(kù)查詢語(yǔ)句;針對(duì)產(chǎn)品評(píng)論信息的細(xì)粒度化情感分析系統(tǒng),采用一種基于實(shí)例相似度的算法對(duì)同一產(chǎn)品的不同來(lái)源信息進(jìn)行整合。
[0024]上述基于實(shí)例相似度的算法分為映射和合并兩步驟進(jìn)行信息的整合,在映射步驟采用基于實(shí)例相似度的算法對(duì)兩張表的對(duì)應(yīng)元素進(jìn)行相似度計(jì)算,在合并步驟根據(jù)前一步驟的結(jié)果對(duì)兩張表進(jìn)行合并;針對(duì)產(chǎn)品評(píng)論信息的細(xì)粒度化情感分析系統(tǒng),首先對(duì)問(wèn)句進(jìn)行分類,然后建立識(shí)別模型對(duì)問(wèn)句中的命名實(shí)體進(jìn)行抽取,最后根據(jù)前兩步的結(jié)構(gòu)采用相應(yīng)的規(guī)則將該自然語(yǔ)言問(wèn)句轉(zhuǎn)化為SQL語(yǔ)句。
[0025]本發(fā)明基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),具有以下幾個(gè)方面的優(yōu)點(diǎn):1)本發(fā)明對(duì)互聯(lián)網(wǎng)上變化的產(chǎn)品信息有很好的適應(yīng)性,本系統(tǒng)提出的有效的定期信息更新收集技術(shù)能夠?qū)ヂ?lián)網(wǎng)上的產(chǎn)品信息的變化進(jìn)行同一及時(shí)收集,能夠?qū)崟r(shí)獲得線上產(chǎn)品信息的最新情況,并通過(guò)信息抽取和整合模塊,能夠及時(shí)對(duì)數(shù)據(jù)庫(kù)中已有的結(jié)構(gòu)化產(chǎn)品數(shù)據(jù)進(jìn)行更新或增加新的結(jié)構(gòu)化產(chǎn)品數(shù)據(jù),從而使得系統(tǒng)能夠適應(yīng)線上產(chǎn)品信息的變化。2)本發(fā)明收集的產(chǎn)品信息較完整并且具有較高的真實(shí)性。本發(fā)明從多個(gè)產(chǎn)品信息網(wǎng)站對(duì)產(chǎn)品信息進(jìn)行采集,并通過(guò)信息抽取和整合模塊,對(duì)同一產(chǎn)品在不同網(wǎng)站上的產(chǎn)品信息進(jìn)行整合,對(duì)矛盾的信息進(jìn)行判斷,對(duì)缺少的信息進(jìn)行不同信息源間的互補(bǔ),從而確保了信息的完整性和真實(shí)性。3)本發(fā)明具有較高的檢索效率,與傳統(tǒng)的信息檢索系統(tǒng)返回關(guān)鍵詞相關(guān)網(wǎng)頁(yè)不同,本發(fā)明在提供相關(guān)網(wǎng)頁(yè)信息的同時(shí)通過(guò)問(wèn)句處理模塊,對(duì)用戶輸入的自然問(wèn)句進(jìn)行問(wèn)句分類、命名實(shí)體識(shí)別等一系列處理,將自然問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化的SQL語(yǔ)句,最后使用得到的SQL語(yǔ)句到數(shù)據(jù)庫(kù)中進(jìn)行查詢并返回準(zhǔn)確簡(jiǎn)單的結(jié)果給用戶。本發(fā)明是一種方便實(shí)用的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),,是信息檢索的一種高級(jí)形式,它能用準(zhǔn)確、簡(jiǎn)介的語(yǔ)言回答用戶用自然語(yǔ)言提出的問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0026]圖1為本發(fā)明的Web問(wèn)答系統(tǒng)架構(gòu)圖;
[0027]圖2為本發(fā)明的倒排索引建立模塊的實(shí)現(xiàn)原理圖;
[0028]圖3是本發(fā)明的數(shù)據(jù)整合模塊的實(shí)現(xiàn)原理圖;
[0029]圖4是本發(fā)明的問(wèn)句處理模塊的實(shí)現(xiàn)原理圖;
[0030]圖5是本發(fā)明的問(wèn)句處理模塊中問(wèn)句分類的實(shí)現(xiàn)原理圖;
[0031]圖6是本發(fā)明的問(wèn)句處理模塊中命名實(shí)體識(shí)別的實(shí)現(xiàn)原理圖;
[0032]圖7是以命名實(shí)體任務(wù)為例的Linear-CRF模型的圖結(jié)構(gòu)。
【具體實(shí)施方式】
[0033]實(shí)施例:
[0034]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。[0035]圖1示出了本發(fā)明基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答系統(tǒng)架構(gòu)圖。
[0036]參照?qǐng)D1,本發(fā)明的Web問(wèn)答系統(tǒng)包括用戶接口、問(wèn)句處理模塊、數(shù)據(jù)庫(kù)接口、結(jié)構(gòu)化產(chǎn)品信息數(shù)據(jù)庫(kù)、信息整合模塊、信息抽取模塊、產(chǎn)品信息爬取模塊、倒排索引建立模塊。
[0037]用戶接口,用于實(shí)現(xiàn)Web問(wèn)答系統(tǒng)與用戶的各種通信,包括獲取用戶輸入的產(chǎn)品相關(guān)自然語(yǔ)言問(wèn)句并將問(wèn)句傳遞給問(wèn)句處理模塊;將對(duì)應(yīng)的搜索結(jié)果以及相關(guān)網(wǎng)頁(yè)返回給用戶。
[0038]產(chǎn)品信息爬取模塊,用于按照一定時(shí)間間隔對(duì)pconline、泡泡等大型數(shù)碼網(wǎng)站上介紹手機(jī)、電腦等數(shù)碼產(chǎn)品詳細(xì)信息的網(wǎng)頁(yè)進(jìn)行爬取,并將爬取的網(wǎng)頁(yè)進(jìn)行存儲(chǔ),傳遞給信息抽取模塊進(jìn)行處理。
[0039]信息抽取模塊,用于對(duì)產(chǎn)品信息爬取模塊爬取網(wǎng)頁(yè)中的非結(jié)構(gòu)化網(wǎng)頁(yè)信息進(jìn)行處理,如手機(jī)的主頻,屏幕大小等。將這些非結(jié)構(gòu)化信息轉(zhuǎn)化為結(jié)構(gòu)化信息,并通過(guò)數(shù)據(jù)庫(kù)接口與結(jié)構(gòu)化產(chǎn)品信息數(shù)據(jù)建立連接,將處理好的結(jié)構(gòu)化信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。
[0040]倒排索引建立模塊,用于從產(chǎn)品信息爬取模塊爬取的網(wǎng)頁(yè)中提取關(guān)鍵內(nèi)容,并對(duì)這些網(wǎng)頁(yè)建立倒排索引。
[0041 ] 數(shù)據(jù)庫(kù)接口,實(shí)現(xiàn)結(jié)構(gòu)化產(chǎn)品數(shù)據(jù)的存取、更新等數(shù)據(jù)庫(kù)操作的統(tǒng)一接口及訪問(wèn)權(quán)限控制。
[0042]信息整合模塊,用于整合信息抽取模塊輸出的多個(gè)數(shù)據(jù)來(lái)源結(jié)構(gòu)化信息,并將整合后的結(jié)構(gòu)化數(shù)據(jù)通過(guò)數(shù)據(jù)庫(kù)接口與數(shù)據(jù)庫(kù)建立連接,保存到數(shù)據(jù)庫(kù)中。本發(fā)明先根據(jù)待處理的兩張表中的屬性值等信息得到一張屬性映射表,即將兩張表中具有相同意義但命名可能不同的屬性名對(duì)應(yīng)起來(lái),便于下一步的整合工作;再根據(jù)得到的映射表信息創(chuàng)建目標(biāo)表,分別按序重新排列兩張表的列名。根據(jù)能夠唯一確定一條記錄的主鍵值來(lái)確定兩張表中的對(duì)應(yīng)記錄是否可比較,若相等則認(rèn)為是可以比較的,若可比較,則對(duì)兩張表中的信息進(jìn)行合并或去除冗余等處理,將處理結(jié)果插入目標(biāo)表中,并將原表中的對(duì)應(yīng)記錄進(jìn)行標(biāo)記。最后將未標(biāo)記的記錄也 插入目標(biāo)表中,得到一張經(jīng)過(guò)整合的目標(biāo)表。若有多張表,則每次處理兩張表,重復(fù)上述方法即得到最終結(jié)果。
[0043]問(wèn)句處理模塊,用于將用戶輸入的自然語(yǔ)言問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化的SQL語(yǔ)句。該模塊通過(guò)用戶接口與用戶建立連接獲取用戶輸入的自然語(yǔ)言問(wèn)句,并通過(guò)數(shù)據(jù)庫(kù)接口與結(jié)構(gòu)化產(chǎn)品信息數(shù)據(jù)庫(kù)建立連接,使用轉(zhuǎn)化后得到的SQL語(yǔ)句在數(shù)據(jù)庫(kù)中進(jìn)行查詢,并通過(guò)用戶接口將SQL語(yǔ)句的查詢結(jié)果反饋給用戶。本發(fā)明分兩步對(duì)自然語(yǔ)言問(wèn)句進(jìn)行轉(zhuǎn)化,首先使用訓(xùn)練好的樸素貝葉斯分類器對(duì)自然語(yǔ)言問(wèn)句進(jìn)行分類,然后采用skip-chain CRF模型對(duì)自然語(yǔ)言問(wèn)句中的命名實(shí)體如手機(jī)名稱、手機(jī)屬性等進(jìn)行識(shí)別和抽取。Skip-chain CRF模型是在Linear CRF (線性條件隨機(jī)場(chǎng))模型的基礎(chǔ)上演變而來(lái),是CRF (條件隨機(jī)場(chǎng))模型中的一種。在以往的命名實(shí)體識(shí)別方法中,普遍忽略了連詞如“和”、“或”等詞在句中的作用,在Skip-chain CRF模型中建立了連詞前后兩個(gè)詞間的聯(lián)系,幫助最終精度的提高。
[0044]本發(fā)明采用基于相似度計(jì)算的算法對(duì)統(tǒng)一產(chǎn)品的不同來(lái)源信息進(jìn)行整合。由于本系統(tǒng)在產(chǎn)品信息爬取模塊會(huì)對(duì)多個(gè)數(shù)碼產(chǎn)品網(wǎng)站進(jìn)行信息爬取,這一做法的目的是為了保證收集的產(chǎn)品信息能夠盡量完整豐富,但由于不同網(wǎng)站可能對(duì)同一屬性采用不同的命名或者屬性值不同,這導(dǎo)致同一產(chǎn)品的不同來(lái)源信息可能存在冗余或者矛盾的情況。本發(fā)明采用的基于相似度計(jì)算的算法能夠有效地對(duì)這些冗余或者矛盾的不同來(lái)源信息進(jìn)行整合,從而既確保了數(shù)據(jù)的完整又能保證數(shù)據(jù)具有較高的正確性。
[0045]本發(fā)明采用問(wèn)句分類以及命名實(shí)體識(shí)別的方法將自然語(yǔ)言問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化的SQL語(yǔ)句。對(duì)問(wèn)句進(jìn)行分類能夠?qū)?wèn)句進(jìn)行更細(xì)致的處理,對(duì)不同類別的問(wèn)句采用不同的轉(zhuǎn)化規(guī)則,能夠提高系統(tǒng)對(duì)自然語(yǔ)言問(wèn)句的理解能力。對(duì)自然語(yǔ)言問(wèn)句中的命名實(shí)體進(jìn)行識(shí)別本質(zhì)上是對(duì)問(wèn)句中的主體或?qū)ο筮M(jìn)行識(shí)別,只有理解問(wèn)句中的主體和對(duì)象才能結(jié)合具體的轉(zhuǎn)化規(guī)則進(jìn)行問(wèn)句轉(zhuǎn)化。本發(fā)明采用的問(wèn)句轉(zhuǎn)化算法能夠?qū)Χ喾N類別的自然語(yǔ)言問(wèn)句進(jìn)行轉(zhuǎn)化,并能夠確保較高的準(zhǔn)確率。
[0046]綜上所述,該系統(tǒng)的主要模塊為問(wèn)句處理模塊、數(shù)據(jù)整合模塊以及倒排索引建立模塊。下面將結(jié)合附圖對(duì)這三個(gè)模塊進(jìn)行進(jìn)一步的詳細(xì)介紹。
[0047]圖2為倒排索引建立模塊的實(shí)現(xiàn)原理圖。參照?qǐng)D2,該模塊實(shí)現(xiàn)從產(chǎn)品信息爬取模塊爬取的網(wǎng)頁(yè)中提取關(guān)鍵內(nèi)容,對(duì)這些網(wǎng)頁(yè)建立倒排索引并存儲(chǔ)起來(lái)。索引的構(gòu)造過(guò)程可以分為三部分:
[0048]I)預(yù)處理階段,將網(wǎng)頁(yè)中的關(guān)鍵內(nèi)容信息使用Htmlparser提取出來(lái),去除網(wǎng)頁(yè)中的噪音信息,提高后期檢索的準(zhǔn)確率。利用這些提取出來(lái)的數(shù)據(jù)構(gòu)建Lucene的Document對(duì)象及其對(duì)應(yīng)的Field對(duì)象。
[0049]2)分析階段,通過(guò)調(diào)用索引管理器(IndexWriter)的addDocument (Document)方法將數(shù)據(jù)傳遞給Lucene進(jìn)行索引操作。在對(duì)數(shù)據(jù)進(jìn)行索引處理時(shí),Lucene會(huì)首先分析數(shù)據(jù),使之更加適合被索引。
[0050]3 )寫(xiě)入索引,對(duì)輸入數(shù)據(jù)分析完成后,將結(jié)果寫(xiě)入索引文件中,將輸入數(shù)據(jù)以倒排索引的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ) 。
[0051]圖3為數(shù)據(jù)整合模塊的實(shí)現(xiàn)原理圖。參照?qǐng)D3,該模塊實(shí)現(xiàn)整合信息抽取模塊輸出的多個(gè)數(shù)據(jù)來(lái)源結(jié)構(gòu)化信息,并將整合后的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中。該模塊可以分為兩個(gè)子模塊:
[0052]I)根據(jù)待處理的兩張表中的屬性值等信息得到一張屬性映射表,即將兩張表中具有相同意義但命名可能不同的屬性名對(duì)應(yīng)起來(lái),便于下一步的整合工作。
[0053]2)根據(jù)第I步得到的映射表信息創(chuàng)建目標(biāo)表,分別按序重新排列兩張表的列名。根據(jù)能夠唯一確定一條記錄的主鍵值來(lái)確定兩張表中的對(duì)應(yīng)記錄是否可比較,若相等則認(rèn)為是可以比較的,若可比較,則對(duì)兩張表中的信息進(jìn)行合并或去除冗余等處理,將處理結(jié)果插入目標(biāo)表中,并將原表中的對(duì)應(yīng)記錄進(jìn)行標(biāo)記。最后將未標(biāo)記的記錄也插入目標(biāo)表中,得到一張經(jīng)過(guò)整合的目標(biāo)表。
[0054]若有多張表,則每次處理兩張表,重復(fù)上述步驟I和步驟2即得到最終結(jié)果。
[0055]建立映射表以及整合信息的詳細(xì)步驟為:
[0056]I)得到映射表的步驟:
[0057]1.獲取兩張表中的屬性值信息,將它們分別存入resultl和result2中,例如
[0058]resultI=LisKa1, a2,a3,....,am>,ai2,ai3,...ain>i=l,2,3,…爪.[0059]其中m是第一張表的屬性列的列數(shù),n是第一張表的屬性列的行數(shù)。即將第一張表中的各列分別存入a。a2,a3,....,an中。同理可得:
[0060]result2=List<blJ b2,b3,....,bm>,bi=<bilJ bi2,bi3,...bin>i=l,2,3,…m.[0061]2.用中科院分詞工具 imdict-chinese-analyzer 對(duì) a” a2,a3,....,am 和hu b2,b3,....,bm 進(jìn)行分詞后,另Ij存入 resultISegmentFiIter=List<a1i,a’ 2,a’ 3,...,a’ m>,
a/ =〈a/ ” a/ 2,....,a/ k>result2egmentFilter=List<b1i,b’ 2,b3,,...,b’ m>,b/ =〈!3/ ”
, h,>
2,...., Ui /
[0062]3.分別對(duì) a/,a’ 2,a’ 3,...,a’m 取集合,對(duì) b/,b’ 2,b3’,...,b’m 取集合,即去掉重復(fù)出現(xiàn)的值存入 TesultlSet=LislXa1' ’,a’ 2’,a’ 3’,...,a’ ’ m>, a/ =〈a/ ’ ” a/ ’ 2,....,a/ ’JLi是a/’中詞的個(gè)數(shù)
[0063]result2Set=List<b1',,b,2,,b3,,,...,b,m,>,b/,=<bi',” b/,2,....,b/,L,jb/,中詞的個(gè)數(shù)
[0064]4.計(jì)算resultlSet和result2Set中兩兩元素a/ ’和b/ ’的相似度:
[0065]A)若a/ ’和b/ ’的詞的個(gè)數(shù)差別較小,則直接對(duì)a/ ’和b/ ’進(jìn)行相似度計(jì)算,
相似度計(jì)算公式
【權(quán)利要求】
1.一種基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于包括有用戶接口、產(chǎn)品信息爬取模塊、信息抽取模塊、倒排索引建立模塊、數(shù)據(jù)庫(kù)接口、信息整合模塊、問(wèn)句處理模塊、數(shù)據(jù)庫(kù),其中, 用戶接口,用于實(shí)現(xiàn)Web問(wèn)答系統(tǒng)與用戶的各種通信,包括獲取用戶輸入的產(chǎn)品相關(guān)自然語(yǔ)言問(wèn)句并將問(wèn)句傳遞給問(wèn)句處理模塊;將對(duì)應(yīng)的搜索結(jié)果以及相關(guān)網(wǎng)頁(yè)返回給用戶; 產(chǎn)品信息爬取模塊,用于按照一定時(shí)間間隔對(duì)網(wǎng)頁(yè)進(jìn)行爬取,并將爬取的網(wǎng)頁(yè)進(jìn)行存儲(chǔ),傳遞給信息抽取模塊進(jìn)行處理; 信息抽取模塊,用于對(duì)產(chǎn)品信息爬取模塊爬取網(wǎng)頁(yè)中的非結(jié)構(gòu)化網(wǎng)頁(yè)信息進(jìn)行處理,將這些非結(jié)構(gòu)化信息轉(zhuǎn)化為結(jié)構(gòu)化信息,并通過(guò)數(shù)據(jù)庫(kù)接口與結(jié)構(gòu)化產(chǎn)品信息數(shù)據(jù)建立連接,將處理好的結(jié)構(gòu)化信息存儲(chǔ)在數(shù)據(jù)庫(kù)中; 倒排索引建立模塊,用于從產(chǎn)品信息爬取模塊爬取的網(wǎng)頁(yè)中提取關(guān)鍵內(nèi)容,并對(duì)這些網(wǎng)頁(yè)建立倒排索引; 數(shù)據(jù)庫(kù)接口,實(shí)現(xiàn)結(jié)構(gòu)化產(chǎn)品數(shù)據(jù)的存取、更新數(shù)據(jù)庫(kù)操作的統(tǒng)一接口及訪問(wèn)權(quán)限控制; 信息整合模塊,用于整合信息抽取模塊輸出的多個(gè)數(shù)據(jù)來(lái)源結(jié)構(gòu)化信息,并將整合后的結(jié)構(gòu)化數(shù)據(jù)通過(guò)數(shù)據(jù)庫(kù)接口與數(shù)據(jù)庫(kù)建立連接,保存到數(shù)據(jù)庫(kù)中; 問(wèn)句處理模塊,用于將用戶輸入的自然語(yǔ)言問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化的語(yǔ)句,該模塊通過(guò)用戶接口與用戶建立連接獲取用戶輸入的自然語(yǔ)言問(wèn)句,并通過(guò)數(shù)據(jù)庫(kù)接口與數(shù)據(jù)庫(kù)建立連接,使用轉(zhuǎn)化后得到的語(yǔ)句在數(shù)據(jù)庫(kù)中進(jìn)行查詢,并通過(guò)用戶接口將語(yǔ)句的查詢結(jié)果反饋給用戶。
2.根據(jù)權(quán)利要求1所述的 基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于上述問(wèn)句處理模塊分兩步對(duì)自然語(yǔ)言問(wèn)句進(jìn)行轉(zhuǎn)化,首先使用訓(xùn)練好的樸素貝葉斯分類器對(duì)自然語(yǔ)言問(wèn)句進(jìn)行分類,然后采用skip-chain CRF模型對(duì)自然語(yǔ)言問(wèn)句中的命名實(shí)體進(jìn)行識(shí)別和抽取。
3.根據(jù)權(quán)利要求1所述的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于上述命名實(shí)體為手機(jī)名稱、手機(jī)屬性。
4.根據(jù)權(quán)利要求1所述的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于上述Skip-chain CRF模型是在線性條件隨機(jī)場(chǎng)(Linear CRF)模型的基礎(chǔ)上演變而來(lái),是條件隨機(jī)場(chǎng)(CRF )模型中的一種。
5.根據(jù)權(quán)利要求1所述的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于上述命名實(shí)體識(shí)別方法中,忽略連詞“和”、“或”在句中的作用,在Skip-chain CRF模型中建立了連詞前后兩個(gè)詞間的聯(lián)系,幫助最終精度的提高;用于查詢問(wèn)句命名實(shí)體抽取的識(shí)別模型,采用Skip-Chain CRF模型對(duì)訓(xùn)練集進(jìn)行學(xué)習(xí)后,獲得針對(duì)產(chǎn)品信息的命名實(shí)體識(shí)別和判斷準(zhǔn)則,進(jìn)而將問(wèn)句轉(zhuǎn)化為有檢索意義的關(guān)鍵詞和產(chǎn)品屬性。
6.根據(jù)權(quán)利要求1所述的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于上述信息整合模塊先根據(jù)待處理的兩張表中的屬性值信息得到一張屬性映射表,即將兩張表中具有相同意義但命名可能不同的屬性名對(duì)應(yīng)起來(lái),便于下一步的整合工作;再根據(jù)得到的映射表信息創(chuàng)建目標(biāo)表,分別按序重新排列兩張表的列名,根據(jù)能夠唯一確定一條記錄的主鍵值來(lái)確定兩張表中的對(duì)應(yīng)記錄是否可比較,若相等則認(rèn)為是可以比較的,若可比較,則對(duì)兩張表中的信息進(jìn)行合并或去除冗余處理,將處理結(jié)果插入目標(biāo)表中,并將原表中的對(duì)應(yīng)記錄進(jìn)行標(biāo)記;最后將未標(biāo)記的記錄也一一插入目標(biāo)表中,得到一張經(jīng)過(guò)整合的目標(biāo)表;若有多張表,則每次處理兩張表,重復(fù)上述方法即得到最終結(jié)果。
7.根據(jù)權(quán)利要求1所述的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于上述產(chǎn)品信息爬取模塊,用于按照一定時(shí)間間隔對(duì)pconline、泡泡大型數(shù)碼網(wǎng)站上介紹數(shù)碼產(chǎn)品詳細(xì)信息的網(wǎng)頁(yè)進(jìn)行爬取,并將爬取的網(wǎng)頁(yè)進(jìn)行存儲(chǔ),傳遞給信息抽取模塊進(jìn)行處理。
8.根據(jù)權(quán)利要求1所述的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于上述問(wèn)句處理模塊用于將用戶輸入的自然語(yǔ)言問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化的SQL語(yǔ)句,該模塊通過(guò)用戶接口與用戶建立連接獲取用戶輸入的自然語(yǔ)言問(wèn)句,并通過(guò)數(shù)據(jù)庫(kù)接口與結(jié)構(gòu)化產(chǎn)品信息數(shù)據(jù)庫(kù)建立連接,使用轉(zhuǎn)化后得到的SQL語(yǔ)句在數(shù)據(jù)庫(kù)中進(jìn)行查詢,并通過(guò)用戶接口將SQL語(yǔ)句的查詢結(jié)果反饋給用戶。
9.根據(jù)權(quán)利要求1所述的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于針對(duì)非結(jié)構(gòu)化、半結(jié)構(gòu)化產(chǎn)品信息的分析系統(tǒng),對(duì)同個(gè)產(chǎn)品的多個(gè)來(lái)源信息進(jìn)行整合,保證信息的真實(shí)和完善;同時(shí)采用分類算法以及命名實(shí)體識(shí)別算法將自然語(yǔ)言問(wèn)句轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)庫(kù)查詢語(yǔ)句;針對(duì)產(chǎn)品評(píng)論信息的細(xì)粒度化情感分析系統(tǒng),采用一種基于實(shí)例相似度的算法對(duì)同一產(chǎn)品的不同來(lái)源信息進(jìn)行整合。
10.根據(jù)權(quán)利要求9所述的基于產(chǎn)品信息結(jié)構(gòu)化的Web問(wèn)答檢索系統(tǒng),其特征在于上述基于實(shí)例相似度的算法分為映射和合并兩步驟進(jìn)行信息的整合,在映射步驟采用基于實(shí)例相似度的算法對(duì)兩張表的對(duì)應(yīng)元素進(jìn)行相似度計(jì)算,在合并步驟根據(jù)前一步驟的結(jié)果對(duì)兩張表進(jìn)行合并;針對(duì)產(chǎn)品評(píng)論信息的細(xì)粒度化情感分析系統(tǒng),首先對(duì)問(wèn)句進(jìn)行分類,然后建立識(shí)別模型對(duì)問(wèn)句中的命名實(shí)體進(jìn)行抽取,最后根據(jù)前兩步的結(jié)構(gòu)采用相應(yīng)的規(guī)則將該自然語(yǔ)言問(wèn)句轉(zhuǎn)化為SQL語(yǔ)句。`
【文檔編號(hào)】G06F17/30GK103440287SQ201310354888
【公開(kāi)日】2013年12月11日 申請(qǐng)日期:2013年8月14日 優(yōu)先權(quán)日:2013年8月14日
【發(fā)明者】郝志峰, 溫雯, 蔡瑞初, 王鴻飛, 張奇, 張?chǎng)? 劉建明, 王宗武 申請(qǐng)人:廣東工業(yè)大學(xué)