华南俳烁实业有限公司

python

當(dāng)前位置:中華考試網(wǎng) >> python >> python問答 >> 文章內(nèi)容

知識圖譜可以用python構(gòu)建嗎?

來源:中華考試網(wǎng)  [2020年10月12日]  【

  知識圖譜可以用python構(gòu)建嗎?

  答案當(dāng)然是可以的。!

  那么如何使用python構(gòu)建

  什么是知識圖譜

  從Google搜索,到聊天機(jī)器人、金融風(fēng)控、物聯(lián)網(wǎng)場景、智能醫(yī)療、自適應(yīng)教育、推薦系統(tǒng),無一不跟知識圖譜相關(guān)。它在技術(shù)領(lǐng)域的熱度也在逐年上升。

  互聯(lián)網(wǎng)的終極形態(tài)是萬物的互聯(lián),而搜索的終極目標(biāo)是對萬物的直接搜索。傳統(tǒng)搜索引擎依靠網(wǎng)頁之間的超鏈接實(shí)現(xiàn)網(wǎng)頁的搜索,而語義搜索是直接對事物進(jìn)行搜索,如人物、機(jī)構(gòu)、地點(diǎn)等。這些事物可能來自文本、圖片、視頻、音頻、IoT設(shè)備等各種信息資源。而知識圖譜和語義技術(shù)提供了關(guān)于這些事物的分類、屬性和關(guān)系的描述,使得搜索引擎可以直接對事物進(jìn)行索引和搜索。

  知識圖譜是由Google公司在2012年提出來的一個(gè)新的概念。從學(xué)術(shù)的角度,我們可以對知識圖譜給一個(gè)這樣的定義:“知識圖譜本質(zhì)上是語義網(wǎng)絡(luò)(Semantic Network)的知識庫”。但這有點(diǎn)抽象,所以換個(gè)角度,從實(shí)際應(yīng)用的角度出發(fā)其實(shí)可以簡單地把知識圖譜理解成多關(guān)系圖(Multi-relational Graph)。

  那什么叫多關(guān)系圖呢? 學(xué)過數(shù)據(jù)結(jié)構(gòu)的都應(yīng)該知道什么是圖(Graph)。圖是由節(jié)點(diǎn)(Vertex)和邊(Edge)來構(gòu)成,但這些圖通常只包含一種類型的節(jié)點(diǎn)和邊。但相反,多關(guān)系圖一般包含多種類型的節(jié)點(diǎn)和多種類型的邊。

python課程免費(fèi)試聽預(yù)約

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  本項(xiàng)目利用pandas將excel中數(shù)據(jù)抽取,以三元組形式加載到neo4j數(shù)據(jù)庫中構(gòu)建相關(guān)知識圖譜。

  運(yùn)行環(huán)境

  基于Neo4j能夠很容易構(gòu)建知識圖譜,除了用neo4j自帶的cypher,也支持Python包py2neo創(chuàng)建節(jié)點(diǎn)和關(guān)系從而構(gòu)建知識圖譜。本項(xiàng)目是基于發(fā)票信息,將發(fā)票數(shù)據(jù)中結(jié)構(gòu)化數(shù)據(jù)抽象成三元組,分別創(chuàng)建節(jié)點(diǎn)和關(guān)系從而構(gòu)建成知識圖譜。

  具體包依賴可以參考文件requirements.txt

  neo4j-driver==1.6.2numpy==1.15.3pandas==0.23.4parso==0.3.1pickleshare==0.7.5pluggy==0.8.0prompt-toolkit==1.0.15py==1.7.0py2neo==3Pygments==2.2.0pytest==3.9.3python-dateutil==2.7.5wcwidth==0.1.7wincertstore==0.2xlrd==1.1.0

  將所需依賴安裝到pyton中:pip install -r requirements.txt

  Pandas抽取excel數(shù)據(jù)

  python中pandas非常適用于數(shù)據(jù)分析與處理,可以將excel文件轉(zhuǎn)換成dataframe格式,這種格式類似于Spark中的Dataframe結(jié)構(gòu),可以用類sql的形式對數(shù)據(jù)進(jìn)行處理。

  Excel數(shù)據(jù)結(jié)構(gòu)如下

  通過函數(shù)data_extraction和函數(shù)relation_extrantion分別抽取構(gòu)建知識圖譜所需要的節(jié)點(diǎn)數(shù)據(jù)以及聯(lián)系數(shù)據(jù),構(gòu)建三元組。

  數(shù)據(jù)提取主要采用pandas將excel數(shù)據(jù)轉(zhuǎn)換成dataframe類型

  invoice_neo4j.py

  建立知識圖譜所需節(jié)點(diǎn)和關(guān)系數(shù)據(jù)

  DataToNeo4jClass.py

  具體代碼請移步到GitHub上下載

  詳細(xì)內(nèi)容請到github下載,項(xiàng)目名neo4j-python-pandas-py2neo-v3

責(zé)編:hym
  • 會計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
永定县| 孝感市| 新乡市| 布拖县| 白水县| 毕节市| 西平县| 邹城市| 马边| 吕梁市| 祥云县| 长宁区| 昌江| 大田县| 乃东县| 桂林市| 林州市| 洛扎县| 泾源县| 哈巴河县| 巴彦县| 湘乡市| 廉江市| 丰都县| 兴业县| 大英县| 湘潭县| 苗栗县| 怀柔区| 宁波市| 徐闻县| 师宗县| 大姚县| 牟定县| 漯河市| 泗阳县| 中西区| 黄冈市| 晋中市| 彝良县| 开鲁县|