Linux下CRF++的使用

來源:互聯網
上載者:User

Linux下CRF++的使用

在之前使用CRF++的過程中一直是再Windows下啟動並執行,由於訓練文本不大,所以很順利,但為提高結果準確率而增加訓練語料內容,隨之也出現問題,因為用自己的機子做會使cpu佔用率在訓練迭代時瞬間達到100%而導致crf_learn.exe停止工作,如所以就轉到伺服器端訓練了,然而也出現了一個問題,可能由於Windows下檔案在Linux中是略有不同,所以運行時報錯,如下:

encoder.cpp(340) [feature_index.open(templfile, trainfile)]feature_index.cpp(174) [max_size == size] inconsistent column size:3 1 train404pos11.txt

也嘗試將Windows檔案中的分行符號“\r\n”全部替換為“\r”但仍報錯,嘗試了幾種其他的方法後,仍無結果。突然想起來在CRF++包中有內建一個example檔案夾,就把裡面的樣本train.data拷到Windows下與我自己的檔案對比一下到底哪裡出了問題,用Notepad++開啟這兩個檔案,“視圖”-“顯示符號”-“顯示行尾符”,果然問題顯現,如:

我的訓練語料

CRF++樣本檔案

如何能將我文檔中的”CRLF“替換為只有”LF“呢?在網上找到了答案:”編輯“-”檔案格式轉換“-”轉為unix格式“,總算跟樣本檔案格式一致了,又到伺服器上測試一下效果如何,果然問題解決了,訓練成功。

小貼士:如果選mac格式就是只有CR,如果是Windows就是都有。建立的文檔預設應該是Windows格式。

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.