tagger = MeCab.Tagger("-Owakati")
data = [tagger.parse(n) for n in text] # 分かち書きに変換
word2id , id2word = {},{}
for line in data: # 1行ずつ取得
for word in line.split(' '): # 1単語ずつ取得
if word not in word2id and word !='\n': # 辞書にない単語を取得
id = len(word2id) + 1 # id = 0はパディング用
word2id[word] = id
id2word[id] = word
for line in data:
data_tmp = []
for word in line.split(' '):
if word != '\n':data_tmp.append(word2id[word]) # 単語をIDに変換して追加
q , mod = divmod(len(data_tmp) , max_len) # 1文が何列になるか演算。q列でmod文字余る
if mod > 0 : flug = 1 # 余りが出たことを判別
else : flug = 0
for i in range(q + flug):
id = data_tmp[i * max_len : i * max_len + max_len] # ID配列生成
if i == q and flug > 0: # 余りが出た場合はpaddingして1列生成する
id = np.pad(id,[0, max_len - mod])
id_data.append(id) # ID化された文章を追加