天软金融分析.NET函数大全
>
TSL函数
>
基础函数
>
字符串
>
常用字符串函数
FuzzyCompareEx
复制链接
简述
根据指定算法,计算两字符串的相似性
对于包含中文串的相似性计算,建议使用unicode字符串,可以用widestring(s)从标准字符串类型进行转换,常量则可以用L"unicode字符串"。
定义
FuzzyCompareEx(type:Integer,s1,s2:String,n,var nret:Integer):Real
参数
名称
类型
说明
type
integer
模糊匹配算法类型,支持如下几种算法:
算法类型
对应值
对应说明
FzEditDistance()
0
Edit Distance(编辑距离)算法
FzHammingDistance()
1
Hamming Distance(汉明距离)算法
FzLongestSubstring()
2
Longest Substring(最长公共子串)算法
FzLongestSequnce()
3
Longest Sequnce(最长公共子序列)算法
FzJaccard()
4
Jaccard相似度算法
FzCosine()
5
Cosine(余弦相似度)算法
FzJaroWinkler()
6
Jaro-Winkler距离算法
FzSimHash()
7
SimHash(局部敏感哈希)算法
更多支持算法,参考:
模糊匹配算法类型函数
s1
String
字符串1
s2
String
字符串2
n
integer
仅指定算法为
FzJaccard
、
FzCosine
、
FzSimHash
时,该参数有效;其对应含义和默认值如下:
算法类型
含义
默认值
FzJaccard()
将字符串切分成字符集合时,集合中每个元素包含的连续字符数量
2
FzCosine()
将字符串切分成字符集合时,集合中每个元素包含的连续字符数量
2
FzSimHash()
选取的特征词数量(Top-N关键词),选取权重最高的n个关键词来生成哈希指纹
3
nret
integer
输出值;指定不同的算法时,其对应含义如下:
算法类型
含义
FzEditDistance()
将字符串s1转换为字符串s2所需的最小编辑次数(插入、删除、替换)
FzHammingDistance()
两字符串对应位置上不同字符的数量
FzLongestSubstring()
两字符串中连续出现的最长相同子串长度
FzLongestSequnce()
两字符串中按顺序出现但不必连续的最长相同子序列长度
FzJaccard()
两字符串分词后所得集合的交集元素个数
FzSimHash()
两字符串分词后加权生成的哈希指纹对应位置上不同字符的数量
注:指定算法为
FzCosine
、
FzJaroWinkler
时,该值无意义
返回值
real
两字符串间的相似性,范围:[0,1]
范例
//使用Jaccard相似度算法,指定切分字符长度为1,计算字符串"kitten"和"sitting"的相似性
t:=FuzzyCompareEx(FzJaccard(),"kitten","sitting",1,nret);
return array(t,nret);
//t值为相似性,nret值为两字符串切分后交集中元素个数,返回值为array(0.428571428571429,3)
参考
FuzzyCompare
模糊匹配算法类型函数
相关
Str2Array
Array2Str
Chr
WideChr
Ord
StrCmp
Concat
Format
SetFormatLocalCode
GetFormatLocalCode
AnsiFormat
Pos
Copy
SetLength
LeftStr
RightStr
LeftBStr
RightBStr
MidBStr
GetChar
SetChar
Str
Val
CompareStr
UpperCase
LowerCase
AppendStr
CompareText
SameText
Trim
TrimLeft
TrimRight
IsValidIdent
IntToStr
IntToHex
StrToInt
StrToIntDef
TryStrToInt
StrToBool
StrToBoolDef
TryStrToBool
BoolToStr
Booltostr2
FloatToStr
CurrToStr
FormatFloat
FormatCurr
StrToFloat
StrToFloatDef
TryStrToFloat
StrToCurr
StrToCurrDef
TryStrToCurr
Tostring
SpaceByNumber
AnsiStr2Array
TryUppercase
TryLowercase
SysEncodecryptStr
Letters
DecToInt64
DecToInt64def
TryDecToInt64
DecToInt32
DecToInt32def
TryDecToInt32
StrToInt64
StrToInt64Def
TryStrToInt64
StrToInt32
StrToInt32Def
TryStrToInt32
ToHttpPostdata
DecToInt
DecToIntDef
TryDecToInt
FloatToStrne
FuzzyCompare
FuzzyCompareEx
模糊匹配算法类型函数