###前提・実現したいこと
現在、juliusを利用して認識結果をテキストとして取得するプログラムを作っているのですが、モジュールモードで結果を取得するまではできたのですが、肝心の認識結果がよくわからない文字列が出力されてしまいます。
問題点がありましたら、改善の指摘をしていただけると嬉しいです。
お願いします。
###発生している問題・エラーメッセージ
問題の出力結果
b'<RECOGOUT>\ 'b' <SHYPO RANK="1"'b' SCORE="-3272.057617"'b'>\ 'b' <WHYPO'b' WORD=""'b' CLASSID="<s>"'b' PHONE="'b'silB'b'"'b' CM="0.474"'b'/>\ 'b' <WHYPO'b' WORD="\x82\xa0\x82\xea"'b' CLASSID="\x82\xa0\x82\xea+\x8a\xb4\x93\xae\x8e\x8c"'b' PHONE="'b'a'b' r'b' e'b'"'b' CM="0.007"'b'/>\ 'b' <WHYPO'b' WORD="\x81B"'b' CLASSID="</s>"'b' PHONE="'b'silE'b'"'b' CM="1.000"'b'/>\ 'b' </SHYPO>\ 'b'</RECOGOUT>\
理想の出力結果
<RECOGOUT> <SHYPO RANK="1" SCORE="-6888.637695" GRAM="0"> <WHYPO WORD="silB" CLASSID="39" PHONE="silB" CM="1.000"/> <WHYPO WORD="上着" CLASSID="0" PHONE="u w a g i" CM="1.000"/> <WHYPO WORD="を" CLASSID="35" PHONE="o" CM="1.000"/> <WHYPO WORD="白" CLASSID="2" PHONE="sh i r o" CM="0.988"/> <WHYPO WORD="に" CLASSID="37" PHONE="n i" CM="1.000"/> <WHYPO WORD="して" CLASSID="27" PHONE="sh i t e" CM="1.000"/> <WHYPO WORD="下さい" CLASSID="28" PHONE="k u d a s a i" CM="1.000"/> <WHYPO WORD="silE" CLASSID="40" PHONE="silE" CM="1.000"/> </SHYPO> </RECOGOUT>
###該当のソースコード
# -*- coding: utf-8 -*- #!/usr/bin/env python from __future__ import print_function import socket from contextlib import closing import subprocess from time import sleep import xml.etree.ElementTree as ET def main(): p = subprocess.Popen(["start_julius.sh"], stdout = subprocess.PIPE, shell = True) sleep(3) host = 'localhost' port = 10500 bufsize = 4096 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((host,port)) try : data = "" while 1: if '</RECOGOUT>' in data: print(data) break elif '<RECOGOUT>' in data: data = data + str(sock.recv(1024)) else :data = str(sock.recv(1024)) except KeyboardInterrupt: p.kill() sock.close() return data if __name__ == '__main__': recv_data=main()
#start_julius.sh bin/windows/julius.exe -C main.jconf -C am-gmm.jconf -charconv euc-jp utf-8 -module
###試したこと
-charconv でsjis、euc、utf8を組み合わせを変えながら実行してみたのですが、実行結果は変わりませんでした・・・
###補足情報(言語/FW/ツール等のバージョンなど)
使用言語:Python3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/01 04:58