文字種区切り

文字種の変化に基づく日本語単語の切り出し

日本語文を単語に区切るためには、形態素解析システムが必要である。 しかし、形態素解析をするには辞書引きをする必要があり、 その処理コストが許容できない場合がある。 また、外部プログラムの呼び出しが不可能な環境で、 システムを構築しなければならない場合もある。

このような時に、能力は低いものの非常に簡便な方法として、 文字種の変化する場所を区切りとする方法がある。 正規表現により簡単に実装が可能である。

特徴

コード例

import java.util.regex.*;
...
    String string;
    Pattern p = Pattern.compile(
        "(\\p{InBasicLatin}+|\\p{InHiragana}+|\\p{InKatakana}+|\\p{InCJKUnifiedIdeographs}+)");
    ...
    (stringに分割したい文字列を代入)
    ...
    Matcher m = p.matcher(string);
    while (m.find()) {
        System.out.println(m.group());
    }

実運用する場合には、日本語文の中に英文が現れたりする場合も考慮すべきである。