superword开源项目中的定义相似规则
发布时间:2020-12-14 02:10:53 所属栏目:大数据 来源:网络整理
导读:两个词之间的关系有同义、反义、近义(有多近?)、相关(有多相关?)等等。 我们如何来判断两个词之间的关系呢?利用计算机能自动找出这种关系吗?当然可以,不仅能找出来,而且还能量化 出 有多近和有多相关。 本文描述了superword开源项目中的 定义相似
两个词之间的关系有同义、反义、近义(有多近?)、相关(有多相关?)等等。我们如何来判断两个词之间的关系呢?利用计算机能自动找出这种关系吗?当然可以,不仅能找出来,而且还能量化出有多近和有多相关。 本文描述了superword开源项目中的定义相似规则,利用词的定义计算词和词之间的相似性。词的定义使用的是韦氏词典,同时也支持牛津词典。相似性算法使用的是word分词提供的10大相似性算法。 定义相似规则主要包括以下6步: 1、获取要计算的词的定义: String?wordDefinition?=?MySQLUtils.getWordDefinition(word,?WordLinker.Dictionary.WEBSTER.name()); 2、获取分级词汇,分级词汇的具体定义见这里: Set<Word>?words?=?(Set<Word>)application.getAttribute("words_"+request.getAttribute("words_type")); 3、获取分级词汇的定义,代码见这里: List<String>?allWordDefinition?=?MySQLUtils.getAllWordDefinition(WordLinker.Dictionary.WEBSTER.name(),?words); 4、从word分词提供的10大相似性算法中任选一个,同时指定使用word分词提供的针对纯英文的分词器: TextSimilarity?textSimilarity?=?new?CosineTextSimilarity(); textSimilarity.setSegmentationAlgorithm(SegmentationAlgorithm.PureEnglish); 5、计算相似性,返回最相似的100个单词: int?count?=?100; Hits?result?=?textSimilarity.rank(wordDefinition,?allWordDefinition,?count); 6、输出计算结果: StringBuilder?temp?=?new?StringBuilder(); int?i=1; temp.append("<table?border="1">n"); for(Hit?hit?:?result.getHits()){ ????String[]?attrs?=?hit.getText().split("_"); ????String?w?=?attrs[0]; ????StringBuilder?definition?=?new?StringBuilder(attrs[1]); ????for(int?j=2;?j<attrs.length;?j++){ ????????definition.append(attrs[j]).append("_"); ????} ????temp.append("<tr>"); ????temp.append("<td>?").append(i++) ????????????.append(".?</td><td>?") ????????????.append(WordLinker.toLink(w)) ????????????.append("?</td><td>?") ????????????.append(definition) ????????????.append("?</td><td>?") ????????????.append(hit.getScore()) ????????????.append("</td><td>?") ????????????.append("<a?target="_blank"?href="definition-similar-rule.jsp?word="?+?hit.getText()?+?"&count="?+?count?+?"&words_type="?+?request.getAttribute("words_type")?+?"">相似</a>") ????????????.append("?</td>n"); ????temp.append("</tr>n"); } temp.append("</table>n"); htmlFragment?=?temp.toString(); 计算效果如下图所示: 1、使用韦氏词典的定义 2、使用爱词霸的定义 3、使用有道词典的定义 在线使用地址 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |