文档帮助中心文档
查找两个字符串或文档之间的编辑距离
d = editDistance (str1 str2)
d = editDistance (document1 document2)
d = editDistance (___、名称、值)
例子
d= editDistance (str1,str2)返回转换所需插入、删除和替换的最低数量的字素(用于人类理解的字符的Unicode术语)str1来str2.
d= editDistance (str1,str2)
d
str1
str2
d= editDistance (document1,document2)返回转换所需的令牌插入、删除和替换的最低数量document1来document2.
d= editDistance (document1,document2)
document1
document2
d= editDistance (___,名称,值)使用一个或多个名称-值对参数指定其他选项。
d= editDistance (___,名称,值)
名称,值
全部折叠
查找字符串之间的编辑距离“文本分析”和“文本分析”.默认情况下,编辑距离是将一个字符串更改为另一个字符串所需的字素插入、删除和替换的总数。
“文本分析”
str1 =“文本分析”;str2 =“文本分析”;
找到编辑距离。
d = 2
这意味着将第一个字符串更改为第二个需要两次编辑。例如:
替换—替换字符“t”到一个“s”:“文本分析”来“文本analysics”.
“t”
“s”
“文本analysics”
删除-删除字符“c”:“文本analysics”来“文本分析”.
“c”
查找两个标记化文档之间的编辑距离。对于标记化的文档输入,默认情况下,编辑距离是将一个文档更改为另一个文档所需的标记插入、删除和替换的总数。
str1 =“该吃早饭了。”;document1 = tokenizedDocument (str1);str2 =“现在该睡觉了。”;document2 = tokenizedDocument (str2);
d = 3
这意味着将第一个文档更改为第二个文档需要三次编辑。例如:
插入-插入单词“现在”.
“现在”
替换-替换单词“对”与”到“.
“对”
”到“
替换-替换单词“早餐”与“睡眠”.
“早餐”
“睡眠”
的editDistance函数在默认情况下返回将一个字符串更改为另一个字符串所需的字素插入、删除和替换的最低数量。要在计算中包含交换操作,请使用“SwapCost”选择。
editDistance
“SwapCost”
首先,找到字符串之间的编辑距离“MATALB”和“MATLAB”.
“MATALB”
“MATLAB”
str1 =“MATALB”;str2 =“MATLAB”;d = editDistance (str1 str2)
一个可能的编辑是:
用第二个“一个”与“L”:(“MATALB”来“MATLLB”).
“一个”
“L”
“MATLLB”
用第二个“L”与“一个”:(“MATLLB”来“MATLAB”).
交换成本(交换两个相邻字母的成本)的默认值是正.这意味着交换不计入编辑距离。要包含交换,请设置“SwapCost”选项1。
正
d = editDistance (str1 str2,“SwapCost”,1)
d = 1
这意味着只有一个动作。例如,交换相邻字符“一个”和“L”.
若要计算两个单词之间的编辑距离并指定编辑不区分大小写,请指定自定义替代cost函数。
首先,计算字符串之间的编辑距离“MATLAB”和“MathWorks”.
“MathWorks”
d = editDistance (“MATLAB”,“MathWorks”)
d = 8
这意味着将第一个字符串更改为第二个需要8次编辑。例如:
替换—替换字符“一个”与“一个”.(“MATLAB”来“MaTLAB”)
“MaTLAB”
替换—替换字符“T”与“t”.(“MaTLAB”来“MatLAB”)
“T”
“MatLAB”
替换—替换字符“L”与“h”.(“MatLAB”来“MathAB”)
“h”
“MathAB”
替换—替换字符“一个”与“W”.(“MathAB”来“MathWB”)
“W”
“MathWB”
替换—替换字符“B”与“o”.(“MathWB”来“MathWo”)
“B”
“o”
“MathWo”
插入-插入字符“r”.(“MathWo”来“MathWor”)
“r”
“MathWor”
插入-插入字符“k”.(“MathWor”来“MathWork”)
“k”
“MathWork”
插入-插入字符“s”.(“MathWork”来“MathWorks”)
计算编辑距离并指定自定义替换成本函数caseInsensitiveSubstituteCost,列在示例的最后。自定义函数caseInsensitiveSubstituteCost如果两个输入按大小写相同或不同,则返回0,否则返回1。
caseInsensitiveSubstituteCost
d = editDistance (“MATLAB”,“MathWorks”,“SubstituteCost”@caseInsensitiveSubstituteCost)
d = 6
这意味着将第一个字符串更改为第二个字符串的总成本是6。例如:
替换(代价0)-替换字符“一个”与“一个”.(“MATLAB”来“MaTLAB”)
替换(代价0)-替换字符“T”与“t”.(“MaTLAB”来“MatLAB”)
替换(代价1)-替换角色“L”与“h”.(“MatLAB”来“MathAB”)
替换(代价1)-替换角色“一个”与“W”.(“MathAB”来“MathWB”)
替换(代价1)-替换角色“B”与“o”.(“MathWB”来“MathWo”)
Insert (cost 1) -插入字符“r”.(“MathWo”来“MathWor”)
Insert (cost 1) -插入字符“k”.(“MathWor”来“MathWork”)
Insert (cost 1) -插入字符“s”.(“MathWork”来“MathWorks”)
自定义代价函数
自定义函数caseInsensitiveSubstituteCost如果两个输入按大小写相同或不同,则返回0,否则返回1。
函数成本= caseInsensitiveSubstituteCost (grapheme1 grapheme2)如果drawtext (grapheme1) == drawtext (grapheme2) = 0;其他的成本= 1;结束结束
源字符串,指定为字符串数组、字符向量或字符向量的单元格数组。
如果str1包含多个字符串,然后str2必须和str1或标量。
数据类型:字符|字符串|细胞
字符
字符串
细胞
目标字符串,指定为字符串数组、字符向量或字符向量的单元格数组。
如果str2包含多个字符串,然后str1必须和str2或标量。
tokenizedDocument
源文件,指定为tokenizedDocument数组中。
如果document1包含多个文档,然后document2必须和document1或标量。
目标文档,指定为tokenizedDocument数组中。
如果document2包含多个文档,然后document1必须和document2或标量。
指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
editDistance(“MATALB”、“MATLAB”、“SwapCost”,1)
InsertCost
插入由逗号分隔的字符对组成的字素或令牌的开销“InsertCost”和非负标量或函数句柄。
“InsertCost”
如果“InsertCost”是函数句柄,则该函数必须接受单个输入并返回将输入插入源的代价。例如:
为字符串输入editDistance,成本函数必须有形式成本= func(字母),函数返回插入的代价字母成str1.
成本= func(字母)
字母
文件输入到editDistance,成本函数必须有形式成本= func(令牌),函数返回插入的代价令牌成document1.
成本= func(令牌)
令牌
例子:“InsertCost”,2
“InsertCost”,2
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64|function_handle
单
双
int8
int16
int32
int64
uint8
uint16
uint32
uint64
function_handle
DeleteCost
删除字符或令牌的代价,指定为逗号分隔对,由“DeleteCost”和非负标量或函数句柄。
“DeleteCost”
如果“DeleteCost”是函数句柄,则该函数必须接受单个输入并返回从源删除输入的代价。例如:
为字符串输入editDistance,成本函数必须有形式成本= func(字母),其中函数返回删除的代价字母从str1.
文件输入到editDistance,成本函数必须有形式成本= func(令牌),其中函数返回删除的代价令牌从document1.
例子:“DeleteCost”,2
“DeleteCost”,2
SubstituteCost
替换由逗号分隔对组成的字素或令牌的代价“SubstituteCost”和非负标量或函数句柄。
“SubstituteCost”
如果“SubstituteCost”是函数句柄,则该函数必须接受两个输入,并返回源中的第二个输入替换第一个输入的代价。例如:
为字符串输入editDistance,成本函数必须有形式成本= func (grapheme1 grapheme2),函数返回替换的代价grapheme1与grapheme2在str1.
成本= func (grapheme1 grapheme2)
grapheme1
grapheme2
文件输入到editDistance,成本函数必须有形式成本= func (token1 token2),函数返回替换的代价token1与token2在document1.
成本= func (token1 token2)
token1
token2
例子:“SubstituteCost”,2
“SubstituteCost”,2
SwapCost
交换两个相邻的字母或标记的代价,指定为逗号分隔对,由“SwapCost”和非负标量或函数句柄。
如果“SwapCost”是函数句柄,则该函数必须接受两个输入,并返回源文件中第一个输入与第二个输入交换的代价。例如:
为字符串输入editDistance,成本函数必须有形式成本= func (grapheme1 grapheme2),函数返回交换相邻字母的代价grapheme1和grapheme2在str1.
文件输入到editDistance,成本函数必须有形式成本= func (token1 token2),其中函数返回交换相邻标记的代价token1和token2在document1.
例子:“SwapCost”,2
“SwapCost”,2
编辑距离,作为非负标量返回。
默认情况下,该函数使用Levenshtein距离:将一个字符串转换为另一个字符串所需的最低插入、删除和替换次数。
对于其他常用的编辑距离,请使用以下选项:
“SwapCost”,1
“InsertCost”,正无穷,DeleteCost,正无穷
用语|editDistanceSearcher|knnsearch|rangesearch|splitGraphemes|tokenizedDocument
用语
editDistanceSearcher
knnsearch
rangesearch
splitGraphemes
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系