需求:实际生活中字符反转下,意思很接近,比如:“我走先”与“我先走”差不多一个意思。 Str:“XXabX”,与字符Str1:“XXba”、Str2:“XaXc”相比,要提高Str1的相似度更高,所以除了正向拆分字符,还得反向拆下,踪合得分。分值可以跟据实际调整。 拆分成一个字符与两个字符. | ||||||
字符拆分方向 | 要对照"abc"的字符串 | 分值 | 标准字符串1:cba | 分值 | 标准字符串2:cab | 分值 |
正 | a | 1 | c | 1 | c | 1 |
正 | b | 1 | b | 1 | a | 1 |
正 | c | 1 | a | 1 | b | 1 |
正 | ab | 1 | cb | 1 | ca | 1 |
正 | bc | 1 | ba | 1 | ab | 1 |
反 | cb | 0.3 | ab | 0.3 | ba | 0.3 |
反 | ba | 0.3 | bc | 0.3 | ac | 0.3 |
abc与cba比较:得分 3+4*0.3=4.2 abc与cab比较:得分 4+0.3=4.3 | ||||||
说明,正向拆分,分值设为1,反向设为0.3,字符串拆分后比较相等时取最小的值,比如abc与cba的ab相等取最小值就是0.3 |