DSでかな漢字変換(1)
DSでキーボード入力してtwitterに投稿できるプログラムを作成したのですが、如何せん入力できるものがひらがなとカタカナとアルファベットだけです。折角なので漢字混じりの文字を投稿したいという欲求が沸いてきました。
ということで、DSにかな漢字変換を実装したいと思います。と言っても、日本語IM(Input Method)を作るなんて私の手に負えないので、ここは他力本願で行きたいと思います。
Yahoo!JAPANテキスト解析 Web API
Yahoo!JAPANがデベロッパーにかな漢字変換のWeb APIを提供してくれています。このWeb APIはYahoo!IDを持っていれば誰でも登録してアプリケーションIDを貰うことができ、アプリケーションIDが貰えれば誰でも使うことができます。ただし、利用制限があり、Web APIを使える回数が24時間当たり50000回までとなっています。1人が使う分には十分な量ですね。
早速、アプリケーションIDを取得して、DSでサンプルのかな漢字変換を試してみました。
/JIMService/V1/conversion?appid=*******&sentence=%E3%81%8D%E3%82%87%E3%81%86%E3%81%AF%E3%82%88%E3%81%84%E3%81%A6%E3%82%93%E3%81%8D%E3%81%A7%E3%81%99%E3%80%82
サンプルにある上のような(appidは伏せ字)コードをGETコマンドにセットして HttpFileGet()で投げたら、サーバから下記のようなxmlデータが返ってきました。
851 <?xml version="1.0" encoding="UTF-8"?> <ResultSet xmlns="urn:yahoo:jp:jlp:JIMService" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:yahoo:jp:jlp:JIMService http://jlp.yahooapis.jp/JIMService/V1/conversion.xsd"> <Result> <SegmentList> <Segment> <SegmentText>きょうは</SegmentText> <CandidateList> <Candidate>今日は</Candidate> <Candidate>きょうは</Candidate> <Candidate>教派</Candidate> <Candidate>興は</Candidate> <Candidate>京は</Candidate> <Candidate>強は</Candidate> <Candidate>経は</Candidate> <Candidate>教は</Candidate> <Candidate>境は</Candidate> <Candidate>凶は</Candidate> <Candidate>卿は</Candidate> <Candidate>峡は</Candidate> <Candidate>協は</Candidate> <Candidate>香は</Candidate> <Candidate>恭は</Candidate> <Candidate>享は</Candidate> </CandidateList> </Segment> <Segment> <SegmentText>よい</SegmentText> <CandidateList> <Candidate>よい</Candidate> <Candidate>良い</Candidate> <Candidate>宵</Candidate> <Candidate>酔い</Candidate> <Candidate>四位</Candidate> <Candidate>4位</Candidate> <Candidate>余威</Candidate> <Candidate>好い</Candidate> <Candidate>善い</Candidate> <Candidate>佳い</Candidate> <Candidate>吉い</Candidate> <Candidate>快い</Candidate> </CandidateList> </Segment> <Segment> <SegmentText>てんきです。</SegmentText> <CandidateList> <Candidate>天気です。</Candidate> <Candidate>転機です。</Candidate> <Candidate>転記です。</Candidate> <Candidate>転帰です。</Candidate> <Candidate>天機です。</Candidate> <Candidate>てんきです。</Candidate> </CandidateList> </Segment> </SegmentList> </Result> </ResultSet> 0
返ってきたコードがUTF-8なので、UTF8→UTF16→SJISと変換するプログラムが必要となってしまい、UTF-16→S-JIS変換テーブルが128KB増えてしまいます。これだと、UTF-8環境からS-JISに戻した甲斐が無いですが、今回は目をつぶりたいと思います。
本当にやりたいことリスト
(ブログの終わりにやりたいことを書いておきたいと思います)
- 求職活動・・・このブログで興味を持った人一声かけてください。m(_ _)m
- Androidプログラム
- Web系のプログラム