colab-logo-1

前回の記事では対話コーパスに識別子をわざわざつけた。
しかし、別ファイルに保存したほうが取り扱いが楽なのでは?
と思い立ったのでコーパスファイルを整形するやつ。

24時間毎にテキストファイルが分割されているのを前提に、
一度すべて結合したものを中間保存する。
クソデカコーパスファイルが出来上がるが、
これを処理したほうが楽な場合もあるので
一時ファイルとして残しておく。

次に一時ファイルを1行ずつ読み込み
識別子で発話文と応答文別にファイルを振り分け保存。
偶数行奇数行に分けると楽なんだろうけど
なんかノイズが混じってたら破綻するのでこういう仕様。
多分これが一番遅いと思います(迫真)

import glob

src_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()
#使いたい方のコメントアウトを解除する