質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

7719閲覧

julius音声認識結果だけを取り出すpython言語プログラム

S.J

総合スコア11

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2016/05/19 07:12

編集2016/06/08 06:58

###前提・実現したいこと
今のコードを実行するとjulius規程の結果が帰って来ます。
そこで、文字列結果だけを取りたいですが、どうすればいいですか?

###該当のソースコード
from future import print_function
import socket
from contextlib import closing
import commands

def main():
host = 'localhost'
port = 10500
bufsize = 4096
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host,port))
while True:
recv_data = sock.recv(bufsize)
print (recv_data)
if name == 'main':
main()

###実際の出力
<RECOGOUT>

<SHYPO RANK="1" SCORE="-1874.638672" GRAM="0"> <WHYPO WORD="<s>" CLASSID="3" PHONE=" silB " CM="1.000"/> <WHYPO WORD="金" CLASSID="0" PHONE="k i m u" CM="0.980"/> <WHYPO WORD="に" CLASSID="1" PHONE="n i" CM="1.000"/> <WHYPO WORD="行って" CLASSID="2" PHONE="i q t e" CM="1.000"/> <WHYPO WORD="</s>" CLASSID="4" PHONE="silE" CM="1.000"/> </SHYPO> </RECOGOUT>

###期待の出力
金に行って

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matobaa

2016/05/20 12:14

質問に「期待する出力」と「実際の出力」を追記していただけますか。
coco_bauer

2016/06/09 03:03

タグWHYPOの要素に音声認識結果が入っているように思えますが、どんな文字列を期待してるのですか? "<s>金に行って</s>"のようなもの? "k i m u n i i q t e"のようなもの? いずれも、XMLから生成するのは難しくなさそうに思えます。
guest

回答1

0

ベストアンサー

python

1# coding: utf-8 2# Here your code ! 3 4recv_data = '''<RECOGOUT> 5 6<SHYPO RANK="1" SCORE="-1874.638672" GRAM="0"> 7<WHYPO WORD="<s>" CLASSID="3" PHONE=" silB " CM="1.000"/> 8<WHYPO WORD="金" CLASSID="0" PHONE="k i m u" CM="0.980"/> 9<WHYPO WORD="に" CLASSID="1" PHONE="n i" CM="1.000"/> 10<WHYPO WORD="行って" CLASSID="2" PHONE="i q t e" 11CM="1.000"/> 12<WHYPO WORD="</s>" CLASSID="4" PHONE="silE" 13CM="1.000"/> 14</SHYPO> 15</RECOGOUT>''' 16 17def word(recv_data): 18 for line in recv_data.split('\n'): 19 index = line.find('WORD="') 20 if index!=-1: 21 line = line[index+6:line.find('"',index+6)] 22 if(line!='<s>' and line!='</s>'): 23 yield line 24 25print (''.join(word(recv_data)))

投稿2016/07/14 10:33

matobaa

総合スコア2493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問