執行 Moses 期間遇到的問題

2021-06-21 23:30:11 字數 884 閱讀 2492

一. 處理原始語料,我用的語料是中的30萬句對

1. 用python裡面的elementtree 將xml檔案解析出來並分成ch和en兩個檔案(注意,該語料本身是有問題的,有些標記沒有匹配,需要先用正則進行修改。另外,需要先用notepad 將語料轉換成utf-8,並在xml檔案的第一行寫上<?xml version="1.0" encoding="utf-8"?>,再在python指令碼的第一行寫上 #encoding=utf-8)

另註:如果在linux下遇到亂碼問題,則要修改linux系統的編碼和文字本身的編碼對應(在notepad下可以修改文字本身編碼);如果在securecrt下遇到亂碼問題,則要修改回話設定中的編碼和文字本身的編碼對應;如果在執行程式之後遇到亂碼問題,則要檢測那個程式執行要求的字元編碼格式,然後先將文字轉換成對應的格式再執行程式。

2.生成的兩個檔案ch和en

對於ch檔案:進行dos2unix轉換,進行a2b轉換,用ictclas進行切分(注意這過程的編碼問題)

對於en檔案:用tokenizer進行切分,用lowercase工具進行小寫化(這一步要在clean-n之後)

對於兩個檔案:用clean-n工具去掉過長的句子

3.語言模型的訓練

easy, pass

4.train-model

執行train-model.perl,注意其中的rootdir和corpus選項的路徑要用絕對路徑,否則可能有錯

(此過程本人經歷坎坷,先在曙光機上跑,可是用了一下裝的不完整的moses,結果導致錯誤,一直糾結,於是到160機上跑才一次成功,在此處記錄下160機上完整moses的路徑,以待後用:/bwdata160/ljz/moses/moses )

5. 處理dev語料,同樣切分,大小寫轉換

6. tuning

C 學習期間遇到的符號 用法問題

1.使用全域性變數,a 2.使用namespace中的變數 std a 3.使用類中的變數 c a 防止隱式轉換 引數太多,批量打包賦值。網路庫經常要操作記憶體,char 時,可以用mem函式集操作記憶體,一般字串還是用string來操作。auto will copy the vector,but ...

Moses搭建過程遇到的一些問題與解決

本人是按照這個鏈結 來安裝 moses,但在安裝過程仍然出現很多問題,記錄如下 安裝moses的需要的工具有 giza mkcls,srilm,分詞工具 我用的是ictclas 1.安裝srilm 需要 gawk,make,tcl,提前安裝,否則會出錯 按照上面鏈結安裝srilm,最後在make t...

VINS 執行遇到的問題

講真,建議用跟專案一樣的環境去跑,不然真的很麻煩,各種問題.相信大家看進來也不是看我瞎扯的,上點乾貨.這裡可以參考一下 1 opencv error 遇到這個問題其實就是opencv的版本問題.如果你的本機是ubuntu16.04,那麼很簡單你只需要在本機安裝opencv3,然後找到各個包裡面的cm...