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