1. 程式人生 > >哈工大自然語言處理工具pyltp的本地安裝方法

哈工大自然語言處理工具pyltp的本地安裝方法

在研究中發現,哈工大的LTP在分詞、實體識別等方面的效果甚至要優於中科院ICTCLAS,而且LTP還具備了目前在中文資訊處理領域較為罕見的語義角色標註(SRL)功能。以前我都是直接以get方式通過LTP-Cloud去使用的,但是由於受限於網速,當語料較大時 執行速度較慢。於是近期考慮在自己的機子上安裝,由於個人比較喜歡用ython程式設計,所以就安裝了官方釋出的pyltp。在安裝過程中遇到了不少問題,我聯絡了哈工大的劉一佳博士和徐梓翔同學,在他們的耐心幫助下,終於安裝成功。向他們表示感謝!現將我的安裝過程做下總結,使你也少走彎路。

1 準備工作

1.1 系統環境

我的環境是 windows server 2008,Python3.2(32位版),開發工具為HBuilder【你可能也知道HBuilder適合做Web開發,但是為HBuilder安裝pydev外掛後,也可編寫Python程式,由於我平時還喜歡寫些php網頁,剛好一個軟體都能滿足我】

1.2 安裝CMAKE

LTP是用c++寫的,pyltp也是基於它封裝而成的,所以需要安裝camke. 我安裝的是二進位制版的 cmake-3.2.2-win32-x86.exe 安裝後不用配置環境變數。

1.3 安裝VS2008

在pyltp的安裝過程中 需要呼叫 cl.exe 完成原始碼的編譯。安裝的是微軟官方的vs2008 express 版。這個安裝好後,需要將cl.exe 的路徑新增到環境變數PATH中去(如我的是C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\cl.exe)

2 pyltp安裝步驟

2.1 下載pyltp並解壓到任意位置

下載頁面:https://github.com/hit-scir/pyltp

2.2 下載ltp並解壓到任意位置

下載頁面:https://github.com/hit-scir/ltp

2.3 將解壓後的ltp資料夾命名為ltp,整體複製到pyltp中。

也就是將ltp所有內容作為一個資料夾放到pyltp中。解壓pyltp後所得到的資料夾中已經有一個名為ltp的空資料夾,把它替換或覆蓋即可。

2.4 安裝pyltp

我是在cmd中通過 python setup.py install 命令實現安裝的,過程較慢,耐心等待,後期會出現大量的warning資訊,不要在意。安裝程式執行完畢後,在Python中執行import pyltp 不報錯,說明安裝成功了。

到這裡 核心程式的部署已經完成,而且官方的樣例已經可以順利執行了。我把這個資料夾部署到自己的Python專案中,在執行例子程式時 發現它的效果奇差。經進一步諮詢上述兩位同學後得知,pyltp自帶的這些模型檔案(在ltp_data資料夾中)僅為測試之用,正式的model檔案還需要從網上下載。見2.4步

2.4 下載並部署模型檔案

完整的模型檔案下載地址: http://pan.baidu.com/share/link?shareid=1988562907&uk=2738088569,我選擇的是目前最新的3.2.0版本(ltp-data-v3.2.0.zip),解壓後得到一個大於1G的資料夾,確保此資料夾名稱為ltp_data。至於這個資料夾要放到哪裡,經過分析官方例子,發現它的位置任意,但在Python程式中一定要指明這個路徑。於是我把它放到我的專案的根目錄下,並確保與存放Python源程式的src目錄並列,這樣官方的例子不用做修改就可載入這個檔案夾了。

注意,官方的例子是基於Python2的,如果你和我一樣也是Python3系列的,那麼需要把print後面的語句 加上括號

完成後,即可發現pyltp終於可以運行了。

在執行第二個功能時,即詞性標註,控制檯會出現警告:[WARNING] 2015/04/27 18:50:10 No constraints is loaded.  經詢問這是提示沒有載入自定義的詞性標註詞典。官方解釋說,這是由於目前的pyltp版尚不支援使用者加入本地的各類詞典。

下一步將瞭解如何解析pyltp的執行結果。