毎日テキストマイニング

180日間、毎日テキストマイニングをするブログです

2018/8/31【69日目】MXNetでRNNを実装して言葉を学習させていく

昨日の意味がわからない会話の中を繰り広げる中で、下記のことができていないのではないかと思いました。

  • 会話データがないと意味がない
  • 結局RNNを実装していない
  • こっちの言っていることに反応しない

できる限り1個ずつ解決していきたいと思います。

RNNの実装

RNNを実装するにはTensorflowやPyTorchがいいらしいですが、Amazonが提供するMxnetのGluonが手頃らしいです。 チュートリアルがありますので、一度触ってみます。

Recurrent Neural Networks (RNNs) for Language Modeling — The Straight Dope 0.1 documentation

とりあえずpip install

pip install mxnet
pip install --pre --upgrade mxnet
pip install gluonnlp

学習させるテキストはいつも通りAKBのテキストを用意します。 あとはチュートリアルのコードを貼り付けていきます。 途中でこんなエラーが出るので、GPUを動かすコードは全部消します。

MXNetError: [22:06:22] src/imperative/imperative.cc:79: Operator _zeros is not implemented for GPU.

とりあえず、コードを見ていくのは後回しにして、実行していきます。

実行結果。

Epoch 0. Loss: 8.27301143836
The Time Ma  ん"て    "て   /"て   /tて    "て    tて   t"て    tて    "て    "て   ん"て   い"て    ?て    tて   んtて    いて   /tて   ttて    tて    tて    "て   /?て    "て   ttて   んtて   ん"て   t"て    いて    "て   /tて   ん"て   っ"て   /"て   んtて   t"て    ?て   t"て   /"て   t"て   /"て   tいて    tて   っtて    "て   /いて   /いて   /"て   /"て    "て   /"て   /"て    tて   /"て    "て    "て   /tて    tて   /いて   /いて   /tて   tいて   ttて    ?て    tて   /tて   t"て   ttて   t"て    いて   っいて   /tて   ttて   /"て   ひ"て   /いて    tて   んtて   ttて   t"て    ?て    tて   っtて    ?て   ん"て   /"て   t"て    "て    tて   ttて   t"て   ん"て   /"て   ttて    "て    いて   t"て   tいて   t"て   ん"て   っ"て   ん"て   t"て   /いて   んいて    "て    "て   tいて   んtて    "て   ttて    ?て   /tて   /tて   /"て    "て   t"て   /tて    tて   t"て   ttて    "て   /"て    "て    "て   ttて   /tて    いて   ん?て    いて    "て    "て   tいて   tいて   ttて   んtて   t"て    "て   ん"て    tて    "て   っ"て   /"て   /いて   t"て    "て   /いて   /?て    "て    ?て   t"て   ttて   い"て   /"て   t?て    いて   ttて   /tて   ttて   ttて   t"て    "て   /tて    "て   /"て   ん"て   /"て    tて    "て   ttて   t"て   t"

なんか出た!

Epoch 1. Loss: 8.66848356163
The Time Mat   ttt   tt"   ttt   ttt   ttt   ttて   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttて   ttt   ttt   ttt   tt"   ttt   ttt   ttt   ttt   ttt   ttt   t/t   ttt   ttt   ttt   tてt   ttt   ttt   tt"   ttt   ttt   ttt   ttt   ttt   ttt   ttt   tt"   t/t   tいt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   tt"   ttて   ttt   ttt   ttt   ttt   tt"   tt"   tt"   tt"   ttt   ttt   ttt   ttt   ttt   tt"   tい"   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   tt"   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   tて"   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   t/t   ttt   ttt   ttt   tt"   tい"   tt"   ttt   ttt   tt"   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   tい"   ttt   ttt   tt"   ttt   ttt   ttt   tt"   ttt   ttt   ttt   ttt   ttt   ttt   ttt   tt"   ttt   ttt   ttt   ttt   tt"   ttt   tt"   tt/   ttt   tt"   ttt   ttt   ttt   ttt   ttt   ttt   ttt   ttt   tt"   ttt   ttt   ttt   ttt   tいt   ttt   

コードを貼り付けていただけなので、どういう処理をしているのか見てなかったですけど、どうやら世代を重ねているようです。

