
前回の記事では対話コーパスに識別子をわざわざつけた。
しかし、別ファイルに保存したほうが取り扱いが楽なのでは?
と思い立ったのでコーパスファイルを整形するやつ。
24時間毎にテキストファイルが分割されているのを前提に、
一度すべて結合したものを中間保存する。
クソデカコーパスファイルが出来上がるが、
これを処理したほうが楽な場合もあるので
一時ファイルとして残しておく。
次に一時ファイルを1行ずつ読み込み
識別子で発話文と応答文別にファイルを振り分け保存。
偶数行奇数行に分けると楽なんだろうけど
なんかノイズが混じってたら破綻するのでこういう仕様。
多分これが一番遅いと思います(迫真)
import globsrc_dir = "/SOURCE" # 対話コーパスを格納しているディレクトリjoint_name = "/joint.txt" # 結合したファイルのパスq_name = "/q.txt" # 発話ファイルのパスa_name = "/a.txt" # 応答ファイルのパス# ファイル結合def gattai():file_list = glob.glob(src_dir + '/*')for i in range(0,len(file_list)) :with open(file_list[i], 'r') as file:text = file.readlines("".join(lines))with open(joint_name, 'a') as save_file:save_file.write(text)# ファイル仕分けdef bunri():with open(joint_name, 'r') as file:while True:line = file.readline()if line:if 'REQ:' in line:with open(q_name, 'a') as file_q:file_q.write("".join(line))if 'RES:' in line :with open(a_name, 'a') as file_a:file_a.write("".join(line))else:break#gattai()#bunri()
#使いたい方のコメントアウトを解除する