制作から3年経って
3年前に作った当時はこれをWebサービスとして提供することも考えたが、オープンソースのライセンスの問題やサーバの負荷など、課題が多すぎると思い断念した。
この記事を書くにあたり調べてみると、どうやら似たようなサービスをWeb上に公開している方がいるらしい(参考:「悟空語 生成ツール」でGoogle検索)。ああ、尊敬。
この方がどのように実装しているのかは分からないが、本記事の解説と見比べながら利用してみると面白いかもしれない。
ドラゴンボールのキャラクター 孫悟空の喋り方はたいへん特徴的である。
この特徴的な喋り方を簡単に再現できるツールがあれば便利だ。簡単なものを作って試してみた。
ドラゴンボールの主人公である孫悟空。「オラ」「ぜってぇ」「すっぞ」など、その喋り方はとても特徴的だ。「オラ、ワクワクすっぞ~」なんて言う人は現実にはほぼいないだろうが、悟空は確実に言う。
ふつうの文章を悟空訛りに変換できるツール、つまり「悟空訛り生成ツール」を作った。
実はこれ、3年ほど前に大学での課題で作ったもので、最近PCのデータを整理しているときに偶然発掘。「懐かしいな~」とすぐさまプログラムを動かす環境を整えた。今に至るまでこれをWebツール等にはしていないので、自分の手元にしかないツールだ。
このツールで遊ぶのに熱中するあまり、温めていたみそ汁を焦がしてあやうく家を燃やしかけた。危ない危ない。
この悟空訛り生成ツールを使うと文章がどう悟空になるのか、さっそく一気に見ていこう。
実行例① 自己紹介
まずは無難に自己紹介の文を入力してみる。
めちゃめちゃ悟空っぽくなった。
実行例② 記事のリード文
ちょっと長めの文はどうだろうか。僕のデビュー記事「僕たちはWANIMAのように写真に写れるか」のリード文を入力してみる。
(ここからは見やすさを優先して、入力や出力結果を整形した画像を紹介することにします)
長い文章となると、プログラムでカバーしきれない悟空なまりが発生するようで、精度が落ちてしまった。しかし、要所要所でしっかり悟空だ。
「おら それ が でえ すきだ」で僕は限界だった。
実行例③ Wikipedia
Wikipediaの文章を悟空に読ませてみるのはどうだろう。
だいぶ精度が…。途中「さばいばるしゅーたー」と、悟空が我にかえってしまっている部分もある。もうちょっと力を分けてあげたい。
実行例④ ビジネスシーン
最後にぐっと難易度をあげてみる。ビジネス会話だ。
というのも、悟空が敬語を喋るのを考慮していない実装だからである。
この実装では、完璧な悟空訛りを得るためには人間による校正が必要だ。
敬語がなければそれなりに形になるのだが、そういった表現が豊富だというのが日本語の難しいところだ。
小規模ではあるがこういった処理を実装してみて分かるのが、日本語の言語処理が相当難しいということ。アレクサやSiriが多少変なことを言っても許してあげてほしい。
ここからはどのように悟空訛りを実現しているのか、ツールを制作して授業で発表した当時のスライドを使って説明しよう。技術的な話になるのでご興味あるかたはぜひお付き合いを…!
このプログラムが行っている仕事をざっくり説明すると、入力された文章を解析して単語単位に分解する操作・一部の単語を悟空が使う単語に置き換える操作・読み方を悟空っぽくする操作、この3つである。
「分かち書き」とは、文章を単語単位に分解する処理のこと。
そして「形態素解析」とは、分解した単語の品詞や活用の種類などを解析することである。
分かち書きや形態素解析の処理を行うツールはオープンソースとして公開されており、それを利用した。素人がこれを一から実装するのはさすがに規模が大きくなりすぎる。先人の知恵をありがたく活用させていただいた。
こうして文章を単語単位に分解し、含まれる単語の一部を悟空が使いそうなものに置き換えていく。
(例)「こんにちは」→「オッス」など
さらに下処理として、プログラム内部での単語の表現をローマ字表記に直す処理をする。
ここでこのプログラムの肝「音便化」※である。悟空は"ai" "ae" "ei"といった母音の連続を発音することができず、ほぼ全て"ee"という音になってしまう。
(例) 「おまえ(omae)」→「おめえ(omee)」など
※これは言語学的には音便ではないかもしれませんが、便宜上こう名付けることにします
この「音便化」、つまり音の置き換え処理をどんどん行い、今度はローマ字をひらがな表記になおして出力する。
これが悟空訛り生成ツールの処理の流れである。
3年前に作った当時はこれをWebサービスとして提供することも考えたが、オープンソースのライセンスの問題やサーバの負荷など、課題が多すぎると思い断念した。
この記事を書くにあたり調べてみると、どうやら似たようなサービスをWeb上に公開している方がいるらしい(参考:「悟空語 生成ツール」でGoogle検索)。ああ、尊敬。
この方がどのように実装しているのかは分からないが、本記事の解説と見比べながら利用してみると面白いかもしれない。
![]() |
||
▽デイリーポータルZトップへ | ||
![]() |
||
![]() |
▲デイリーポータルZトップへ | ![]() |