カラクリスタ

『輝かしい青春』なんて失かったヒトのブログ

統一言語メーカーなるものを作りました

概要: 【統一言語」「メーカー」「なる」「ものを」「作りました】


空の境界の第六章に出てくるらっきょのさっちんこと玄霧皐月が使う、 統一言語っぽい文章を生成する統一言語メーカーなるものを作りました。

これは何?

さっきも書きましたが、統一言語メーカーは、 空の境界という奈須きのこ氏の作品の第六章に出てくる、 全寮制の女子高でなぜか教師をやってる魔術師、 玄霧皐月の扱う統一言語らしき文章を生成するジェネレーターです。

統一言語って何?玄霧皐月って誰?そもそも空の境界って何よ?

まず空の境界っていうのは1998年ぐらいにWeb上で公開され、 2004年に講談社によって出版された、奈須きのこ氏の長編伝奇小説です。 で、現在劇場映画化もされていて、講談社から新書版上下巻と文庫版三巻が発売されてます。

で、玄霧皐月ってのは、この空の境界の第六章に出てくる敵キャラで、 全寮制の女子高の礼園女学院でなぜか教師をやってる魔術師です。

んで、統一言語ってのはその玄霧皐月が扱う言語で、 バベルの塔以前の言葉を乱される前の言語、ということになってます。

で、統一言語メーカーって何?

で、玄霧皐月が扱う統一言語は、作中で、

【あなた」「には」「見えない】

という感じで表現されているのですが、 統一言語メーカーはこれっぽい文章を生成するジェネレーターなのです!!!

使い方

  1. まず統一言語メーカーにアクセス
  2. テキスト入力欄に文章を入力。
  3. 統一言語る!をクリックして送信

という感じで、統一言語っぽいフレーズを生成して楽しめます。

技術的な話

このBlogを読んでいる読者の方は当然技術的なことが気になると思うと書いておくと、 統一言語メーカーは、普通のPerl CGIによって作られています。

動作の流れとしては、

  1. トップページから入力を受け取る
  2. 受け取った単語を統一言語っぽく分割
  3. 出力ページを生成
  4. 出力ページへリダイレクト

という感じです。

肝となるのは受け取った単語を統一言語っぽく分割ってところですが、 これはText::TinySegmenterをつかって実現しています。

Text::TinySegmentertinysegmenterというJavascriptで書かれた 分かち書きライブラリのPerl移植版で、現在CPANから0.01がインストールできます。

で、このText::TinySegmenterで分かち書きしたフレーズは、 完全にバラバラで、統一言語っぽくないので、これを今度は部分的に結合します。

このあたりを書くとネタバレになるのであんまり書きたくない、と言いつつ書きますが、 助詞同士を結合して、助動詞を前の単語とくっつけるという作業をしています。

このあたりの処理を作るのに、ちょっと苦労しましたが、まあそんなにややこしいわけでもなく、 助詞と助動詞の正規表現作ってトークンがマッチしたら処理するって感じになってます。

ちなみに、この統一言語っぽく分割するルーチンの精度ですが、まあ6~8割って感じです。 【あなた」「には」「見えない】は完璧なんですが、【ここ」「では」「見えない】【ここで」「は」「見えない】になってしまってます。あと他の文章もちょっと変だし。

特にText::TinySegmenterの元となったtinysegmenterがひらがなだけで構成される文章が弱いらしいので、 統一言語メーカーもそのあたりの特徴を引き継いじゃってます。

まあこれでMeCab使うとさすがにオーバースペックだし、他の形態素解析器使うのアレなので、 多分これはこのままです。

説明終了。感想とか

まあ当然のことながら、TYPE-MOONとか奈須きのこ氏本人とか講談社から怒られた場合は公開を中止すると思います。 まあ多分そんなことにはならないだろうと思いますが、仮になった場合にはgithubあたりでソースを公開しようかと考えてます。

まあはっきり言って、空の境界知らない人は何コレって感じな代物ですが、空の境界を知ってる人はニヤニヤできると思います。 あとまあなんか要望等あればメールなりTwitterのダイレクトメッセージなりでお知らせください。 ちなみにTwitterのアカウントは@nyarlaです。

あとまあCGIで動いてるのは出力ページ生成器(mayday.cgi)だけなんで、アクセスが集中してもそうは重くならないと思いますが、 統一言語メーカーはこのBlogと同じサーバで動いてるので、このBlogとか無貌断片の方に支障が出てくるような場合には、 もしかすると公開を一時中止するかもしれません。まあこのあたり鳴かず飛ばずになるのか、 それとも大ヒットとなるのかはわからないんですが。

まあとりあえずものは形になったんでよかったら遊んで見てください。

それでは。enjoy !

おまけ。現在発売されている空の境界の商品一覧

新書版

asin-4061823612-detail

asin-4061823620-detail

文庫版

asin-406275892X-detail

asin-4062759209-detail

asin-4062759462-detail

劇場版

asin-B0015ONF2U-detail

asin-B0015ONF3E-detail

asin-B0015ONF3O-detail

asin-B001HUN1OE-detail

asin-B001HUN1OO-detail

asin-B0028UMC3S-detail

asin-B002QBAACE-detail