6分钟

常见错误

1.crf++linux 上编译报错:fatal error: winmain.h: No such file or directory

  • 原因:crf++考虑了跨平台,而在linux 上找不到该文件。
  • 解决方案:

sed -i '/#include "winmain.h"/d' crf_test.cpp
sed -i '/#include "winmain.h"/d' crf_learn.cpp

2. 运行 crf_learn ,提示找不到libcrfpp.so.0cannot open shared object file: No such file or directory

  • 原因:没有链接到库文件。
  • 解决方案:

export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

3. 运行 crf_learn ,提示:inconsistent column size

  • 原因:语料库中,出现了异常的标记行。
    • crf++ 要求所有行的列数都相同。如果某些列出现了不同的列数,则报错。
    • crf++\t 或者空格分隔各列,以空行来分隔sentence

4. 运行 crf_learn ,输出为: reading training data: tagger.cpp(393) [feature_index_->buildFeatures(this)] 0.00 s

  • 原因:模板文件编写不正确。 假设一共有 N 列,则列编号必须为0~N-2 ,其中第 N-1 列为标签列,不能进入模板中。

5. 编译python API 时报错:fatal error: Python.h: 没有那个文件或目录

  • 原因:没有安装python3.6-dev
  • 解决方案:

sudo apt-get install python3.6-dev