이 이름에는 많은 스레드가 있다는 것을 알고 있습니다. ngrams를 생성하는 코드가 있습니다. 그러나 수천 개의 문자열을 처리 할 때 속도가 향상 될 수 있는지 알고 싶습니까?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;
}
위의 코드는 문자열을 가져옵니다은, 주어진 길이의 ngrmas를 생성합니다. 그 12
를 사용하는 것, 방법에, 다음
및 예를 들어, 코드는 같을 것이다 입력 문자열의 반복에 대한 정보가 없으면 출력은 입력에만 의존하기 때문에이 방법의 메모를 고려할 수 있습니다. – Dancrumb