コピペで簡単実行!キテレツおもしろ自然言語処理 PythonとColaboratoryで身につく基礎の基礎
コピペで簡単実行!キテレツおもしろ自然言語処理 PythonとColaboratoryで身につく基礎の基礎
翔泳社
著者:youwht
はじめに
第1章 1行で愛を作る
環境構築の手間がゼロ:Colaboratory
Colaboratoryの始め方
Pythonの基本練習
1行で愛を作るプログラム
Colaboratoryの特性/注意事項
オマケ:その他コード集
第2章 ハロー! ゲンシジン!
1分でわかるゲンシゴ講座
コンピュータで日本語を処理する方法
オレ 形態素解析 スル!
オレ Janomeツカウ!
オレ ゲンシゴ ホンヤク スル!
オレ トモダチ タクサン!
発展①:オレ 魏延 ナル
発展②:某田舎訛りの戦闘民族用語変換器
発展③:お嬢様コトバですわ!
第3章 メロスの激おこ具合を冷静に可視化する
ネガポジ分析とは?
ネガポジ分析をやってみよう!
メロスはどれくらいで冷めたのか?
青空文庫から一発でデータを引き抜く秘密の方法
グラフ表示のための準備運動
メロスの感情を時系列でグラフ化する
第4章 江戸川&コナンの小説を自動生成してみる
無限の猿に小説を書かせる
江戸川&コナンの単語を学習した猿をさらに強化する方法
小説データの収集は LAN 姉ちゃんにお願い!
解凍きっと大丈夫。鮮やかにzipを盗むトリック
全小説データの取得&加工一括処理
分かち書きを行う関数の実装
マルコフ連鎖の実装
いよいよ文章を生成
江戸川&コナンの合成結果
マルコフ連鎖の応用
第5章 「??」-「群馬」=「宇都宮」-「栃木」を機械に求めさせる
Word2Vecとは?
学習済みモデルの入手
「群馬」に似ている単語は?
「カレー」に似ている単語は?
(発展的寄り道)群馬の中身を見る
「??」-「群馬」=「宇都宮」-「栃木」
(発展)Word2Vecの誤解しやすい点
第6章 両親の名前の漢字を足し算して、子供を命名するAIを作る
AIの作成方針
①大量のテキストデータを用意する
②AIに「漢字の意味」を学習させる
(ご参考)AI が学習する原理の超概要
③AIに命名させてみる
国民的有名家族の名前を計算する
春日部の名誉市民の名前を推定する
第7章 もしAIが三国志を読んだら。孔明や関羽のライバルは誰なのか?
主な登場人物紹介
英傑たちの住む天国(?)での会話
もしAIが三国志を読んだら
全体方針:天下三分の計
第一話:げぇっ!関羽!
第二話:反董卓連合軍
第三話:孔明の罠
第四話:10万字の文字集め
第五話:赤壁に燃える
第六話:わしをベクトルにできるものはおるか!?
第七話:曹操には張遼がいる、わしには甘寧がいる
最終話(オマケ):梅園の主人公談義
第8章 「赤の他人」の対義語は「白い恋人」、をAIで自動生成する
「赤の他人」の対義語は「白い恋人」
Word2Vecの弱点は「対義語に弱い」こと
Word2Vecで反対側の単語を見てみると?
対義語は賛成の反対なのだ。これでいいのだ。
演算に使う対義語ペアを探す①
Word2Vecの注意:「ぱんだ」はいないよ
演算に使う対義語ペアを探す②
単語対義語化関数
文章対義語化関数
対義語という崇高なテーマ
終章 天才的なアイデアを出して開発するための5つのコツ
新しい「えんぴつ」を考える思考実験
Step1.良いアイデアとは「思いもよらなかったもの同士が結びつくこと」
Step2.まずバカになって人に笑われよう
Step3.良い子の常識をブチ壊そう
Step4.HBのえんぴつをベキッ!っとへし折ることと
同じようにできて当然と思うこと、認識することが重要
Step5.大量 × 四則演算で練る
まとめ
付録 青空文庫からのダウンロードと加工用のスクリプト
青空文庫ダウンロード&加工の共通コード
本コードの使い方(第3章、第7章の例)
付録のコードの詳細解説
①青空文庫からのダウンロード&zip展開&テキスト抽出
②青空文庫のデータを加工して扱いやすくするコード
③複数ファイルのダウンロードや加工を一括実行する関数
索引