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

微网站开发费用申请域名的方法和流程

微网站开发费用,申请域名的方法和流程,志成网站设计制作,建设网站个人银行需求 **文本推荐:**有多个文本字符串,如何设计一个简单的统计方法(从词频的角度设计),来计算出多个文本字符串两两之间的相似度,并输出大于指定相似度阈值的文本 分析理解 使用Java实现文本相似度计算的…

需求

**文本推荐:**有多个文本字符串,如何设计一个简单的统计方法(从词频的角度设计),来计算出多个文本字符串两两之间的相似度,并输出大于指定相似度阈值的文本

分析理解

使用Java实现文本相似度计算的一种方法是通过构建词频向量并计算余弦相似度,具体介绍如下,简单易懂
在这里插入图片描述
在这里插入图片描述

代码实现

复杂粘贴可以直接运行

        <!--  使用HanLP进行分词  --><dependency><groupId>com.hankcs</groupId><artifactId>hanlp</artifactId><version>portable-1.8.4</version></dependency>
import com.hankcs.hanlp.tokenizer.StandardTokenizer;
import java.util.*;
import java.util.stream.Collectors;public class ChineseTextRecommender {// 使用HanLP进行中文分词// 构建词频向量// 假设我们有两个文本文档,我们想衡量它们的主题相似性。每个文档可以被表示为一个向量,其中包含词频(TF)或TF-IDF值。// 文档A: "the cat sat on the mat on the mat"// 文档B: "the cat and the dog played"// 我们选择几个关键词:"the", "cat", "sat", "on", "mat", "and", "dog", "played"。每个词在文档中出现的次数(词频)可以构成一个向量。// 向量A: [2, 1, 1, 1, 2, 0, 0, 0]("the", "cat", "sat", "on", "mat", "and", "dog", "played")// 向量B: [1, 1, 0, 0, 0, 1, 1, 1]public static Map<String, Integer> buildTermVector(String text) {List<String> words = StandardTokenizer.segment(text).stream().map(term -> term.word).collect(Collectors.toList());Map<String, Integer> termVector = new HashMap<>();for (String word : words) {termVector.put(word, termVector.getOrDefault(word, 0) + 1);}return termVector;}// 计算余弦相似度public static double cosineSimilarity(Map<String, Integer> vectorA, Map<String, Integer> vectorB) {double dotProduct = 0.0;double normA = 0.0;double normB = 0.0;for (String key : vectorA.keySet()) {dotProduct += vectorA.get(key) * (vectorB.getOrDefault(key, 0));normA += Math.pow(vectorA.get(key), 2);}for (String key : vectorB.keySet()) {normB += Math.pow(vectorB.get(key), 2);}if (normA == 0 || normB == 0) {return 0.0;}return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));}// 推荐与指定文本相似度高的文本 texts为待判断文本列表public static List<String> recommendTexts(List<String> texts, String targetText, double threshold) {Map<String, Double> similarityScores = new HashMap<>();Map<String, Integer> targetVector = buildTermVector(targetText);for (String text : texts) {Map<String, Integer> textVector = buildTermVector(text);double similarity = cosineSimilarity(targetVector, textVector);similarityScores.put(text, similarity);System.out.println(text + " ----Similarity: " + similarity);}return similarityScores.entrySet().stream().filter(entry -> entry.getValue() >= threshold).map(Map.Entry::getKey).collect(Collectors.toList());}public static void main(String[] args) {// 相似度分别为0.91 0.59 0.54 0.799 0.791List<String> texts = Arrays.asList("这是一个测试文档吗", "这是第二个文档", "这是第三个文档","这是一个文档吗","这是第一个测试文档吧哈哈");String targetText = "这是一个测试文档";double threshold = 0.8; // 理论上,阈值在0.5左右都可以接受List<String> recommendedTexts = recommendTexts(texts, targetText, threshold);System.out.println("推荐文本:");recommendedTexts.forEach(System.out::println);}
}

输出结果

在这里插入图片描述

http://www.ritt.cn/news/28359.html

相关文章:

  • 深圳做网站什么公司好搜狗站长工具
  • mac机上怎么安装wordpress泉州seo按天收费
  • 八年级做网站什么是搜索引擎优化?
  • 女孩说做网站测试专业制作网页的公司
  • psd企业网站模板北京网站建设公司大全
  • 免费进入电影网站人人网入口深圳seo优化推广
  • 深圳企业网站开发费用admin5站长网
  • 查看网站开发语言汕头seo外包平台
  • 广西建设厅网站资质查询市场调研报告范文模板
  • 用dw做简单图片网站重庆seo推广运营
  • 商业网站怎么做个人接app推广单去哪里接
  • 网站建设与管理的考试建立网站平台需要多少钱
  • php儿童摄影网站源码营销网站
  • 做ppt哪个网站的图片好青岛网站建设制作推广
  • 做代练去什么网站安全吗俄国搜索引擎yandex入口
  • 直销网站系统制作价格品牌网站建设公司
  • 网站开发的图片要求百度竞价推广开户多少钱
  • 网络设计总结信息流广告优化师
  • 网站被k多久恢复嘉兴网站建设
  • 网站做子域名seo推广的方法
  • 网站开发 报价单 表格最近军事新闻
  • 国家电网交流建设分公司网站重庆seo网络推广关键词
  • 学网页制作有什么用重庆网络seo
  • 公司做网站要企业认证秦皇岛seo排名
  • entware wordpress西安百度提升优化
  • 仿站网站建设排名优化网站seo排名
  • 上海网站建设定制网站推广关键词工具
  • 黑龙江省道路建设网站西安网站seo公司
  • 郑州做网站的公司msgg上海职业技能培训机构一览表
  • 手机网站分辨率做多大外链怎么打开