Epoch 2. Loss: 8.37107612742
The Time Mat/"/  tてt/  t//t  tt//  ?tt/  tt//  t/t/  ttt/  t/t/  tt/t  たt/t  tttt  tt//  t///  tttた  ttt/  ttt/  tてt/  t//t  ttt/  /t/t  t/t   tt//  ttt/  ////  tt//  t//て  ////  /t/t  tい//  tいt/  ?/t/  tt//  t/tt  た/t/  tt//  tt//  t/tt  tt//  t/tt  /t//  tt//  tt//  ttt/  tt/   tのた/  /t/t  /て//  /tt/  てttt  ////  ttt/  t/t/  tt/"  ttた/  //t/  tt/t  tt/t  tt/   tt//  ttt/  tt//  tて//  ttt   t/t/  ttt/  t///  t/t/  t///  /いt/  t///  tt//  tt//  tt//  t///  tて/t  ttt/  tt//  tt//  t///  t///  t/t/  tt//  t/t/  ////  ttt/  /たtt  t/t/  /t//  t/tt  /t/t  tttた  t//t  tt//  t/t/  tt//  tt//  tt/t  tた//  ttt/  tt//  ttt/  tt//  てt//  ////  ttt/  て?//  tt/t  tt//  tt//  /tt/  t///  ttt/  tt//  tt//  t///  t///  tt//  t//t  //t/  t//t  /t/t  t/t/  tt//  ttt/  /tt/  t///  ttt/  t/tt  ttt/  ttt/  tt/t  tい//  tt/"  ttt/  tt/   tい"/  tの/t  t/t/  tt/   ttt/  ttt/  tt//  tt//  ?tt   ttt"  tt//  ttt/  t///  tt//  "?//  ttt   tt//  tの//  tの//  tt/   t/tt  /tt/  t/tt  t///  ////  //t/  /ttt  tt//  ttt   tt//  tt//  tt//  t?//  t/t"  ttt/

3世代目

Epoch 3. Loss: 7.82475132221
The Time Ma//   //   //   t/   て/   //   //   //   //   た/   /の   tい   "/   /い   t/   //   てt   //   t/   //   t/   t/   //   て/   た/   tい   //   /い   t/   //   /の   /い   //   //   //   //   //   //   /t   tい   //   /"   t/   //   //   //   //   t/   t/   t/   て/   //   //   //   //   て/   てい   //   //   //   //   //   t/   //   //   //   //   た/   てい   //   //   //   //   //   //   t/   //   //   //   //   //   て/   //   //   //   //   て/   //   t/   //   //   //   て/   tい   //   い/   て/   て/   //   //   //   て/   て/   //   //   //   /い   //   //   //   t/   //   て/   /t   //   t/   //   //   /い   //   /"   //   て/   //   た/   た/   //   //   //   //   //   //   //   て/   t/   い/   て/   //   て/   t/   /い   /た   t/   t/   //   //   t/   た/   //   //   //   //   //   //   //   て/   //   //   て/   たい   /の   た/   //   //   //   て/   て/   t/   //   //   た/   て/   //   //   //   //   //   //   //   tい   t/   //   て/   /の   //   //   //   //   //   //   て/   //   て/   //   t/   /t   //   い/   t/   た/   /い   //   てt   //   //  

4世代目。言葉が増えてきました。

