日本語の文章をローマ字に変換したいなと。- java 2014/01/05

Javaです。日本語の文章をローマ字に変換したいなと。文章というほどのものではなく単語とかそれぐらいのものですが。

yahoo APIとか使うのものありなんですが、まあ、そこそこのものが欲しいなというわけです。よくをいえばヘボン式なのですが、そこまではもとめず。

ついさっき知ったのですが、日本語形態素解ですとKuromojiというオープンソースがよく使われているのでしょうか。

kuromojiを使い、読み方を取得して、それをローマ字に変換するという方法で実現してみました。

カタカナからlatin変換はICUを使用しています。
カタカナをローマ字に直すだけなので、ICUを使うのは、手書きの処理系を書くのと大きさでいうと月と野球ボールぐらいの大きさほど、まあICUはサイズが大きいのですが(jarのね)。

で、コード


package t022; import org.atilika.kuromoji.Token; import org.atilika.kuromoji.Tokenizer; import com.ibm.icu.text.Transliterator; public class Test { public static void main(String[] args) { Transliterator trH2L = Transliterator.getInstance("Katakana-Latin"); Tokenizer tokenizer = Tokenizer.builder().build(); for (Token token : tokenizer.tokenize("関西空港")) { String s = trH2L.transliterate(token.getReading()); String s2 = s.substring(0, 1).toUpperCase() + s.substring(1); System.out.print(s2); } } }


結果
KansaiKuukou


いろいろリンク

: