1. 程式人生 > >文字順滑實踐--不順利的開始

文字順滑實踐--不順利的開始

選擇跑通哈工大的一個文字順滑專案--transition_disfluency ,不過很可惜, 我並沒有成功搭建起來,其中需要使用到的詞向量來源不明,後面看心情找作者要詞向量來源, 除了這個之外,模型其他的搭建都算是順利完成了。

由於大佬用的是c++寫的,而我根本不會c++,所以中間遇到了很多問題,就此記錄一下, 畢竟用linux,以後還是要面對c的。

一. 環境搭建

執行環境為linux16.04。

1. Eigen

2. CNN neural net toolkit

二. 搭建過程

1. Eigen

需要正確安裝Eigen,選擇從官網下載最新版本,或者使用一下命令下載:

hg clone https://bitbucket.org/eigen/eigen/ -r b2e267d

接著講eigen資料夾放入/usr/include資料夾下,將eigen資料夾中的Eigen資料夾copy到/usr/include資料夾下

這樣子, 隨便寫一個呼叫Eigen的c檔案測試一下是否安裝成功。測試案例

當然,這樣子的話還是不能跑通原模型的,不知道是規則如此還是我不懂規則的關係,後面還需要講eigen這個資料夾放到專案中去才能正常執行。

2. 安裝CNN neural net toolkit

這個相對來說要簡單得多,就是git下載下來,然後按照流程安裝就可以了,這裡有一點需要注意,就是CNN(現在最新版本叫做dyNet,不過原作者是用得老版本,所以繼續使用老版本)是需要Eigen正確安裝後才能正常執行的,如果使用apt-get直接進行下載的話,CNN將不能編譯成功,請使用上面的命令進行執行。

解決方案:sudo apt-get install cmake libblkid-dev e2fslibs-dev libboost-all-dev libaudit-dev 

3. 搭建文字順滑專案

3.1 先將專案下載下來

1. git clone https://github.com/hitwsl/transition_disfluency/tree/master/data

3.2 按照步驟執行

2. cd transition_disfluency
3. cd compile
4. 將eigen和CNN資料夾copy到compile目錄下
5. 這裡要對CNN進行編譯
    5.1 cd CNN
    5.2 mkdir build
    5.3 cd build
    5.4 cmake .. -DEIGEN3_INCLUDE_DIR=eigen安裝目錄
    5.5 make -j 2
6. mkdir build
7. cd build
8. 將eigen資料夾copy到compile目錄下
9. cmake .. -DEIGEN3_INCLUDE_DIR=eigen安裝目錄
10. make -j 10

4. 大佬用的是python2,我使用的是python3,所以在執行run.sh的時候會有報錯,需要修改部分python程式碼格式。

5. 到這裡就結束了,由於專案缺少部分資訊,還有我也不懂C++,沒辦法花大量時間去閱讀原始碼,沒辦法完成,實屬可惜,不過我也懶得再去找作者了,這個是一年前git的專案了,想了想就算了,總而言之,有點浪費時間了,不過還算是學到了點東西,光是cmake的一些操作,就算是值得了,對於我這種小白來說。

三. 總結

接下來,還要繼續找與文字順滑相關的資料,繼續學習。