zoukankan      html  css  js  c++  java
  • 文本相似度比较(网页版)

    @祁俊辉,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,说明两个文本完全不相似,会出现如下图结果:

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

  • 相关阅读:
    数据的独立同分布检验
    基于密度聚类的DBSCAN和kmeans算法比较
    Python 爬虫笔记、多线程、xml解析、基础笔记(不定时更新)
    多进程之multiprocessing模块、守护进程、互斥锁
    程序与进程的区别,并发与并行的区别,多进程的实现原理
    并发编程之守护进程
    MySQL帮助文档的使用
    MySQL操作之DCL
    MySQL操作之DML
    MySQL操作之DDL
  • 原文地址:https://www.cnblogs.com/qijunhui/p/8448879.html
Copyright © 2011-2022 走看看