日本語の文章をローマ字に変換したいなと。- java
2014/01/05
ICU
java
形態素解析
Javaです。日本語の文章をローマ字に変換したいなと。文章というほどのものではなく単語とかそれぐらいのものですが。
yahoo APIとか使うのものありなんですが、まあ、そこそこのものが欲しいなというわけです。よくをいえばヘボン式なのですが、そこまではもとめず。
ついさっき知ったのですが、日本語形態素解ですと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
いろいろリンク
: