Main Content

rangesearch

편집 거리 범위로 최근접이웃 구하기

R2019a 이후

설명

예제

idx = rangesearch(eds,words,maxDist)eds에 있는 모든 단어 중 words에서 거리 maxDist 이내에 있는 모든 단어를 찾습니다.

예제

[idx,d] = rangesearch(eds,words,maxDist)는 대응되는 단어의 편집 거리도 반환합니다.

예제

모두 축소

편집 거리 탐색기를 만들고 최대 편집 거리를 3으로 지정합니다.

vocabulary = ["MathWorks" "MATLAB" "Simulink" "text" "analytics" "analysis"];
maxDist = 3;
eds = editDistanceSearcher(vocabulary,maxDist);

편집 거리가 1 이하이면서 "test", "analytic", "analyze"에 가장 가까운 단어를 찾습니다.

words = ["test" "analytic" "analyze"];
maxDist = 1;
idx = rangesearch(eds,words,maxDist)
idx=3×1 cell array
    {[       4]}
    {[       5]}
    {1x0 double}

"analyze"의 경우 탐색기에서 지정한 범위 내에 단어가 없습니다. "test""analytic"의 경우 각각 하나의 결과가 있습니다. 반환된 인덱스를 사용하여 "test"에 대응되는 단어를 표시합니다.

nearestWords = eds.Vocabulary(idx{2})
nearestWords = 
"analytics"

편집 거리가 3 이하이면서 "test", "analytic", "analyze"에 가장 가까운 단어를 찾고 각 단어에 대응되는 편집 거리를 구합니다.

words = ["test" "analytic" "analyze"];
maxDist = 3;
[idx,d] = rangesearch(eds,words,maxDist)
idx=3×1 cell array
    {[  4]}
    {[5 6]}
    {[  6]}

d=3×1 cell array
    {[  1]}
    {[1 2]}
    {[  3]}

"test""analyze"의 경우, 탐색기에서 지정한 범위 내에 단어가 한 개 있습니다. "analytic"의 경우, 두 가지 결과가 있습니다. 반환된 인덱스와 해당 편집 거리를 사용하여 "analytic"에 대응되는 단어를 표시합니다.

i = 2;
nearestWords = eds.Vocabulary(idx{i})
nearestWords = 1x2 string
    "analytics"    "analysis"

d{i}
ans = 1×2

     1     2

입력 인수

모두 축소

편집 거리 탐색기로, editDistanceSearcher 객체로 지정됩니다.

입력 단어로, string형 벡터, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. words를 문자형 벡터로 지정할 경우 이 함수는 인수를 단일 단어로 처리합니다.

데이터형: string | char | cell

최대 탐색 거리로, 음이 아닌 숫자로 지정됩니다.

함수는 eds에서 words의 요소에 대한 편집 거리가 maxDist보다 작거나 같은 단어의 인덱스를 구하며, 이를 편집 거리 기준 오름차순으로 정렬합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

출력 인수

모두 축소

탐색기 내 최근접이웃의 인덱스로, 벡터로 구성된 셀형 배열로 반환됩니다.

idx{i}words(i)까지의 편집 거리가 maxDist보다 작거나 같은 eds에 있는 단어의 인덱스 벡터로, 오름차순 편집 거리로 정렬됩니다.

데이터형: cell

이웃에 대한 편집 거리로, 벡터로 구성된 셀형 배열로 반환됩니다.

d{i}words(i)와 단어집 인덱스 idx{i}에 의해 주어지는 eds의 대응되는 단어 사이의 편집 거리로 구성된 벡터입니다.

데이터형: cell

버전 내역

R2019a에 개발됨