主要内容

EditDistanceSearcher.

编辑距离最近邻南搜索者

描述

编辑距离搜索器使用编辑距离在已知字符串列表中执行最近的邻居搜索。

创建

描述

例子

eds.= EditDistanceSearcher(词汇maxdist.创建编辑距离搜索器并设置词汇最大值特性。返回的对象搜索单词词汇并且最大编辑距离maxdist.

例子

eds.= EditDistanceSearcher(词汇maxdist.名称,价值使用一个或多个名称值对参数指定其他选项。

特性

展开全部

将指定为字符串向量,字符向量或字符向量的小区数组进行比较。

数据类型:char|细绳|细胞

最大编辑距离,指定为正标量。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

插入图形的成本,指定为非负标量或函数手柄。

如果插入盖是功能句柄,那么该功能必须接受一个输入并返回将输入插入源的成本。成本函数必须具有表单成本= func(图形),该功能返回插入的成本图形进入源字符串。

如果指定了自定义成本函数,则搜索者执行详尽令人遗憾的搜索。对于大词汇,功能knnsearch.rangesearch.可能需要很长时间才能找到匹配。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|function_handle.

删除图形的成本,指定为非负标量或函数句柄。

如果deletecost.是功能句柄,那么功能必须接受单个输入并返回从源中删除输入的成本。成本函数必须具有表单成本= func(图形),该函数返回删除成本图形来自源字符串。

如果指定了自定义成本函数,则搜索者执行详尽令人遗憾的搜索。对于大词汇,功能knnsearch.rangesearch.可能需要很长时间才能找到匹配。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|function_handle.

替换图形的成本,指定为非负标量或函数手柄。

如果替补是一个函数句柄,那么功能必须完全接受两个输入,并返回将第一个输入代替到源中的第二个输入的成本。成本函数必须具有表单成本= Func(GraphEme1,GraphEme2),该功能返回代替的成本grapheme1.grapheme2.在源头。

如果指定了自定义成本函数,则搜索者执行详尽令人遗憾的搜索。对于大词汇,功能knnsearch.rangesearch.可能需要很长时间才能找到匹配。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|function_handle.

转换相邻图形的成本,指定为非负标量或函数句柄。

如果Swapcost.是一个函数手柄,那么功能必须完全接受两个输入,并返回将第一输入交换的成本与源中的第二个输入交换。成本函数必须具有表单成本= Func(GraphEme1,GraphEme2),该函数返回交换相邻图形的成本grapheme1.grapheme2.在源头。

如果指定了自定义成本函数,则搜索者执行详尽令人遗憾的搜索。对于大词汇,功能knnsearch.rangesearch.可能需要很长时间才能找到匹配。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|function_handle.

对象功能

rangesearch. 通过编辑距离范围查找最近的邻居
knnsearch. 通过编辑距离查找最近的邻居

例子

全部收缩

创建一个具有最大编辑距离3的编辑距离搜索器“Mathworks”“matlab”, 和“分析”

词汇= [“Mathworks”“matlab”“分析”];EDS = EditDistanceSearcher(词汇,3)
EDS = EditDistanceSearcher具有属性:词汇表:[“Mathworks”“Matlab”“Analytics”] MaximumDistance:3 InsertCost:1 Deletecost:1替换才:1 Swapcost:INF

使用Damerau-Levenshtein编辑距离创建编辑距离搜索器。Damerau-Levenshtein编辑距离是最低数量的插入,删除,替换和换档。

从单词创建编辑距离搜索器“Mathworks”“matlab”, 和“分析”并指定最大距离3.以指定Damerau-Levenshtein编辑距离,设置'swapcost'到1。

词汇= [“Mathworks”“matlab”“分析”];EDS = EditDistanceSearcher(词汇,3,'swapcost'1)
EDS = EditDistanceSearcher具有属性:词汇表:[“Mathworks”“Matlab”“Analytics”]最大数量

创建编辑距离搜索器。

词汇= [“文本”“分析”“工具箱”];EDS = EditDistanceSearcher(词汇,2);

找到最接近的单词“测试”“分析”

单词= [“测试”“分析”];idx = knnsearch(eds,单词)
Idx =.2×11 2

使用返回的指数获取词汇表的单词。

regientwords = eds.vocabulary(IDX)
regientwords =1x2字符串“文本”“分析”

创建编辑距离搜索器并指定最大编辑距离为3。

词汇= [“Mathworks”“matlab”“万博1manbetxsimulink”“文本”“分析”“分析”];maxdist = 3;EDS = EditDistanceSearcher(词汇,Maxdist);

找到最接近的单词“测试”“分析”, 和“分析”编辑距离小于或等于1。

单词= [“测试”“分析”“分析”];maxdist = 1;idx = rangesearch(eds,lock,maxdist)
Idx =.3×1个单元阵列{[4]} {[5]} {1x0 double}

为了“分析”,搜索者在指定范围内没有单词。为了“测试”“分析”,每个结果都有一个结果。查看相应的单词“测试”使用返回的索引。

regientwords = eds.vocabulary(idx {2})
regientWords =“分析”

找到最接近的单词“测试”“分析”, 和“分析”编辑距离小于或等于3及其相应的编辑距离。

单词= [“测试”“分析”“分析”];maxdist = 3;[idx,d] = rangesearch(eds,lock,maxdist)
Idx =.3×1个单元阵列{[4]} {[5 6]} {[6]}
d =3×1个单元阵列{[1]} {[1 2]} {[3]}

对彼此而言“测试”“分析”,在指定范围内搜索中有一个单词。为了“分析”,有两个结果。查看相应的单词“分析”(第二个单词)使用返回的索引及其编辑距离。

我= 2;regientwords = eds.vocabulary(idx {i})
regientwords =1x2字符串“分析”“分析”
d {i}
ans =.1×21 2

算法

展开全部

在R2019A介绍