文本相似度比较(网页版)

@祁俊辉,2017年6月22日测试。

1  说明

  • 本程序以关于SimHash算法的实现及测试V4.0为基础,利用JSP添加JavaBean接口,改为网页版;
  • 因为在网页版比较相似度时,生成txt文档会耗费一定的时间,而且在Tomcat发布后路径不方便控制,所以取消txt文档的输入输出,全程以字符串形式输入和返回;
  • 目前文档库中有100篇txt现代小说,若后期需要增加,直接复制到该路径下,然后在程序“TF_IDF”中把“TextNum”变量改为文档库中小说的个数即可。

制作过程中遇到的问题:

  • Tomcat发布程序后,不能使用相对路径,需使用绝对路径(计算TF-IDF值),目前路径为“E:\SimHash文档库”;
  • 分词包一定要复制到Tomcat安装路径下,才能正常使用,否则会报错;
  • CSS表格显示的“table-cell”一定要是块元素。

目前存在的问题:

  • HTML页面分辨率变化时,如窗口化,格式会乱(因为CSS中有些布局用的绝对布局,可能是这个原因)。

以下为本项目的流程示意图:

2  程序

程序分为Java程序、HTML程序和CSS程序。

java程序含有“FenCi”、“TF_IDF”、“SimHash128Web”、“Main”四个类,前三个类对应三个主要步骤,最后一个类主要为javaBean接口类提供服务。

本次程序不再提供源码,若有需要请联系作者:qce.hui@qq.com。

3  结果展示

第一次进入网页时展现为:

若两个文本框什么都不输入,点击“检测”,则不会有结果,仍然显示以上。

若两个文本框其中一个输入字符,另一个不输入,则会显示“检测无效”,如图:

若两个文本框都正常输入,点击“检测”,则会显示相应结果。

若海明距离在40以内,则会显示海明距离及相似度,如图:

后台数据会将分词结果、计算TF-IDF值得结果以及生成的SimHash指纹显示,如图:

若若海明距离超过40,说明两个文本完全不相似,会出现如下图结果:

经测试,显示结果与没有使用网页时相同,说明网页版程序正确。

posted @ 2018-02-14 20:53  祁俊辉  阅读(3275)  评论(0编辑  收藏  举报