読書三昧(仮免) 禹歩の痛痒アーカイブ

乱読中年、中途と半端を生きる

石川聡彦『人工知能プログラミングのための数学がわかる本』(2018)

自然言語処理系のAIは、まだバカっぽさが残っているところが愛らしく感じられて好きだ。はてなブログの関連記事の抽出機能はこの自然言語系のAIが担っているものと想定されるのだが、書き手の予想を外れる関連記事を持ってくることが多々あって、それはそれで楽しい。

昨日の私のエントリ「サミュエル・ベケットの短編『追い出された男』と松尾芭蕉の馬の句(全二十二句)」の関連記事は、今現在、「藤田真一『蕪村』(2000)」と「府中市美術館編『かわいい江戸絵画 Cute Edo Paintings』(2013)」の2件。内容的に関連性の強いベケット芭蕉の記事やAIやロボットの記事はピックアップされていない。意識してこないところを持って来られると、書いている本人もちょっと興味をもって古い記事を覗いたりしてみたりすることも結構ある。

さて、このまだまだ発展途上にあると思われる自然言語系のAIについて、そのコンピューティングを支えている数学の中身を丁寧に分かりやすく説明してくれているのが本書『人工知能プログラミングのための数学がわかる本』のありがたいところのひとつだ。自然言語系AIに関係するチャプターは「線形代数」と「自然言語処理で文学作品の作者を当てよう」の二つ。コンピュータが言語を扱う時にはベクトルを利用しているということを教えてくれる。

・コンピュータが言語を取り扱うために、単語をベクトル化するWord2Vecという概念があります。
・Word2Vecでは、単語一つ一つを1列に並べたベクトルに変換します。
・ベクトルに変換すると、今回のように足し算・引き算を行うことが出来ます。その結果、例えば「王様」-「男性」+「女性」=「女王」、や「東京」-「日本」+「イギリス」=「ロンドン」といった演算を行うことが可能になります。
(CHAPTER 3 線形代数 3-2「足し算・引き算・スカラー倍」p78)

 また、

人工知能がテキストを分析するとき、単語や文章はベクトルで表されています。
・ベクトル化された単語または文章同士の関係性の近さを計算するために、このコサイン類似度が用いられます。
(CHAPTER 3 線形代数 3-8「コサイン類似度」p89)

昨日のエントリの関連記事のひとつに「府中市美術館編『かわいい江戸絵画 Cute Edo Paintings』(2013)」がピックアップされたのは、おそらく「芭蕉の馬」、「応挙の子犬」、「国芳の猫」という具合に「作者名+の+動物名」という表現の類似度とその表現の出現回数の多さのためと想像することが出来る。そんな感じで、使用されているアルゴリズムを想像すると、そこで使用されている「ベクトル」「行列」「線形変換」にもすこし興味を持つことが出来るようになる。新たな視点を与えてくれる本に出合うと、いままで関心が薄くて手に取ることもなかった数学理論のテキストについても少しずつ手を伸ばしていくことが出来るような気分になって来る。入門書の当たりはずれ・相性の良し悪しは、興味付けとモチベーションの維持に大きく関係してくるので、とても大事だ。

 

目次:
CHAPTER 1 数学基礎
CHAPTER 2 微分
CHAPTER 3 線形代数
CHAPTER 4 確率・統計
CHAPTER 5 実践編1 回帰モデルで住宅価格を推定してみよう
CHAPTER 6 実践編2 自然言語処理で文学作品の作者を当てよう
CHAPTER 7 実践編3 ディープラーニングで手書き数字認識をしてみよう

www.kadokawa.co.jp

石川聡彦
1992 -