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