この名前には多くのスレッドがあることを知っています。ngram を生成するコードがあります。しかし、何千もの文字列を処理するときに速度を向上させるために改善できるか知りたいですか?
例 文字列="abcdefghijkl1245ty789"
public static String[] ngrams(String s) {
int len=12;
String[] parts = s.split("(?!^)");
String[] result = new String[parts.length - len + 1];
for(int i = 0; i < parts.length - len + 1; i++) {
StringBuilder sb = new StringBuilder();
for(int k = 0; k < len; k++) {
sb.append(parts[i+k]);
}
result[i] = sb.toString();
}
return result;
}
上記のコードは文字列を取得し、指定された長さの ngrma を生成します。私の場合は12です。