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
    {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
    {[       2]}
    {[       1]}
    {1x2 double}

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

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

nearestWords = eds.Vocabulary(idx{3})
nearestWords = 1x2 string array
    "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