많은 단어 (약 15000)가 포함 된 셀 배열 사전이 있습니다.많은 단어의 Levenshtein 거리의 속도 최적화
모든 단어 쌍에 대해 strdist
(Levenshtein 거리를 계산하기 위해) 함수를 계산하고 싶습니다. 나는 두 가지 방법으로 시도했지만 둘 다 정말 느립니다. 보다 효율적인 솔루션은 무엇이 될 수 있습니까? 붙박이 MATLAB
1)
matrix = sparse(m,m);
for i = 1:m-1;
matrix(i,:) = cellfun(@(u) strdist(dict_keys{i},u), dict_keys);
end
2)
matrix = sparse(m,m);
for i = 1:m-1;
for j = i+1:m
matrix(i,j) = strdist(dict_keys{i},dict_keys{j});
end
end
기능 인라인 소스 코드를 이동 및 외부를 사용할 수 있습니다 모든 r (함수에 대한 첫 번째 입력)을 반복해도 되겠습니까? – Divakar