原文鏈接: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):
(完)