文本顺滑实践--不顺利的开始

选择跑通哈工大的一个文本顺滑项目--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将不能编译成功,请使用上面的命令进行运行。

2.1. 遇到这个问题:CMake is not able to find BOOST libraries

解决方案: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的一些操作,就算是值得了,对于我这种小白来说。

三. 总结

接下来,还要继续找与文本顺滑相关的资料,继续学习。

猜你喜欢

转载自blog.csdn.net/qq_28634403/article/details/84337708