• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    知識(shí)圖譜系統(tǒng)研發(fā)

    2019-10-21 09:15:38袁若瀛
    現(xiàn)代信息科技 2019年5期
    關(guān)鍵詞:網(wǎng)絡(luò)爬蟲知識(shí)圖譜

    摘 ?要:本工程要實(shí)現(xiàn)一個(gè)關(guān)于“動(dòng)物”的知識(shí)圖譜系統(tǒng),用來描述“動(dòng)物”的各種實(shí)體和概念,以及它們之間的強(qiáng)關(guān)系,我們用SPO三元組(Subject-Predicate-Object)去描述兩個(gè)實(shí)體間的關(guān)聯(lián),簡(jiǎn)單理解就是“實(shí)體-實(shí)體關(guān)系-實(shí)體”,例如,貓和貓科動(dòng)物之間的關(guān)系是科,用“貓-科-貓科”來表示,把實(shí)體看作結(jié)點(diǎn),實(shí)體關(guān)系看作一條邊,那么就可以構(gòu)建一個(gè)龐大的關(guān)于“動(dòng)物”的知識(shí)圖。構(gòu)建“動(dòng)物”知識(shí)圖譜需要?jiǎng)游锏膶?shí)體和實(shí)體間關(guān)系,這些數(shù)據(jù)需要通過網(wǎng)絡(luò)爬蟲技術(shù)從網(wǎng)上獲取,但網(wǎng)上獲取的數(shù)據(jù)是文本形式,不能直接使用,所以需要用到知識(shí)抽取技術(shù),本文使用基于句法依存關(guān)系的方法,實(shí)現(xiàn)了提取文本中的實(shí)體及實(shí)體間關(guān)系,然后以三元組的形式將這種關(guān)系表現(xiàn)出來,最后將生成的SPO三元組存入Neo4j圖數(shù)據(jù)庫,形成一個(gè)“動(dòng)物”知識(shí)圖譜。

    關(guān)鍵詞:知識(shí)圖譜;網(wǎng)絡(luò)爬蟲;知識(shí)抽取;SPO三元組;NEO4J圖數(shù)據(jù)庫

    中圖分類號(hào):TP391.1 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)05-0013-05

    Abstract:This project is to implement a knowledge atlas system about “animals” to describe the various entities and concepts of “animals” and the strong relationship between them. We use SPO triple (Subject-Predicate-Object) to describe the relationship between two entities. The simple understanding is that the relationship between (entity-entity relationship-entity) such as cats and catamount is science. We use “cat-family-cat family” to express it. We regard entities as nodes and entity relations as one side. Then we can construct a huge knowledge map about animals. Constructing the knowledge map of “animal” requires the relationship between animal entities and entities,and these data need to be obtained from the internet through web crawler technology,but the data obtained on the internet is in the form of text. It can't be used directly,so we need to use knowledge extraction technology. This paper uses the method based on the syntactic dependency relation to extract the relationship between entities in the text,and then express the relationship in the form of triples. Finally,the generated SPO triples need to be stored in Neo4j graph database to form an “animal” knowledge map.

    Keywords:knowledge map;web crawler;knowledge extraction;SPO triple;NEO4J graph database

    1 ?針對(duì)復(fù)雜工程問題的方案設(shè)計(jì)與實(shí)現(xiàn)

    1.1 ?“動(dòng)物”知識(shí)圖譜的方案設(shè)計(jì)

    問題分析:關(guān)于“動(dòng)物”的知識(shí)圖譜系統(tǒng),知識(shí)圖譜的主要作用是描述“動(dòng)物”的各種實(shí)體和概念及實(shí)體間關(guān)系,我們必須使用一種數(shù)據(jù)結(jié)構(gòu)來描述這種聯(lián)系,于是我們采用SPO三元組(Subject-Predicate-Object)去描述兩個(gè)實(shí)體間的關(guān)聯(lián),簡(jiǎn)單理解就是“實(shí)體-實(shí)體關(guān)系-實(shí)體”,例如,貓和貓科動(dòng)物之間的關(guān)系是科,我們就用“貓-科-貓科”來表示,把實(shí)體看作結(jié)點(diǎn),實(shí)體關(guān)系看作一條邊,那么就可以構(gòu)建一個(gè)龐大的關(guān)于“動(dòng)物”的知識(shí)圖譜。

    設(shè)計(jì)思路:構(gòu)建“動(dòng)物”知識(shí)圖譜需要?jiǎng)游锏膶?shí)體和實(shí)體間關(guān)系,而這些數(shù)據(jù)需要通過網(wǎng)絡(luò)爬蟲技術(shù)從網(wǎng)上獲取,但網(wǎng)上獲取的數(shù)據(jù)是非結(jié)構(gòu)化數(shù)據(jù)的形式(如文本),不能直接使用,所以需要用到知識(shí)抽取技術(shù)。本文使用基于句法依存關(guān)系的方法實(shí)現(xiàn)了提取文本中的實(shí)體及實(shí)體間關(guān)系,然后以三元組的形式將這種關(guān)系表現(xiàn)出來,最后將生成的SPO三元組存入圖數(shù)據(jù)庫,形成一個(gè)“動(dòng)物”知識(shí)圖譜。

    在系統(tǒng)總體設(shè)計(jì)中,將本工程劃分為四個(gè)基本模塊,以實(shí)現(xiàn)知識(shí)圖譜系統(tǒng)。

    首先在第一個(gè)模塊中,需要完成網(wǎng)絡(luò)爬蟲進(jìn)行數(shù)據(jù)獲取工作,設(shè)計(jì)一個(gè)多源數(shù)據(jù)獲取系統(tǒng)。該模塊被分為兩個(gè)子模塊,分別從百度百科和互動(dòng)百科中獲取動(dòng)物分類中的詞條信息,對(duì)該詞條信息進(jìn)行基本的文本處理,然后存入txt文件中。其中,詞條信息包含半結(jié)構(gòu)化的基本信息和非結(jié)構(gòu)化的簡(jiǎn)介信息。

    第二個(gè)模塊是基于句法依存關(guān)系的關(guān)系抽取模塊,主要功能是對(duì)多源數(shù)據(jù)獲取模塊輸出的文本通過關(guān)系抽取,提取詞語和依存關(guān)系等顯性特征,然后根據(jù)這些顯性特征,通過知識(shí)推理,得到隱性特征。由于此模塊功能復(fù)雜且內(nèi)聚性低,所以應(yīng)分為顯性特征提取模塊和隱形特征提取模塊,顯性特征提取模塊的輸出作為隱形特征提取模塊的輸入。這個(gè)過程用到了pyltp庫基于依存句法的關(guān)系三元組抽取。

    第三個(gè)模塊是生成三元組模塊,這一階段的任務(wù)是將特征提取模塊得到的實(shí)體屬性和實(shí)體間的關(guān)系形成SPO三元組。

    最后的模塊是存入數(shù)據(jù)庫模塊,即將生成的三元組存入Neo4j圖形數(shù)據(jù)庫。選擇Neo4j圖形數(shù)據(jù)庫是因?yàn)樾枰粋€(gè)圖形數(shù)據(jù)庫。

    1.2 ?針對(duì)“動(dòng)物”知識(shí)圖譜問題的推理分析

    知識(shí)抽?。▽?shí)體關(guān)系抽取)是知識(shí)圖譜構(gòu)建的核心環(huán)節(jié),實(shí)體關(guān)系抽取作為一項(xiàng)基本技術(shù),在自然語言處理應(yīng)用中發(fā)揮著重要作用,也是本項(xiàng)目的關(guān)鍵步驟之一。關(guān)系抽取的方法非常多,有基于規(guī)則的方法和基于學(xué)習(xí)的方法等,由于基于學(xué)習(xí)的方法涉及到深度學(xué)習(xí)模型等非常復(fù)雜的算法,所以我們選擇了基于規(guī)則的方法?;谝?guī)則的方法中有諸如基于觸發(fā)詞的特征,但由于這種方法是基于模板的關(guān)系抽取方法,因此只適合小規(guī)模應(yīng)用,而且模板的構(gòu)建需要專業(yè)知識(shí),并花費(fèi)大量的時(shí)間,考慮到本工程要做整個(gè)“動(dòng)物”的知識(shí)圖譜,數(shù)據(jù)量非常大,所以不適合本工程。綜合本工程的實(shí)際需求和實(shí)際情況,我們的初步設(shè)想是使用基于句法解析的關(guān)系抽取方法,雖然也是基于模板,但是因?yàn)楸竟こ痰奈谋拘畔⑷砍鲎园倏苿?dòng)物類的基本詞條,所以模板的構(gòu)建是切合實(shí)際的。

    1.3 ?針對(duì)“動(dòng)物”知識(shí)圖譜問題的方案實(shí)現(xiàn)

    開發(fā)環(huán)境為Win10(x64)操作系統(tǒng)下python3.6.4,用到的工具庫有Beautiful Soup4(一個(gè)HTML/XML的解析器)、pyltp(中文自然語言處理)和Neo4j(圖數(shù)據(jù)庫)。

    1.3.1 ?網(wǎng)絡(luò)爬蟲

    網(wǎng)絡(luò)爬蟲實(shí)現(xiàn)了從互動(dòng)百科、百度百科上爬取與“動(dòng)物”相關(guān)的詞條信息,而爬蟲問題的關(guān)鍵在于如何只爬取與“動(dòng)物”相關(guān)的網(wǎng)頁,我們采用的思路是先爬取“動(dòng)物”分類下的一部分動(dòng)物名字、類名、界名等詞語,作為爬蟲初始的url的關(guān)鍵字,然后在這些頁面中找出該頁面中所有的百科url。

    links = soup.find_all('a', href=re.compile(r"/ ?item/"))#搜索所有滿足條件的url

    這里需要用到Beautiful Soup4工具對(duì)網(wǎng)頁進(jìn)行解析,具體過程是先通過調(diào)用Beautiful Soup4的庫函數(shù)Beautiful Soup將用utf-8編碼的網(wǎng)頁進(jìn)行解析,處理成格式化后的字符串,然后調(diào)用find和find_all找到我們需要的標(biāo)簽,可是詞條是帶有注釋的,而我們不需要注釋,所以要用正則表達(dá)式刪除注釋。

    re_comment = re.compile('\[[0-9]+\]')#去掉的形式為中括號(hào)里面帶數(shù)字的結(jié)構(gòu)

    attributes_value = re_comment.sub('', attributes_value)

    提取出來的信息包括基本詞條信息和簡(jiǎn)介信息,基本詞條信息已經(jīng)是結(jié)構(gòu)化數(shù)據(jù),即是現(xiàn)成的SPO三元組,如“貓{'科:'貓科}”,而簡(jiǎn)介信息還是文本的形式,需要在接下來用關(guān)系抽取,從文本中抽取關(guān)系三元組。

    1.3.2 ?關(guān)系抽取

    關(guān)系抽取采用依存句法分析,其基本原理為:

    (1)一個(gè)句子中,必須只有一個(gè)獨(dú)立成分,且該成分不依存于其他成分;

    (2)在一個(gè)句子中,其他成分必須依存與某一成分;

    (3)在一個(gè)句子中,無論對(duì)于任何成分而言,其依存的成分最高數(shù)量為1,不能超過這一數(shù)量,簡(jiǎn)單地說,句子中的任意成分,其所依存的成分量不能大于等于2;

    (4)假設(shè)句子中存在三個(gè)成分,分別為1、2和3,在三個(gè)成分當(dāng)中,如果1直接依賴于2,而3在1與2中間,那么3既可以依存于1,又可以依存于2,但需要認(rèn)識(shí)到的是,一定要堅(jiān)持第三點(diǎn)公理,3必須單獨(dú)依賴于1或2。除此之外,成分3也可以既不依賴于1,也不依賴于2,而是依賴于兩者之間的某一成分N。

    簡(jiǎn)單來講,就是通過分析語言單位內(nèi)成分之間的依存關(guān)系揭示其句法結(jié)構(gòu)。依存句法分析識(shí)別句子中的“主謂賓”、“定狀補(bǔ)”這些語法成分,并分析各成分之間的關(guān)系。依存句法分析本質(zhì)上可以轉(zhuǎn)換為分類問題,所以將依存句法作為序列標(biāo)注任務(wù)進(jìn)行解決也是可行的。

    具體算法實(shí)現(xiàn)如下:

    首先,我們導(dǎo)入了第三方分詞庫pyltp用于中文分詞處理和詞性(名詞、動(dòng)詞等等)的分析,首先調(diào)用pyltp的庫函數(shù)進(jìn)行句子的成分分析,得到句子的分詞結(jié)果,每個(gè)詞的詞性和每?jī)蓚€(gè)詞之間的關(guān)系,例如,輸入的數(shù)據(jù)是“貓,屬于貓科動(dòng)物,分家貓、野貓,是全世界家庭中較為廣泛的寵物。家貓的祖先據(jù)推測(cè)是起源于古埃及的沙漠貓,波斯的波斯貓,已經(jīng)被人類馴化了3500年(但未像狗一樣完全地被馴化)?!边@是百度百科貓的簡(jiǎn)介,也是需要進(jìn)行關(guān)系抽取的對(duì)象之一。

    tags = soup.find('dd', {'id': 'open-tag-item'})

    #調(diào)用pyltp庫得到分詞結(jié)果

    words = list(self.segmentor.segment(sentence))

    #得到每個(gè)詞的詞性

    postags = list(self.postagger.postag(words))

    #得到詞語之間的依存關(guān)系

    arcs = self.parser.parse(words, postags)

    #對(duì)arcs進(jìn)行規(guī)范化,將其容易讀一點(diǎn),并存入字典,方便使用

    child_dict_list, format_parse_list = self.build_parse_child_dict(words, postags, arcs)

    得到的標(biāo)注關(guān)系很長(zhǎng),在此不一一羅列,這是其中的兩個(gè)例子:

    ['SBV', '貓', 0, 'n', '屬于', 2, 'v']

    ['ATT', '貓科', 3, 'n', '動(dòng)物', 4, 'n']

    第一個(gè),SBV是指主謂關(guān)系,“貓”是主語,0是“貓”的索引值,因?yàn)椤柏垺笔蔷渥拥牡谝粋€(gè)詞,n是“貓”的詞性,為名詞。因?yàn)椤柏垺焙汀皩儆凇遍g有個(gè)逗號(hào),所以“屬于”的索引值為2,然后“屬于”是動(dòng)詞。

    第二個(gè)同理,ATT是指定中關(guān)系。

    標(biāo)注的關(guān)系有很多種,以下是12種依存句法分析標(biāo)注關(guān)系,如表1所示。

    由于關(guān)系抽取想要獲得的關(guān)系是用于進(jìn)行知識(shí)圖譜的構(gòu)建,SPO三元組中比較好處理的一種類型就是主謂賓的形式,所以利用語義關(guān)系標(biāo)注,獲取所有的主謂賓三元組。

    if 'SBV' in child_dict and 'VOB' in child_dict:

    r = words[index]

    e1 = self.complete_e(words, postags, child_dict_list, child_dict['SBV'][0])

    e2 = self.complete_e(words, postags, child_dict_list, child_dict['VOB'][0])

    svos.append([e1, r, e2])

    提取得到三元組后,這個(gè)三元組的主語和賓語其實(shí)是不完整的,缺少對(duì)主語和賓語的修飾語,所以還需要對(duì)三元組中的主語和賓語進(jìn)行擴(kuò)展。我們用主語和賓語相關(guān)的定中關(guān)系,即加上名詞的修飾語。

    if 'ATT' in child_dict:

    for i in range(len(child_dict['ATT'])):

    prefix += self.complete_e(words, postags, child_dict_list, child_dict['ATT'][i])

    postfix = ''

    if postags[word_index] == 'v':

    if 'VOB' in child_dict:

    postfix += self.complete_e(words, postags, child_dict_list, child_dict['VOB'][0])

    if 'SBV' in child_dict:

    prefix = self.complete_e(words, postags, child_dict_list, child_dict['SBV'][0]) + prefix

    現(xiàn)在可以抽取得到剛才那段話中的三元組了:

    ['貓', '屬于', '貓科動(dòng)物'], ['貓', '是', '全世界家庭中較為廣泛寵物'], ['家貓祖先', '是', '起源']

    可以看到,前兩個(gè)三元組非常合理,證明句法依存確實(shí)能提取出有價(jià)值的三元組,但是,同時(shí)也出現(xiàn)了一些問題,第三個(gè)三元組缺少了“起源”修飾語。這也是本系統(tǒng)需要改進(jìn)的地方。

    1.3.4 ?生成知識(shí)圖譜

    這一模塊的功能是將所有的三元組導(dǎo)入Neo4j圖形數(shù)據(jù)庫,利用圖形數(shù)據(jù)庫生成知識(shí)圖譜。這個(gè)過程包含知識(shí)庫的融合,需要將來自于不同數(shù)據(jù)源(百度百科、互動(dòng)百科)、以不同方法(從半結(jié)構(gòu)化數(shù)據(jù)中直接提取、基于句法依存關(guān)系的知識(shí)抽取)提取的三元組存儲(chǔ)到同一個(gè)數(shù)據(jù)庫中。在知識(shí)融合的過程中,需要去除沖突項(xiàng)、冗余項(xiàng)。

    (1)Neo4j數(shù)據(jù)庫簡(jiǎn)介。Neo4j數(shù)據(jù)庫是一種NOSQL圖形數(shù)據(jù)庫,與傳統(tǒng)關(guān)系數(shù)據(jù)庫相比,它將結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)在網(wǎng)絡(luò)(圖)中,而不是表中。網(wǎng)絡(luò)或者圖是一種靈活的數(shù)據(jù)結(jié)構(gòu),它具有有靈活、敏捷的特點(diǎn)。

    網(wǎng)絡(luò)由節(jié)點(diǎn)、邊、屬性構(gòu)成。每一個(gè)節(jié)點(diǎn)代表一個(gè)實(shí)體;實(shí)體之間通過邊進(jìn)行連接,邊代表實(shí)體之間的關(guān)系;無論是頂點(diǎn)或者邊都可以有任意多的屬性,以key:balue的形式進(jìn)行存儲(chǔ)。

    (2)py2ne模塊。py2ne模塊是一個(gè)面向Neo4j數(shù)據(jù)庫管理的python庫。py2ne封裝了大量的Neo4j的數(shù)據(jù)庫操作,包括連接Neo4j數(shù)據(jù)庫、創(chuàng)建節(jié)點(diǎn)、創(chuàng)建關(guān)系、通過節(jié)點(diǎn)/關(guān)系進(jìn)行查詢等。

    (3)導(dǎo)入三元組。這一步驟分兩步進(jìn)行,首先將從半結(jié)構(gòu)化的數(shù)據(jù)中提取的三元組導(dǎo)入數(shù)據(jù)庫,然后在此基礎(chǔ)上導(dǎo)入從文本中經(jīng)過知識(shí)抽取得到的三元組,這個(gè)過程包括去除冗余項(xiàng)和沖突項(xiàng)。

    導(dǎo)入三元組具體的操作步驟如下所示:

    1)首先調(diào)用py2neo的Graph()方法,通過參數(shù)輸入賬號(hào)、密碼,連接數(shù)據(jù)庫;

    2)調(diào)用Node()方法創(chuàng)建節(jié)點(diǎn),創(chuàng)建節(jié)點(diǎn)時(shí)根據(jù)實(shí)體進(jìn)行查詢,若圖中已經(jīng)有該實(shí)體對(duì)應(yīng)的節(jié)點(diǎn),不再創(chuàng)建節(jié)點(diǎn),反之,則創(chuàng)建節(jié)點(diǎn),調(diào)用create()方法將節(jié)點(diǎn)存入數(shù)據(jù)庫;

    3)調(diào)用Relationship()方法創(chuàng)建關(guān)系,調(diào)用create()方法將關(guān)系存入數(shù)據(jù)庫。

    (4)Neo4j的Web控制臺(tái)。打開Neo4j數(shù)據(jù)庫的Web控制臺(tái),在這里可以對(duì)數(shù)據(jù)庫進(jìn)行增刪查改等基本操作,而這些操作通過Neo4j自帶的Cypher語言實(shí)現(xiàn)。

    當(dāng)三元組完全且正確地導(dǎo)入數(shù)據(jù)庫后,我們的知識(shí)圖譜基本上已經(jīng)構(gòu)建完成,但是需要以Graph的形式顯示出來。在Web控制臺(tái)頁面的左側(cè),我們可以點(diǎn)擊Entity,進(jìn)而查看一部分知識(shí)圖譜,點(diǎn)擊其中任一個(gè)節(jié)點(diǎn),選擇展開Expand child relationships就可以得到更多的節(jié)點(diǎn)和關(guān)系,這樣一步步展開,可以顯示完整的知識(shí)圖譜,但這種方式無疑是很笨拙。如果要查看完整的知識(shí)圖譜,只需要修改查詢語句,設(shè)置Limit節(jié)點(diǎn)數(shù)足夠大,就可以顯示出完整的知識(shí)圖譜。需要注意的是,數(shù)據(jù)庫將最多顯示節(jié)點(diǎn)數(shù)初始值設(shè)置為300個(gè),我們?cè)谑褂脮r(shí)要將其值修改為一個(gè)足夠大的數(shù),不然無論怎么修改查詢語句,也最多只能顯示300個(gè)節(jié)點(diǎn)。

    為了更好地查看完整的知識(shí)圖譜,可以將其保存為svg圖片格式,再通過svg圖片查看器(例如Inkscape)進(jìn)行查看。

    2 ?系統(tǒng)測(cè)試

    測(cè)試環(huán)境為Win10(x64)操作系統(tǒng)下python3.6.4,用到的工具庫有Beautiful Soup4(一個(gè)HTML/XML的解析器)、pyltp(中文自然語言處理)和Neo4j(圖數(shù)據(jù)庫)。

    2.1 ?關(guān)系抽取測(cè)試

    將百度百科簡(jiǎn)介信息進(jìn)行依句法依存關(guān)系完成關(guān)系抽取的結(jié)果。

    處理前:

    金眼鯛目(Beryciformes)是硬骨魚綱輻鰭魚亞綱的1目。化石始于白堊紀(jì)?,F(xiàn)有3亞目14科約38屬164種。

    角鯊目(Squaliformes),軟骨魚綱板鰓亞綱的一目。有3科21屬87種。背鰭2個(gè),硬棘有或無;臀鰭消失。鰓孔5個(gè),椎體環(huán)型或多環(huán)型。吻軟骨1個(gè)。主要分布于世界各溫水、冷水海區(qū)或深海。

    鳥臀目(拉丁目名Ornithischia或Predentata)也稱為鳥盤目。是一類有喙(外觀類似鳥喙)的草食性恐龍。意思是“如鳥類般的臀部”。之所以有這種名字,是因?yàn)樗鼈儞碛信c鳥類相似的骨盆結(jié)構(gòu)。

    海魴目(Zeiformes)是硬骨魚綱的1目。約有6科21屬36種,均為海產(chǎn)。體側(cè)極扁且高;上頜顯著突出,無輔上頜骨;鱗細(xì)小或僅有痕跡;背、臀鰭基部及胸腹部有棘狀骨板;后顳骨不分叉,與頭蓋骨連接;第一脊椎骨與頭蓋骨密切連接;背鰭鰭棘部發(fā)達(dá),與鰭條部區(qū)分顯明;背鰭有5~10鰭條,棘間膜延長(zhǎng)呈絲狀;臀鰭有1~4鰭棘;背、臀鰭及胸鰭條均不分枝;腹鰭胸位,通常有1鰭棘5~9鰭條;無目匡蝶骨;鰾無管,有或無牙。

    燕鳥目是今鳥亞綱的一目,僅有1科1屬,即燕鳥科燕鳥。

    處理后:

    [['金眼鯛目', '是', '硬骨魚綱輻鰭魚亞綱1目'], ['化石', '始', '白堊紀(jì)'], ['現(xiàn)有', '屬', '164種']]

    [['3科', '屬', '87']]

    [['鳥臀目', '稱為', '鳥盤目'], ['意思', '是', '鳥類臀部'], ['它們', '擁有', '與鳥類相似骨盆結(jié)構(gòu)']]

    [['海魴目', '是', '硬骨魚綱1目'], ['6科', '屬', '36'], ['鱗', '有', '痕跡'], ['背臀鰭基部及胸腹部', '有', '棘狀骨板'], ['與鰭條部', '區(qū)分', '鰭棘部'], ['背鰭', '有', '510鰭條'], ['棘間膜', '延長(zhǎng)', '呈絲狀'], ['臀鰭', '有', '14鰭棘'], ['背', '分', '枝'], ['腹鰭胸位', '有', '1鰭棘5條'], ['鰾', '無', '管'], ['鰾', '有', '牙'], ['鰾', '無', '牙']]

    [['燕鳥目', '是', '今鳥亞綱一目'], ['燕鳥目', '有', '1科1屬']]

    可以看出,“燕鳥目是今鳥亞綱一目”被分為了[['燕鳥目', '是', '今鳥亞綱一目']],成功提取了實(shí)體間關(guān)系并生成三元組,但是由于是通過句法依存分析得到的,所以會(huì)有很多不合理的三元組。

    2.2 ?Neo4j圖數(shù)據(jù)庫測(cè)試

    總體效果:共生成接近6000個(gè)結(jié)點(diǎn),10000多個(gè)聯(lián)系。

    “動(dòng)物”知識(shí)圖譜總體效果如圖1所示,結(jié)點(diǎn)之間的聯(lián)系非常多,且大部分結(jié)點(diǎn)都有相互關(guān)聯(lián)的結(jié)點(diǎn),證明知識(shí)圖譜構(gòu)建比較成功,但由于整體效果無法判斷知識(shí)圖譜是否準(zhǔn)確,所以選擇了一小部分結(jié)點(diǎn),測(cè)試效果如圖2所示。

    可以看到,SPO三元組以圖的形式呈現(xiàn)出來(因?yàn)橹蝗×艘恍〔糠纸Y(jié)點(diǎn)和聯(lián)系,所以圖上很多結(jié)點(diǎn)沒有相互關(guān)聯(lián),其實(shí)很多是有關(guān)聯(lián)的)。可以清楚地找到一個(gè)動(dòng)物和與之相關(guān)的實(shí)體和實(shí)體間聯(lián)系。

    參考文獻(xiàn):

    [1] 王延領(lǐng).python 3.x 爬蟲基礎(chǔ)——Requersts,Beautiful-Soup4(bs4) [EB/OL].http://www.cnblogs.com/kmonkeywyl/ p/8482962.html,2018-04-03.

    [2] Pelhans.知識(shí)圖譜入門(三)知識(shí)抽取 [EB/OL].https: //blog.csdn.net/pelhans/article/details/80020309,2018-04-20.

    [3] MihaiWang.Python操作Neo4j的基本操作 [EB/OL].https://blog.csdn.net/wmh13262227870/article/details/77842 513,2017-09-04.

    作者簡(jiǎn)介:袁若瀛(1998.06-),男,漢族,山東菏澤人人,本科,主要研究方向:大數(shù)據(jù)、機(jī)器學(xué)習(xí)。

    猜你喜歡
    網(wǎng)絡(luò)爬蟲知識(shí)圖譜
    煉鐵廠鐵量網(wǎng)頁數(shù)據(jù)獲取系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    國(guó)內(nèi)圖書館嵌入式服務(wù)研究主題分析
    國(guó)內(nèi)外政府信息公開研究的脈絡(luò)、流派與趨勢(shì)
    近十五年我國(guó)小學(xué)英語教學(xué)研究的熱點(diǎn)、問題及對(duì)策
    基于知識(shí)圖譜的產(chǎn)業(yè)集群創(chuàng)新績(jī)效可視化分析
    基于知識(shí)圖譜的智慧教育研究熱點(diǎn)與趨勢(shì)分析
    從《ET&S》與《電化教育研究》對(duì)比分析中管窺教育技術(shù)發(fā)展
    基于社會(huì)網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁挖掘研究
    主題搜索引擎中網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)研究
    淺析如何應(yīng)對(duì)網(wǎng)絡(luò)爬蟲流量
    如东县| 新营市| 六枝特区| 巨鹿县| 宁河县| 上思县| 克什克腾旗| 交城县| 商城县| 互助| 垦利县| 南郑县| 星子县| 视频| 塔河县| 申扎县| 玉田县| 庆元县| 汨罗市| 大理市| 潞城市| 喀喇沁旗| 连江县| 凤阳县| 定西市| 阳高县| 和顺县| 古交市| 家居| 静安区| 梨树县| 黑龙江省| 广饶县| 鹤庆县| 沙湾县| 息烽县| 伊宁县| 城口县| 怀宁县| 偏关县| 顺平县|