kaldi ImportError: No module named mmseg 解决方案


原文链接:https://www.cnblogs.com/harrymore/p/15749808.html

1. 问题

在跑./run.sh的时候,因为在一些数据集(如magicdata)的预处理中,会调用local/word_segment.py进行分词处理。查了一下,看到mmseg是n年前的包,而且只支持python2.x。github上有人上传了转化成python3.x版本的包(https://github.com/bxshi/py3mmseg),但是下载编译后,也发现不管用,一看发现差不多是10年前上传的,也作罢。于是想到jieba分词,宣称要做最好的 Python 中文分词组件。具体项目可以参考:https://github.com/fxsjy/jieba。之前用过也是简单好用。

安装也非常简单,因为用的3.8,直接用pip安装即可:

pip3 install jieba

后面发现在原来的标签中,还有一些不可视的字符存在,于是也在word_segment.py中进行处理。

2. 代码

word_segment.py:

#!/usr/bin/env python3

from __future__ import print_function
import sys
import jieba
for line in sys.stdin:
  blks = str.split(line)
  out_line = blks[0]
  for i in range(1, len(blks)):
    for j in jieba.cut(blks[i]):
      if j.isprintable():
        out_line += " " + j
  print(out_line)

注意:原来的解释器是python2,需要改成你自己的解释器。

最终效果(egs/multi_cn/s5/data/magicdata/test/text):

image

(完)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM