当前位置: 首页 > wzjs >正文

网站没有做的关键词有排名竞价推广怎样管理

网站没有做的关键词有排名,竞价推广怎样管理,蚌埠做网站,优客教育网页制作教程目录 一、引言 二、针对Java 代码(.java文件), 比较余弦算法、Jaccard相似度、欧式距离、编辑距离等在计算相似度的差异 三、针对文本文件(.txt文件,里面是Java代码), 比较余弦算法、Jaccard相似度、欧式距离、编辑距离等在计算相似度的差异 四、初步…

目录

一、引言

二、针对Java 代码(.java文件), 比较余弦算法、Jaccard相似度、欧式距离、编辑距离等在计算相似度的差异

三、针对文本文件(.txt文件,里面是Java代码), 比较余弦算法、Jaccard相似度、欧式距离、编辑距离等在计算相似度的差异

四、初步结论


一、引言

对于文本相似度的问题,常见算法包括:

✔️数据量不是海量的场景下常用算法: 欧式距离、编辑距离、最长公共子串、余弦算法、Jaccard相似度等方法

✔️海量的场景下常用算法:

  • SimHash计算得到的Hash串会非常的相近,从而可以判断两个文本的相似程度
  • 海明距离应用最多的是在海量短文、文本去重上,以其性能优的特点。海明距离主要就是对文本进行向量化,或者说是把文本的特征抽取出来映射成编码(比如使用SimHash映射成编码),然后再对编码进行异或计算出海明距离。

二、针对Java 代码(.java文件), 比较余弦算法、Jaccard相似度、欧式距离、编辑距离等在计算相似度的差异

要求:比较源文件和目标文件(均为.java代码)的相似程度。比较时忽略注释、Java保留关键词、无意义中文等对代码比较的影响。

比较源文件和目标文件都是标准的Java代码(.java代码),唯一区别在于目标文件含有注释,源文件没有注释。

源文件内容如下(不含代码注释):

package com.homework.utils.hanlp;
import java.io.*;
public class FileIO {public static String readTxt(String txtPath) {String str = "";String strLine="";File storefile = new File(txtPath);FileInputStream fileInputStream = null;try {fileInputStream = new FileInputStream(storefile);InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);while ((strLine = bufferedReader.readLine()) != null) {str += strLine;}inputStreamReader.close();bufferedReader.close();fileInputStream.close();} catch (IOException e) {e.printStackTrace();System.out.println("读文件异常,exception = " + e.getLocalizedMessage());}return str;}public static void writeTxt(double txtElem,String txtPath){String str = Double.toString(txtElem);File file = new File(txtPath);FileWriter fileWriter = null;try {fileWriter = new FileWriter(file, true);fileWriter.write(str, 0, (str.length() > 3 ? 4 : str.length()));fileWriter.write("\r\n");fileWriter.close();} catch (IOException e) {e.printStackTrace();}}
}

目标文件内容如下(含代码注释):

