分享一篇hanlp分词工具使用的小案例,即利用hanlp分词工具分析两个中文语句的相似度的案例。供大家一起学习参考!

 

在做考试系统需求时,后台题库系统提供录入题目的功能。在录入题目的时候,由于题目来源广泛,且参与录入题目的人有多位,因此容易出现录入重复题目的情况。所以需要实现语句相似度分析功能,从而筛选出重复的题目并人工处理之。

下面介绍如何使用Java实现上述想法,完成语句相似度分析:

1、使用HanLP完成分词:

首先,添加HanLP的依赖:(jsoup是为了处理题干中的html标签,去除html标签得到纯文本的题干内容)

 

 图1.JPG

分词代码如下,需要处理html标签和标点符号:

 

private static List<String> getSplitWords(String sentence) {

        // 去除掉html标签

        sentence = Jsoup.parse(sentence.replace(" ","")).body().text();

        // 标点符号会被单独分为一个Term,去除之

        return HanLP.segment(sentence).stream().map(a -> a.word).filter(s -> !"`~!@#$^&*()=|{}':;',\\[\\].<>/?~