Epoch 4. Loss: 7.45118838788
The Time Ma/ て// た// てt/ たt/ たt/ たt/ たt/ "t/ のt/ /t/ /t/ んt/ たt/ たt/ たt/ たt/  t/ たt/ たt/ "t/ のt/ たt/ のt/ たt/ ?t/ たt/ "t/ "// たt/ ーt/ "t/ /t/ たt/ のt/ のt/ のt/ "t/ "t/ /t/ いt/ のt/ いt/ てt/ たt/ "t/ たt/ たt/ がt/ んt/ "t/ たt/ んt/ いt/ さt/ んt/ /t/ のt/ "t/ いt/ たt/ たt/ たt/ とt/ たt/ "// ーt/ たt/ たt/ のt/ てt/ のt/ たt/ たt/ たt/ たt/ んt/ たt/ さt/ いt/ たt/ "t/ のt/ たt/ !t/ /t/  t/ てt/ いt/ でt/ のt/ いt/ のt/ てt/ /// んt/ たt/ "t/ たt/ たt/ "t/ てt/ てt/ "t/ いt/ たt/ "t/ のt/  t/ たt/ "t/ たt/ /t/ /t/ /t/ たの/ "t/ いt/ たt/ /t/ いt/ いt/ た// たt/ たt/ ?t/ たt/ /?/ のt/ とt/ "t/ たt/ のt/ いt/ と// "t/ ?t/ たt/ たt/ んt/ "t/ ?t/ たt/ のt/ た?/ たt/ たt/ "t/ たt/ でt/ たt/ "t/ たt/ /t/ ?t/ "t/ とt/ /t/ /t/ とt/ たt/ ?t/ てt/ んt/ "t/ たt/ たt/ /t/  t/ ?t/ てt/ たt/ いt/ たt/ "t/ "t/ "t/ たt/ てt/ "t/ ?t/ たt/ たt/ tt/ "t/ たt/ /t/ /t/ ?t/ のt/ たt/ ?t/ /t/ "t/ たt/ /t/ のt/ /?/ ?t/ た// たt/ たt/ ?t/ "t/ のt/ たt/ たt/ のt/ たt/ てt/ /t/ "t/ たt/ "t/ んt/ "t/ たt/ /t/ たt/ のt/  t/ んt/ のt/ たt/ /t/ いt/ /t/ "t/ "t/ /t/ とt/ いt/ たt/ のt/ "t/ たt/ たt/ "t/ いt/ てt/ のt/ のt/ "t/ /t/ "t/  t/ たt/ たt/ てt/ たt/ /t/ /t/ たt/ .t/ てt/ "t/ "t

5世代目。この辺りで30分くらいかかってます。

Epoch 5. Loss: 7.24729308771
The Time Mat t  / t  / t  / t  / た  / t  / t  / t  / t  / t  / t  / た  / tて / t  た t  / t  た t  t t  / t  / t  の tて t t  t た  / t  / た  た t  / t  / た  " t  た t  い t  の t  / t  た t  た t  ! t  / /  t た  / t  / t  t t  t t  / た  い t  / t  / t  た t  / /  / た  た tて t t  / t  い t  / t  / t  / t  t t  / た  / t  t た  の t  / t  た t  の た  t t  / t  た t  / t  / t  / t  / た  t t  の t    t  / t  t t  / tて / t  / t  / t  た t  / t  / t  た た  た t  い た  / た  た t  て t  / t  / t  / t  / t  い た  t t  / t  / t  " t  た t  い t  / t  / t  / t  た t  / た  / t  た tて / tて t t  い t  t t  た /  / t  ! t  た t  の t  い t  / t  い t  た /  / t  / t  / t  ! t  / t  た t  た t  の た  t t  い t  / t  / t  / tて た t  た t  t t  / t  の tて た た  / t  t た  た t  t t  t t  い t  / t  た t  / t  / t  た t  / t  / t  / たて た /  た t  / t  た た  / /  た た  / た  t t  t t  / t  / た  て t  / t  / t  い t  た t  / t  い t  / た  / t  / /  t t  / た  た い  / た  t t  い た  た t  t t  た た  / た  た t  / t  / t  / t  t t  / t  た tて た t  た t  / t  t t  t たて / t  い t  / t  t た  / /  / た  い t  た t  た t 

た、たの、と言っていますが、いったい何を言いたいんですかね?

6世代目。

Epoch 6. Loss: 7.72364613014
The Time Ma の の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  て  の  の  の  の  の  の  の  の  の  て  の  の  の  の  の  の  の  の  の  の  の  の  て  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  て  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  の  て  の  て  の  の  の  の  の  の  の  の  の  の

もう全て文字になりました!!

キリがないのでこの辺りで終わります。ほとんど待ち時間でした。

今日の結果

今日のAKBの呟きは65件でした。

f:id:rimt:20180903233248p:plain

