今年もよろしくお願いします。年末に作り始めたAndroidアプリを公開します。再生ボタンの不具合修正)まだテスト中ですので、不具合があるかもしれません。そのときは速やかにアンインストールしてください。Aquestalk2の音声で日本語を読みます。仮名文字しか読めませんが、GoSenを使って日本語の形態素解析をし、漢字仮名交じり文の読みを推定しています。機能そのものは入力されたテキストをただ変換し読み上げるだけのシンプルなものです。辞書はとても巨大なので本体には同梱していません(50MB)。SDカード上に後述する専用のフォルダを作って、その中に配置してください。このアプリのメニューに入れてあるネット上からダウンロードしてインストールする機能を使ってもよいです。スリープさせずに実行させて1時間近くかかってしまいます。スリープさせながらだと2時間以上かかります(IS03にて)。プログラムに慣れた人ならば、辞書のインストールはパソコンでコンパイルした後SDカードにコピーしたほうが簡単です。パソコンでのコンパイルは1分ほどで終わります。そのかわり、ちょっと準備が必要です。パソコンで辞書を作成するには、JDK、antがインストールされている必要があります。ソースコードも必要です。ダウンロードしてください。辞書データがコンパイルされます。辞書にはそのままでは対応できません。jarでは、この対策を施していますが、パソコンで使うときの対策は次回詳しく説明します。参考:GoSenのちょっとした改良コンパイルが終われば辞書をSDカードに移します。パソコンからAndroid内にファイルを転送できるソフトやファイルマネージャーアプリを駆使する方法でもかません。SDカードの所定の場所(/sdcard/GoSen/ipadic-xxxxx/)にコピーしてください。辞書データが入っていると判断するようにしています。内でできるようになったらさらに二つのcsvファイルも必要になりますが、今はいりません。環境構築はプログラミングをやったことがない人にはハードルの高いものです。SDカードへのコピーも難しいかもしれません。いう方はこのアプリで辞書をコンパイルしてください。時間はとってもかかってしまいますが。細かいことは何もせずにすみます。変換途中で終了すると、次回インストールでは展開するところからやり直します。辞書は一度入れてしまえば、他のアプリからでも利用できます。今回作ったソフトの辞書関連のクラスを独立させて、辞書管理のアプリを別に作ってみようと思っています。単語を追加して、辞書を構築しなおすたびに一時間かかるような今の状況では使い物にはなりませんが。今回公開するアプリにはアクエスト社のAndroid向けAquesTalk2ライブラリ、および音声Phontファイルが含まれています。このAquesTalk2ライブラリは非営利の個人利用に限り無償で使用できます。それ以外のご利用の場合はライセンスの購入が必要です。AquesTalk2ライブラリ単体での再配布はできません。遅くなりましたが、書いておきます。辞書を変換して使うのですが、ipadicのバージョン2.6.2以降には対応していません。対応できない原因は何かというと、ChaSen向けのipadicは2.6.2以降から連接表であるconnect.cha内において「その他の語形」を表す連接規則が書かれなくなっているからです。そのため辞書コンパイル中にレアな語形が出てくると対応しきれずにエラーが出てしまいます。Senの場合はエラーメッセージを出しながら処理は続きます。GoSenの場合はエラーが出たらそこで終わりになります。そのため今回単純な修正をしています。連接表にない語形の組み合わせが出てきたときには、コスト配列から値を読み込まずに、省略時の値を代入することにしています。この修正が望み通りの日本語を作り出せるかどうか不安ですが、とりあえず問題はないようです。この修正を加えてもGoSenではまた別の問題が出てきます。メタ文字としても使われる「,」と「{」の解釈です。このような記号も2.6.2以降では辞書に登録されているので、辞書を変換するとき不具合が発生します。ChaSen向けのデータをMeCab向けのデータに変換するとき、単語の区切り記号として「,」が使われるのですが、この解析に問題があります。これを回避する処理が必要になります。「{」に対しても特別な処理が必要になります。これらの修正を加えたソースを以下に置いておきます。前回のAndorid向けのGoSenで利用する辞書をパソコンで作成するときに使ってみてください。ダウンロード:gosen-t001.zip辞書の作り方ですが、antが実行できる環境を作り、エクスプローラで展開したフォルダで開き、その中でシフトを押しながら右クリックをしてコンテクストメニューを開き、メニューからコマンドウィンドウを開いて、antと入力してエンターをします。そのあと、エクスプローラでtestdata/dictionaryフォルダを開き、その中でコマンドウィンドウを開いて、antと入力してエンターをすると、辞書のダウンロードとコンパイルが始まります。build.xml中のipadic.versionプロパティの値を書き換えると、2.6.0以外の辞書もコンパイルできます。ここまで書いてきましたが、以下のリンクにGoSenの別の修正についての記事があります。辞書が使えるこちらのほうを使ったほうがいいかもしれません。形態素解析器の比較Sen(GoSen)はChaSen用の辞書をコンパイルして専用辞書を作っていた頃のMeCabを元にして移植されています。したがってそれ以降改良されてきた現行のMeCabと比べるとどうしても見劣りしてしまいます。今回のその他の語形への対処も現行のMeCabが使っているMeCab専用辞書では細かなコストの設定がされているようで精度に違いが出てくるはずです。新しいJava用の形態素解析器が必要だと思います。Igo、Gomokuには期待しています。「プリマヴェーラ」のことボッティチェリの「プリマヴェーラ」のことをいろいろ調べて書いていたのはもう2年も前になります。門外漢なのでアビ・ヴァールブルクのことも知らないままに書き始めてしまいました。好奇心をとてもくすぐる題材のようで、英語はもちろん、ラテン語、古典ギリシア語、イタリア語といった言語の壁も物ともせず、何の苦も感じずに調べに調べて書いていました。今読み返してみても自分でも信じられないくらいの探求心です。この絵に描かれている神々が誰かを知りたいだけで、いつ描かれたのか、誰に似せて描かれたのか、何のために描かれたのかというのはそれほど興味がありません。ないと言うと嘘になりますが、ここにこうして描かれている神々がそれらの情報によって解釈が変わってくるわけがないと考えています。この前提に立ってこの絵を解釈しました。二年経ち、自分の考えに対しての固執も適度に消えかかってきているので、冷静に自分の考えを検証してみようと思います。(06/28)OpenJTalkの共有ライブラリを作ってみました。追加しました(03/14)点字タイプ入力ソフトに、テンキー点字入力機能を追加しました(11/13)OpenJTalkの共有ライブラリを作ってみました。2.0QRコードSeesaaブログ。