专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » js截取中文字符串:如何确定中文字符串的相似度 »正文

js截取中文字符串:如何确定中文字符串的相似度

来源: 发布时间:星期四, 2009年1月15日 浏览:11次 评论:0
  分析   最简单问题求解  串由组区别含义单词组成它区别于数值型变量可以用个特定数值来确定它大小或位置所以用何种方式来描述两个串的间距离成为了个值得探讨问题

  通常情况下用于分析数据类型有如下几种:区间标度遍历、 2元变量、标称型变量、序数型变量、比例标度型变量、混合类型变量等

  综合这些变量类型本文认为串变量更适合于归类于 2元变量我们可以利用分词技术将串分成若干个单词每个独立单词作为 2元变量个属性我们把所有单词设定为个 2元变量属性集合R串1和串2单词包含于这个集合R设q是串1和串2中都存在单词总数s是串1中存在串2中不存在单词总数r是串2中存在串1中不存在单词总数t是串1和串2中都不存在单词总数我们称 q,r,s,t为串比较中4个状态分量 如图1所示:

  由于两个串都不存在单词对两个比较没有任何作用所以忽略t于是我们采用非恒定相似度评价系数(Jaccard系数)来描述两个串见相异度表示公式为

  相异度 = r+s / (q+r+s)不难推断他们形似度公式为

  相似度=q/(q+r+s) 公式1


  同义词问题  在语言中同义词是经常遇到问题如果两个串中存在同义词其相似度又如何计算呢

  对于同义词问题我们要从分词过程中来解决首先我们需要构建个同义词对照表将同义词对应到个等价单词在对串分词后对串中所有单词到同义词表中查找如果存在则替换为对应等价单词这样分词后两个串中同义词就指向了相同单词

  比如存在同义词表如下:

单词 等价词
也许 也许
或许 也许
可能 也许

  串1:他也许不来了

  串2:他可能不来了

  分词后 2元属性关系表如下:

串/属性 他 也许 不来 了
他也许不来了 Y Y Y Y
他可能不来了 Y Y Y Y

  不难看出两个相似度为 100%

  同音区别义  在中文网络环境中由于大多数网络文章作者都是采用拼音输入法输入汉字经常会出现输入同音区别义文字为了纠正这种我们可以考虑采用汉语拼音方式进行分词也可以综合分词也就是先正常分词在拼音分词分词结果去两者并集

  小节  确定串相似度思路方法很多本文根据作者多年从事数据挖掘工作经验结合数据挖掘理论提出相关解决方案可以较好解决中文串分析中相似度比较问题但技术发展是不断前进相信未来还会有更好思路方法来解决中文串相似度比较问题读者如果有更好想法或者发现本文算法中不足非常欢迎和本文作者联系

  参考文献

  数据挖掘概念和技术 机械工业出版社 Jiawei Han, Micheline Kamber

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: