機械学習は敷居が高すぎるので学習済みのモデルだけ利用してみる

言語処理と機械学習に興味があるので、「TensorFlow」での開発とか色々試したのですが、一般的なプログラマには敷居が高すぎました。頑張って二ヶ月ほど独学で「TensorFlow」で色々してみたものの、「機械学習で利用する数式が全く理解できない」「機械学習の開発環境がととのってない」(ちょっとした処理にも数十分もかかってしまう)という色々な壁がありまして断念しました。

でも何か作りたいってことで、言語は「Python」、言語解析は「Jumanpp」、モデルは「Gensim」を利用して、「全自動的文章適当変換器」なるものを作ってみました。

まずは成果物「全自動的文章適当変換器」の紹介

「全自動的文章適当変換器」は一言で言えば、「文章をある程度意味を残したまま別の文章に変換する」というものです。まずは一文をWikipediaから引用して変換してみましょう。

短文で変換例1

原文:山田さんは車で会社へ行きます。

変換例1:青木さんは改造車で会計事務所へ行きます。

変換例2:高橋さんは乗用車で食品会社へ行きます。

変換例3:山崎さんは貨物自動車でコンサルティング会社へ行きます。

短文で変換例2

原文:東京から大阪まで飛行機で移動します。

変換例1:銀座から浅草まで気球で退避します。

変換例2:神戸から熊本までジェット機で接近します。

変換例3:名古屋から神戸までヘリコプターで飛翔します。

長文での変換例

原文は以下の通りです。引用もとは「梅雨」の記事の一文。

梅雨は、北海道と小笠原諸島を除く日本、朝鮮半島南部、中国の南部から長江流域にかけての沿海部、および台湾など、東アジアの広範囲においてみられる特有の気象現象で、5月から7月にかけて毎年めぐって来る曇りや雨の多い期間のこと。雨季の一種である。

これを「全自動的文章適当変換器」に通すと下記のようになる。

残雪は、沖縄県と蜂須賀モルッカ諸島を除く台湾、中国島中南部、インドの東部から鴨緑江川にかけての内陸下部、およびフィリピンなど、南側オセアニアの広範囲においてみられる特有の気象警報法則で、2月から9月にかけて例大祭めぐって来る砂嵐や激しい雨の大きい年限の事。降水の一種である。

後述するが変換時にはランダム性を持たせているので、変換するごとに生成される文章は異なっている。

「全自動的文章適当変換器」仕組み

「全自動的文章適当変換器」仕組みを簡単に説明してみる。

①元になる文章を「Jumanpp」を使って言語解析する。

②名詞と形容詞のみを抜き出す。

③抜き出した名詞と形容詞には、それぞれの名詞と形容詞の属性を付随させる。

④「word2vec」のモデルを利用して近似値の名詞及び形容詞に置き換える。(その際に名詞と形容詞に付随させた属性が一致するようにする。)

⑤最後に置き換えた名詞と形容詞を元の文章に組み込む。

上記の処理をすることで、ある程度意味を保持したまま全く別の文章に置き換えることが可能となっている。

もういくつか変換例を載せておく。

その他の変換例1

原文:東アジアは太平洋に接するユーラシア大陸東岸に位置し、約1,176万平方キロメートルの面積を占める地域である。(引用元:Wikipedia「東アジア」

変換例1:南側東南アジアは大西洋に接するメラネシア南米大陸左岸に東端し、約3,176万平方キロメートルの建坪を占める都市である。

変換例2:南東中東はオホーツク海に接する北アジア北アメリカ大陸北岸に東端し、約7,176万平方キロメートルの建坪を占める南部地域である。

変換例3:北中東は東海岸に接するアフリカ地域南米大陸北端に立地し、約18,176万平方キロメートルの建築面積を占める都市である。

その他の変換例2

原文:ゲーム機が誕生した1970年頃には、コンピューターと言えばメインフレームや、せいぜいミニコンであり、大企業や大学や、それらあるいは軍の研究所で使われる高価なシステムしかなかった。(引用元:Wikipedia「ゲーム機」)

変換例1:ロールプレイングゲーム爆撃機が設立した1974年頃には、デバイスと言えばビデオカードや、せいぜいSystemiであり、大ベンチャー企業や法学校や、それらあるいはフランス軍の研究対象会所で使われる低品質なソリューションしかなかった。

変換例2:格闘ゲーム4号機が開業した1974年頃には、電子回路と言えば集積回路や、せいぜいDSPであり、大大企業や短大や、それらあるいは大軍の古生物学施設で使われる安価なモジュールしかなかった。

変換例3:ボードゲーム4号機が成立した1974年頃には、パソコンと言えばハードウエアや、せいぜいマイコンであり、大ベンチャー企業や短大や、それらあるいは漢軍の調査施設で使われる安価な機能しかなかった。

まとめ

で、ここまで作ってはみたものの、どのように発展さえていったらいいのか、さっぱり思いつかない。スパムサイトを自動に製作させるとか、チャットボットを作るとか、利用範囲はそんなものか。

コメントする