DeepDive自動化信息抽取---全網首發DeepDive偷工減料超速部署方式

1. DeepDive

DeepDive (http://deepdive.stanford.edu/) 是斯坦福大學開發的信息抽取系統,能處理文本、表格、圖表、圖片等多種格式的無結構數據,從中抽取結構化的信息。系統集成了文件分析、信息提取、信息整合、概率預測等功能。Deepdive的主要應用是特定領域的信息抽取,系統構建至今,已在交通、考古、地理、醫療等多個領域的項目實踐中取得了良好的效果;在開放領域的應用,如TAC-KBP競賽、維基百科的infobox信息自動增補等項目中也有不錯的表現。

開源地址:https://github.com/HazyResearch/deepdive

本文用的支持中文的deepdive來自於http://www.openkg.cn/dataset/cn-deepdive,修改了自然語言處理的model包,使它支持中文。

1.1 系統架構

DeepDive的系統架構如下圖所示,大致分爲數據處理、數據標註、學習推理和交互迭代四個流程:

img

基於DeepDive的系統可以被沒有機器學習經驗的用戶使用包括古生物學、基因學等。DeepDive是一個使用機器學習算法的訓練系統來減少各種形式的噪音和不確定性,通過Mindtagger接口、基於規則的豐富的結構化領域的知識讓用戶能夠在較低的反饋下完成系統訓練的工作。DeepDive是要讓沒有機器學習實踐的專家們也能使用它,它的一個關鍵的技術創新包括解決大範圍的概率統計推斷問題。它和傳統的系統幾個不一樣的地方在於:

  • DeepDive要求開發者思考特徵而不是算法,而其他機器學習系統要求開發者思考聚類算法、分類算法的使用等,而DeepDive基於聯合推理的算法讓用戶只需要關心信號或者特徵本身。
  • DeepDive系統能夠獲得更高的質量:PaleoDeepDive在科學領域知識抽取能力和實體關係抽取能力上比人類更勝一籌。
  • DeepDive很明確的知道數據經常有噪聲和誤差:名字被誤拼、自然語言有多意或者人類自己犯錯。通過考慮這些誤差,DeepDive爲每一個決斷進行復雜的可能性計算,比如如果DeepDive告知可能性爲0.9,那麼證明事實爲真的概率爲90%。
  • DeepDive可以把多種數據源作爲數據的來源,如文檔、網頁、PDF、圖表和表格。
  • DeepDive允許特定領域的開發者使用簡單的規則來影響學習的過程以提升結果的質量,DeepDive也考慮到用戶的反饋來更正預測的準確度來更加精準的預測。
  • DeepDive能夠使用數據來立即學習。大部分的機器學習系統需要爲每一次預測構建大量的訓練,而許多DeepDive應用,尤其是早期,可以完全不需要訓練數據。
  • DeepDive的關鍵在於其可擴展性、優質的推理和學習引擎。在項目中應用到的技術包括部分商業和開源工具:MADlib、Impala(Oracle的一款產品產品)和底層工具如Hogwild,它們同時也被微軟的Adam和其他主要的網絡公司集成。

2. 部署DeepDive

官方已經提供的良好的部署教程http://deepdive.stanford.edu/installation,但是經過一輪踩坑跟看別人踩坑之後,作爲區區一介工具人,肯定是不能忍受又要掛代理又要改腳本還要改系統環境變量,等等等略麻煩的操作,因此下面將演示兩種部署方式,分別是工具人偷工減料超速部署方式以及官方部署方式,總有一種適合你。

2.1 環境準備

系統工具 版本 備註
CentOS 7
Docker 18.09.4
Docker-compose 1.23.2 參考:CentOS7安裝Docker-compose推薦方案

2.2 工具人偷工減料超速部署方式

身處2020,有容器方式的環境不用偏要走二進制的路,那是不符合經濟效率的,經過工具人一頓摸索,也就是對官方的install.sh部署腳本瞭解一波後,DeepDive支持docker+docker-compose的方式部署,具體相關文件如下:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bslUbtlj-1585127687960)(C:\Users\lps\Documents\myblog\deepdive\DeepDive.assets\image-20200325093108937.png)]

以上來自DeepDive的源碼地址https://github.com/HazyResearch/deepdive

我們只需要上面紅色框框圈住的兩個文件夾即可。

2.2.1 下載相關文件

下載上面的sandboxtest兩個文件夾,就兩條路

在這裏插入圖片描述工具人演示一下怎麼從github.com上面只下載單文件夾

  1. sandbox爲例,GitHub的文件具體路徑爲:https://github.com/HazyResearch/deepdive/tree/master/sandbox

  2. 工具人私藏n年github小工具今天終於得見天日!國內有人clone一波的專門下載github單文件的在線工具:http://zhoudaxiaa.gitee.io/downgit

  3. 打開downgit之後,複製github上面文件/文件夾路徑

在這裏插入圖片描述
4. 有仔細看的大佬肯定發現,工具人你downgit上面的路徑跟github的路徑有差別!是的,差別在於原本的~/tree/~

改成了~/trunck~/,所有丟這裏的github地址都這樣改就對了。

  1. 然後就點擊創建下載鏈接或者下載就可了。

sandboxtest 文件夾放在同級目錄

2.2.2 部署

進入~/sandbox 目錄

可以看到裏面就一個docker-compose文件
在這裏插入圖片描述
在這裏插入圖片描述
註釋docker鏡像構建腳本,直接從dockerhub下載(所謂工具人偷工減料超速部署的核心)
在這裏插入圖片描述

暴露數據庫端口
在這裏插入圖片描述

當前目錄執行以下命令:

docker-compose up -d

執行完成後,循例 docker ps |grep deepdive檢查容器是否正常啓動中。

在這裏插入圖片描述

訪問http://host:8888進入jupyter

2.3 官方部署方式

2.3.1 下載解壓

支持中文的Deepdive下載地址:

github上的官方下載地址:
https://github.com/HazyResearch/deepdive/releases
openkg.cn上的下載地址(百度網盤的形式,也慢哪,不過可以用速盤下載):
http://openkg.cn/tool/cn-deepdive
速盤下載地址(用這個解析百度雲盤下載地址,會快很多):
https://www.speedpan.com

mkdir /home/deepdive  && cd  deepdive
unzip CNdeepdive.zip

解壓後目錄結構如下:
在這裏插入圖片描述

2.3.2 安裝

~/CNdeepdive目錄執行部署

./install.sh

先刪除以下文件

rm deepdive-v0.8-STABLE-Darwin.tar.gz &&  rm deepdive-v0.8-STABLE-Linux.tar.gz

然後重新執行 ./install.sh

控制檯出現以下提示,按照提示選擇如下,

在這裏插入圖片描述

這裏我們選擇docker的方式,按照install.sh的邏輯會去下載對應github倉庫的源碼

https://github.com/HazyResearch/deepdive/

由於最近github尤其地慢,所以建議參考以下博客如何快速clone github代碼庫 ,然後修改install.sh,將原本的github.com地址改成gitee地址

然後等待部署成功就行。

參考資料

http://deepdive.stanford.edu/installation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章