Microsoft Azure Learning Studioを使って、機械学習を使った予測モデル作りに取り組んでいる。
2005年に、機械学習を使った論文を書いてから13年、この手法がクラウドサービスとして
世の中のより多くの人が活用できるように進化してきたことは素晴らしい。
とはいっても、コンピュータは物分かりの悪い友達だ。
そこで、人工知能と如何に付き合うかについての、ちょっとしたコツを随時紹介していきたい。
データ作成について
ビッグデータの時代と言っても、データは人間が長い時間を掛けて打ち込んだものであることも多い。
そうなると、当然だが、5年前のデータと、今年のデータで入れ方が違うなんてことも出てくる。
たとえば、
「カビとり洗剤」
「かびとり洗剤」
「カビとり 洗剤」
「かびとり洗剤 」
は、コンピュータからみると、すべて違うものだと認識されてしまう。
特に、4つ目の例の様に、最後に空白が入っているケースは、目で見ても気が付かないだけにやっかいだ。
ひらがなとカタカナの違いはもちろん、空白があるだけでも別のデータとして認識されてしまうのだ。
コンピュータは物分かりの悪い友達なので、そのあたりは几帳面にならないとなかなか分かってもらえない。
これを1つのそろえるという地道な作業こそが、実は機械学習の精度を分けるものだったりする。
データは文字だけではない。数字のデータもある。
100mL, 1L, 100g
このようなデータの与え方はあまり関心できない。
人であれば、100が数字で、mLが単位であることが分かる。
おまけに、おそらくこれは液体なのだろうとも推測できる。
また、100mL と 1Lを比べれば、後者が前者の10倍の量であることも分かる。
でも、コンピュータは、そのあたり簡単には分かってくれない。
なので、
・100, mL
・1000, mL
・100, mL (水に密度が近い液体の場合に限る)
というように、数字は数字、単位は単位で分けて書く方が良い。
上の例のように、単位を統一できるのであれば、統一するとなお良い。
もちろん統一すれば良いというものではない。
たとえば、ジュース100gと砂糖100gは意味合いが異なる。
そんなときなら、
・ジュース、100, g, 液体
・砂糖、100, g, 個体
というように、状態も合わせて与えてあげるとコンピュータにも分かりやすい。