分詞註記

這篇文章主要記錄一下對各個分詞工具的配置問題,算是對自己踩過坑的一些總結和引導吧。

哈工大 LTP

哈工大 LTP 的主頁在 http://ltp.ai/index.html ,ltp 還出了語言云,也可以使用以下。這裏主要提一下 ltp 的安裝與使用,具體可參考在線文檔(http://ltp.ai/docs/index.html),其 Github 主頁在 https://github.com/HIT-SCIR/ltp

值得一提的是,ltp 是支持訓練模型的,就是利用已經人工切分好的預料庫進行訓練,具體說明可見 http://ltp.ai/docs/train.html#otcws ,其中訓練集文件和開發集文件都可以指定爲訓練集文件,即爲人工切分數據集。

具體分詞的話,可以使用 ltp 的 python 接口,也就是 pyltp 包。pyltp 的 Github 主頁在 https://github.com/HIT-SCIR/pyltp ,我在 mac 和 linux 上直接同 pip install pyltp 就可以了。在 windows 上的這樣安裝會報錯,不過 Github 上有個問題列表,https://github.com/HIT-SCIR/pyltp/issues ,裏面有提到了 pyltp 的安裝問題。可見 https://github.com/HIT-SCIR/pyltp/issues/125 ,可以進行編譯安裝,也可以安裝編譯好的 whl 文件。

然後就可以使用了,不過有個問題一直沒有解決,就是 mac 和 linux 上可以加載自己訓練的模型,但是同樣的代碼在 windows 上就不行,windows 上可以訓練出模型,但是利用 pyltp 寫代碼加載模型時,總會報錯,這個問題也有討論,可見 https://github.com/HIT-SCIR/pyltp/issues/90 ,不過我在windows 上一直沒有解決。

Stanford 分詞工具

斯坦福的這個分詞工具主頁在 https://nlp.stanford.edu/software/segmenter.shtml ,在主頁的最下面可以下載各個歷史版本的模型文件。

具體分詞的話,可以考慮使用 python 的 nltk 包,可以參考 http://www.cnblogs.com/baiboy/p/nltk1.html 。值得注意的是,要留意一下安裝的 nltk 的版本問題。我在 mac 上是手動安裝的,很早就安裝了,版本是 3.2.2,運行沒什麼問題,在 windows 和 linux 上安裝的是 anaconda,裏面集成的 nltk 是 3.2.5版本的,會報錯如下

TypeError: expected str, bytes or os.PathLike object, not NoneType

這個錯誤的也成功解決了,可以參見 https://github.com/stanfordnlp/CoreNLP/issues/484 ,其實就是在 StanfordSegmenter 裏傳遞如下參數就可以了

java_class = 'edu.stanford.nlp.ie.crf.CRFClassifier'

此外,高版本的 nltk 包有了新的方式調用斯坦福的分詞器,具體可見 https://github.com/nltk/nltk/issues/1808

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