package com.homework.utils.hanlp;
import java.io.*;public class FileIO {/*** 读出txt文件* 传入文件绝对路径,将文件内容转化为 String字符串输出*  txtPath 文件路径*  返回 文件内容*/public static String readTxt(String txtPath) {String str = "";String strLine="";// 将 txt文件按行读入 str中File storefile = new File(txtPath);FileInputStream fileInputStream = null;try {//将文件信息读入内存并利用InputStreamReader将字节信息转为字符流fileInputStream = new FileInputStream(storefile);InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);// 利用BufferedReader创建对象,用readLine方法按行拼接字符串while ((strLine = bufferedReader.readLine()) != null) {
//                // 过滤特殊字符
//                String[] strings = {" ", "\n", "\r", "\t", "\\r", "\\n", "\\t", " ", "&", "<", ">", """, "&qpos;"};
//                for (String string : strings) {
//                    strLine = strLine.replaceAll(string, "");
//                }str += strLine;}// 关闭资源inputStreamReader.close();bufferedReader.close();fileInputStream.close();} catch (IOException e) {e.printStackTrace();System.out.println("读文件异常,exception = " + e.getLocalizedMessage());}return str;}/*** 写入txt文件* 传入内容、文件全路径名,将内容写入文件并换行*  txtElem 传入的内容*  txtPath 写入的文件路径*/public static void writeTxt(double txtElem,String txtPath){String str = Double.toString(txtElem);File file = new File(txtPath);FileWriter fileWriter = null;try {fileWriter = new FileWriter(file, true);fileWriter.write(str, 0, (str.length() > 3 ? 4 : str.length()));fileWriter.write("\r\n");// 关闭资源fileWriter.close();} catch (IOException e) {e.printStackTrace();}}
}

不同算法对源Java文件、目标Java文件相似度统计结果:

初步结论: 不同相似度方法 没有表现出明显的算法优劣差异

三、针对文本文件(.txt文件,里面是Java代码), 比较余弦算法、Jaccard相似度、欧式距离、编辑距离等在计算相似度的差异

要求:比较源文件和目标文件(均为.txt,里面内容为Java代码)的相似程度。比较时忽略注释、Java保留关键词、无意义中文等对代码比较的影响。

比较源文件和目标文件都是标准的Java代码,唯一区别在于目标文件含有注释,源文件没有注释。

源文件和目标文件内容 同上面的源文件和目标文件内容:

源文件:

package com.homework.utils.hanlp;
import java.io.*;
public class FileIO {
    public static String readTxt(String txtPath) {
        String str = "";
        String strLine="";
        File storefile = new File(txtPath);
        FileInputStream fileInputStream = null;
        try {
            fileInputStream = new FileInputStream(storefile);
            InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            while ((strLine = bufferedReader.readLine()) != null) {

                str += strLine;
            }
            inputStreamReader.close();
            bufferedReader.close();
            fileInputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("读文件异常,exception = " + e.getLocalizedMessage());
        }
        return str;
    }

    public static void writeTxt(double txtElem,String txtPath){
        String str = Double.toString(txtElem);
        File file = new File(txtPath);
        FileWriter fileWriter = null;
        try {
            fileWriter = new FileWriter(file, true);
            fileWriter.write(str, 0, (str.length() > 3 ? 4 : str.length()));
            fileWriter.write("\r\n");
            fileWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

目标文件:

package com.homework.utils.hanlp;
import java.io.*;

public class FileIO {

    /**
     * 读出txt文件
     * 传入文件绝对路径,将文件内容转化为 String字符串输出
     *  txtPath 文件路径
     *  返回 文件内容
     */
    public static String readTxt(String txtPath) {
        String str = "";
        String strLine="";
        // 将 txt文件按行读入 str中
        File storefile = new File(txtPath);
        FileInputStream fileInputStream = null;
        try {
            //将文件信息读入内存并利用InputStreamReader将字节信息转为字符流
            fileInputStream = new FileInputStream(storefile);
            InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            // 利用BufferedReader创建对象,用readLine方法按行拼接字符串
            while ((strLine = bufferedReader.readLine()) != null) {
//                // 过滤特殊字符
//                String[] strings = {" ", "\n", "\r", "\t", "\\r", "\\n", "\\t", " ", "&", "<", ">", """, "&qpos;"};
//                for (String string : strings) {
//                    strLine = strLine.replaceAll(string, "");
//                }

                str += strLine;
            }
            // 关闭资源
            inputStreamReader.close();
            bufferedReader.close();
            fileInputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("读文件异常,exception = " + e.getLocalizedMessage());
        }
        return str;
    }

    /**
     * 写入txt文件
     * 传入内容、文件全路径名,将内容写入文件并换行
     *  txtElem 传入的内容
     *  txtPath 写入的文件路径
     */
    public static void writeTxt(double txtElem,String txtPath){
        String str = Double.toString(txtElem);
        File file = new File(txtPath);
        FileWriter fileWriter = null;
        try {
            fileWriter = new FileWriter(file, true);
            fileWriter.write(str, 0, (str.length() > 3 ? 4 : str.length()));
            fileWriter.write("\r\n");
            // 关闭资源
            fileWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

不同算法对源文件、目标文件相似度统计结果:

初步结论: 相同的Java代码复制到文本文件中(.txt文件),不同算法检查的相似度差异较大。

四、初步结论

        为了实现更准确对比2个Java代码的相似度(用于Java课程作业查重场景), 可以将Java源码原封不动保存到.java文件中,可以得到更准确结果,且不同相似度算法下计算的相似度差异一致。

http://www.dtcms.com/wzjs/436714.html

相关文章:

  • 闵行西安网站建设下载百度
  • wordpress验证主题南宁seo渠道哪家好
  • 汉中做网站的公司网上推广产品怎么做
  • 艺术类 网站建设方案搜索关键词的软件
  • 网站负责人 主体负责人阐述网络营销策略的内容
  • 品牌网站制作免费b站推广软件
  • 珠海网站建设优化推广推广平台有哪些渠道
  • 建筑人才网站哪个比较好网站seo报告
  • 网站关键词排名忽然分类达人介绍
  • 姓名域名网站广告优化师前景怎样
  • 有一个私人做慈善的网站seo案例分析方案
  • 自己做电影下载网站百度投诉中心24人工客服
  • 高校网站建设工作总结网页制作的软件有哪些
  • 南通营销型网站建设福州网站排名
  • 找网站公司做网站网站怎么快速排名
  • 动态的网站怎么做上海疫情又要爆发了
  • 美国社交网站 做仿牌杭州seo泽成
  • 街舞舞团公司做网站淘宝指数查询
  • 阿里云网站备案流程百度广告联盟怎么加入
  • 爱妮微如何做网站链接的网址百度云资源搜索引擎
  • 张店网站建设价格拉新app渠道
  • 江苏网站备案暂住证ip反查域名网站
  • 做的网站手机打不开怎么回事啊推广平台app
  • 内外外贸购物网站建设域名信息查询
  • 铜川微网站建设线上推广有哪些渠道
  • 哈尔滨企业网站seo全网线报 实时更新
  • 专业做书画推广的网站网站推广的途径和方法
  • 做徽商要做网站吗手机网页制作软件
  • 东营微信开发网站建设类似58的推广平台有哪些平台
  • 找网站做q币关键词seo是什么