Wikipediaのデータに続いて、青空文庫のデータ(10,975タイトル、554MB)をword2vecに突っ込んでみた。
青空文庫は普通にgithubに置いてある(https://github.com/aozorabunko/aozorabunko)ので、そこからcloneし、ルビや改頁指定などは除去。タイトル、底本などに関する記述も除去。
ホントはあと1500タイトルほど文書があるはずなんだけど、不要な部分を除去する処理を噛ませた時にうまくいかなかったのをすっ飛ばしたので1万タイトル程度に収まる。
形態素解析時に姓名は連結、カタカナの連続は連結。中黒の前後も連結。動詞は基本形に変換している。 以下、distanceの結果。
田中 天野, 佐藤, 河崎, 津下, 大村, 服部, 中村憲吉, 土屋文明, 主筆, 塩田真
佐藤 森田,藤田,梅原,友枝,河村,小林,田中,西村,若井,河崎,茂木,石井,浜野
中村 沢村,坂本,松山,村川,千田,樋口,井上,熊本秋子,植村,内田,ぼんち,依田,三枝
志村 江原,依田,島村,副島,徳富,岡倉覚三,沢田,滝田,合田,川北,慶四郎,ロリー
Wikipediaの時のように苗字が著名人に引っ張られることはなくなっている。ただ、物語の登場人物の関係によって引っ張られている部分はある。
動詞や形容詞についてはWikipediaよりも人間に近い答えを出しているように見える。以下、両者を並べて表示。Wikipediaのモデルは形態素解析後の処理を今回と揃えて再作成している。
熱い aozora : 冷たい,目頭,温い,一滴,一ぱい,生温い,こぼれる,にじみ出る,温かい, wikipe : 微笑む,涙,悲しい,笑顔,眩しい,冷たい,切ない,優しい,やさしい,あふれる
辛い aozora : つらい,苦しい,心細い,情けない,嬉しい,情ない,口惜しい,切ない,悲しい wikipe : 不味い,まずい,脂っこい,美味い,臭い,嫌い,酸っぱい,美味しい,食べ物
嬉しい aozora : 悲しい,うれしい,淋しい,口惜しい,心細い,可笑しい,寂しい,なつかしい wikipe : 面白い,残念,けど,本当に,冗談,うらやましい,悔しい,そんなに,とにかく
一般的な言葉に対する反応も悪くない。
山 aozora : 峰,麓,チーセ,中腹,峯,槍ヶ岳,白根,谷,谷間,登る,穂高, wikipe : 中腹,主峰,岳,麓,鳳凰山,峰,光岳,毛勝三,山麓,楊柳山
海 aozora : 湖水,湖,河,入江,川,波,海面,沖,浅瀬,礁,紺碧,琵琶湖,河口 wikipe : 剗,ボフォート,使・遣る,イーストブルー,黄海・渤,浮かぶ
愛 aozora : 愛情,真実,意志,純潔,情,愛する,恋,本能,感情,魂,欲求,幸福,生命,欲望 wikipe : 永遠,,恋,夢,哀しい,悲しみ,君,ジョージア・オン・マイ・マインド,孤独
当然ながらWikipediaを使うと判定できた現代の人名や、JavaやPerlのようなプログラミング系の言葉は一切判定できない。
犬や猫の結果は時代の差を感じさせる。
犬 aozora : 猫,牛,豚,仔,匹,鶏,狼,吠える,飼う,牝,一疋,羊,牡,蛇 wikipe : ジャーマン・シェパード・ドッグ,チャウチャウ,ダックスフント,マスティフタイプ, シベリアン・ハスキー,柴犬,飼う,ロットワイラー,サイトハウンドタイプ
猫 aozora : 犬,豚,匹,仔,牛,鼠,鶏,一疋,山羊,牝,羊,狼,蛇,飼う,獅子, wikipe : ネコ,ウサギ,キツネ,スコティッシュフォールド,ミニチュアダックス, 飼う,アメリカン・ショートヘア,犬,ミニチュアピンシャー,子犬,子猫,
今回は動詞を基本形にしたので、そっちも見れるはず。
行く aozora : いく,ゆく,来る,往く,参る,やって来る,行ける,まいる,帰る,行,くる, wikipe : 出かける,来る,帰る,出掛ける,行ける,会う,旅立つ,やってくる,泊まる
青空の方は表記揺れが取れますね。Wikipediaの方はそこまで表記揺れがないので近い動詞が取れています。
眠るの結果がちょっと好き。
眠る aozora : 睡る,寝る,ねむる,ぐっすり,眠れる,すやすや,うとうと,寝込む,眠り wikipe : さまよう,生きる,潜む,埋もれる,消える,朽ちる,囚われる,隠れる
「起きる」は青空は寝る起きるの方を、Wikipediaは発生する方を見ている。言葉って難しい。
起きる aozora : 寝る,今朝,むっくり,眠る,朝,寐,夜中,寝床,遅い,早くから,グッスリ,ぐっすり wikipe : 起こる,発生,頻発,起こす,起る,引き起こす,おこる,生じる,暴動,起す,混乱
死ぬ aozora : 殺す,死,生きる,病気,死ねる,肺病,助かる,しまう,焼け死ぬ,なくなる, wikipe : 助かる,悲しむ,殺す,添い遂げる,焼け死ぬ,思い出す,泣き叫ぶ,寝付く
得る aozora : べし,せしめる,求める,のみ,与える,できる,容易,妨げる,信ずる,足る wikipe : 認める,与える,受け入れる,求める,あたえる,高める,妨げる,決める
問題は1つの作品の傾向に引っ張られる例がありそうなところ。例えば「博士」などは○○博士という使い方が頻出するので、作中に出てきた博士の名前が並ぶことになる。
博士 aozora : 先生,一彦,テッド,辻川,ガスコ,デニー,ハイロ,君,学士,サミユル, wikipe : 修士,学位,大学院,農学,法学,修士・博士,理学,修了,課程・博士,科・修士,
海野十三の作品が影響しているようだ。もう1度同じデータでモデルを作り直しても、一彦、テッド、辻川、デニー、ハイロは出てきた。Wikipediaは中黒の前後の単語を連結するようにした処理が悪影響を及ぼしていて、課程・博士のような語が1語になってしまっている。
源氏物語なんかは原本が入ってる。
光源氏 aozora : 出色,学才,無慾,賢婦人,同年代,うけつぐ,世捨て人,門左衛門,肌合い wikipe : 源氏物語,玉鬘,紫式部,夕顔,若紫,真木柱,清少納言,浮舟,御息所
「妬む」は青空で使われている言葉の古さが見える。
妬む aozora : 譏る,惻隠,懐旧,嫉む,妬ましい,咎,女々しい,驕慢,憐愍,憐れむ,愍,僻む wikipe : 恨む,羨む,心底,憎む,見下す,嫌う,恨み,蔑む,嫉む,逆恨み,マルスカール
ただ、これは特殊な例で、憐憫とか愛憎のような言葉を入力すると昔の言葉が返ることもあるけど、現代風の言葉は当然現代風の言葉の近くにあるので混ざること自体はそれほど多くない。
両者のテキストを混ぜあわせて学習させた場合は、概ねWikipediaのデータに引きずられる結果になった。この辺はテキストの量がWikipediaが6.2GB、青空文庫が554MBと差があるので当然か。
じゃ、次は連想ゲームいってみる。現代の言語感覚だと使われてない言葉が多くて難しかった。
うまくいった例。括弧内はWikipediaでの推測。
登る → 山 | 泳ぐ → 海(魚) 平和 → 安定 | 戦争 → 変動(低下) 父 → 母 | 兄 → 姉(妹) 太陽 → 明るい | 月 → 薄暗い(日)
わからなくもない例。3つめのWikipediaの貴婦人がなんかイイ。
イルカ → 鹿 | クジラ → 牛馬(猪) 病気 → 健康 | 結核 → 白血球(医療) 刺 → 薔薇 | 毒 → 花(貴婦人) 春 → 桜 | 冬 → 楡(咲き乱れる)
ダメな例
父 → 母 | 叔父 → 姉(弟) 指 → 指輪 | 首 → ハンドバッグ(ペンダント) 春 → 桜 | 秋 → 満開(花) ※2位は楓、3位は紅葉だった 走る → 疲れる | 歩く → くたびれる(飽きる) 時間 → 時計 | 体温 → 柱時計(長時間) 犬 → 吠える | 猫 → 遠吠え(メソメソ)
青空文庫は古い文書も多いのでもう少し結果が悪くなるかなと思っていたけど、意外と善戦している印象。
懸念していた1つの作品で頻出する表現に引っ張られる事象は、思っていたほどは発生しなかった。「博士」「師匠」「大尉」のような名前と連続して繰り返し現れるような言葉は良くない。
中黒(・)の前後を繋いだのは、主にWikipediaの方であまり良い結果を産まなかった。しかしプロレス技を出した際の綺麗な並びを見ると、もう少し調整してみる価値はありそう。
ラリアット パワーボム,ジャーマン・スープレックス,ドロップキック,エルボー, ムーンサルトプレス,セントーン,キャメルクラッチ,パイルドライバー, ダブルアーム・スープレックス,シャイニング・ウィザード,スープレックス, エルボー・ドロップ,ファルコンアロー,バックドロップ,辞書追加は面倒なので、-min-countを100とかにすれば良いだろうか。