'嬉しい': 28, '可愛い': 18, '楽しい': 12, 'すごい': 8, 'ない': 8, '良い': 6, 'よい': 5, 'かわいい': 4, '凄い': 4, '美味しい': 4, 'いい': 3, '多い': 2, '欲しい': 2, 'うい': 2, '優しい': 2, 'はやい': 2, 'すっごい': 2, '面白い': 2, '早い': 2, 'ほしい': 2, 'よろしい': 2, '長い': 2, '若い': 2, 'つらい': 1, 'おしい': 1, 'あざとい': 1, '珍しい': 1, '無い': 1, '騒がしい': 1, '懐かしい': 1, '寒い': 1, 'たのしい': 1, '新しい': 1, '古い': 1, '遅い': 1, '肌寒い': 1, 'ありがたい': 1, '高い': 1, 'くい': 1, '悲しい': 1, '近い': 1}
'今日': 58, 'さん': 56, 'アクシュカイ': 50, '部': 47, '日': 40, '名古屋': 39, '公演': 35, '月': 35, '嬉しい': 28, '皆さん': 27, '方': 25, 'お願い': 24, 'こと': 24, 'ちゃん': 23, 'ん': 21, 'よう': 19, '笑': 19, '可愛い': 18, 'みんな': 18, '私': 18, '時': 17, '生誕': 17, 'レーン': 16, '応援': 15, '最後': 15, '誕生': 14, '祭': 14, 'の': 14, 'さ': 14, '配信': 13, '夏': 13, '写真': 13, '楽しい': 12, '初日': 12, '歳': 11, '生まれ': 11, '最高': 11, '目': 11, 'みなさん': 10, 'ファン': 10, '年': 10, 'エーケービーフォーティーエイト': 10, 'なごや': 10, '前': 10, 'たくさん': 10, '位': 10, 'アンナ': 9, 'センチメンタルトレイン': 9, '大好き': 9, '朝': 9, 'メンバー': 9, 'すごい': 8, 'ない': 8, '皆様': 8, 'チーム': 8, '楽しみ': 8, '券': 8, '握手': 8, '愛美': 8, '好き': 7, '中': 7, '本日': 7, '劇場': 7, 'あと': 7, '明日': 7, '一緒': 7, '時間': 7, 'プロジュースフォーティエイト': 7, '私服': 7, '会': 7, '当日': 7, '久しぶり': 7, '良い': 6, 'さや': 6, '人': 6, '沢山': 6, '平成': 6, '夢': 6, '是非': 6, '出演': 6, '自分': 6, '回': 6, '感謝': 6, '髪型': 6, 'お待ち': 6, '夜': 6, '収録': 6, 
'する': 122, '今日': 58, 'さん': 56, 'アクシュカイ': 50, '部': 47, 'くださる': 41, '日': 40, '名古屋': 39, '公演': 35, '月': 35, 'なる': 33, 'てる': 31, '嬉しい': 28, '皆さん': 27, '方': 25, '来る': 25, 'お願い': 24, 'こと': 24, 'くれる': 24, 'ちゃん': 23, 'いる': 23, 'ん': 21, 'くる': 20, 'よう': 19, '笑': 19, '見る': 19, '可愛い': 18, 'みんな': 18, '私': 18, '時': 17, '生誕': 17, 'みる': 17, 'レーン': 16, 'ある': 16, '応援': 15, '最後': 15, '誕生': 14, '祭': 14, 'の': 14, 'さ': 14, 'すぎる': 14, '頑張る': 14, '撮る': 14, '配信': 13, '夏': 13, '写真': 13, '終わる': 13, '楽しい': 12, '初日': 12, 'れる': 12, '歳': 11, '生まれ': 11, '最高': 11, '目': 11, '行く': 11, '会う': 11, 'みなさん': 10, 'ファン': 10, '年': 10, 'エーケービーフォーティーエイト': 10, 'なごや': 10, '前': 10, 'たくさん': 10, '位': 10, '言う': 10, 'アンナ': 9, 'センチメンタルトレイン': 9, '大好き': 9, '朝': 9, 'メンバー': 9, 'すごい': 8, 'ない': 8, '皆様': 8, '

要約するとこんな感じでした。

今日 も 最高 に 楽 … " " さ やや が 20 歳 ?❤ ️ お 誕生 日 おめでとう ?!! さ やや が い て くれる と 安心 する し チーム4 に い て くれ て ありがとう ?。 " " アンナ さん 公演 2 日 目 も 、 ありがとう ござい  た ! そして 、 8 月 の みなさん 、 当たっ た 方 も … 外れ て しまっ た 方 も … お 誕生 日 おめでとう ござい  ??
" ポートメッセ 名古屋 握手会 朝 から 来 て くださっ た 方 ありがとう ござい  た ☺ ️ ✨ 朝 から な のに いっぱい 来 て くれ て 嬉しかっ た よ ~ 舞台 も いく ね ! って 待っ てる ね ?❤ ️ 9 / 7 の 15 時 〜 の チケット が まだ 沢山 余っ てる ので 皆さん 来 … " " おはよう ござい  ☀ 今日 は ポートメッセ 名古屋 で 握手会 ! 1 .