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);

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

words = ["MALTAB" "MatWorks" "analytcs"];
maxDist = 1;
idx = rangesearch(eds,words,maxDist)
idx=3×1 cell array
    {1x0 double}
    {[       1]}
    {[       5]}

Для "MALTAB", нет никаких слов в искателе в заданной области. Для "MatWorks" и "analytics", существует один результат. Просмотрите соответствующее слово для "MatWorks" использование возвращенного индекса.

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

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

words = ["MALTAB" "MatWorks" "analytcs"];
maxDist = 3;
[idx,d] = rangesearch(eds,words,maxDist)
idx=3×1 cell array
    {[       2]}
    {[       1]}
    {1x2 double}

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

Для обоих "MALTAB" и "MatWorks", существует одно слово в искателе в заданной области. Для "analytcs", существует два результата. Просмотрите соответствующие слова для "analytcs" использование возвращенных индексов и их расстояний редактирования.

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

d{3}
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