天天看點

哈工大自然語言處理工具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版尚不支援使用者加入本地的各類詞典。

————————————————

轉載聲明:本文為CSDN部落客「捂汗縣長」的原創文章。

原文連結:https://blog.csdn.net/laoyaotask/article/details/45312905