rangesearch

Найдите самых близких соседей областью значений расстояния редактирования

Описание

пример

idx = rangesearch(eds,words,maxDist) находит все слова в eds это - на расстоянии maxDist из слов в words.

пример

[idx,d] = rangesearch(eds,words,maxDist) также возвращает расстояния редактирования соответствующих слов.

Примеры

свернуть все

Создайте искателя расстояния редактирования и задайте максимальное расстояние редактирования 3.

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

Найдите самые близкие слова к "test", "analytic", и "analyze" с расстоянием редактирования, меньше чем или равным 1.

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"

Найдите самые близкие слова к "test", "analytic", и "analyze" с расстоянием редактирования, меньше чем или равным 3 и их соответствующими расстояниями редактирования.

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 объект.

Введите слова в виде вектора строки, вектора символов или массива ячеек из символьных векторов. Если вы задаете words как вектор символов, затем функция обрабатывает аргумент как отдельное слово.

Типы данных: string | char | cell

Максимальное поисковое расстояние в виде неотрицательного номера.

Функция находит индексы слов в eds чье расстояние редактирования до элементов words меньше, чем или равный maxDist, отсортированный в порядке по возрастанию редактируют расстояние.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Индексы самых близких соседей в искателе, возвращенном как массив ячеек векторов.

idx{i} вектор из индексов слов в eds чье расстояние редактирования до words(i) меньше чем или равно maxDist, отсортированный в порядке по возрастанию редактируют расстояние.

Типы данных: cell

Отредактируйте расстояния до соседей, возвращенных как массив ячеек векторов.

d{i} вектор из расстояний редактирования между words(i) и соответствующие слова в eds данный индексами словаря idx{i}.

Типы данных: cell

Введенный в R2019a