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

自然语言处理系列三十四》 语义相似度》同义词词林》代码实战

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】

文章目录

  • 自然语言处理系列三十四
    • HanLP自然语言处理工具包
      • 代码实战
      • 同义词词林的词典扩展策略
      • 基于深度学习的语义相似度
  • 总结

自然语言处理系列三十四

HanLP自然语言处理工具包

HanLP提供了判断语义相似度的方法。HanLP是一个面向生产环境的多语种自然语言处理工具包,它基于PyTorch和TensorFlow 2.x双引擎,目标是普及落地最前沿的NLP技术。无论您是专家还是初学者,HanLP都可以让您能够轻松快速的构建、处理和“理解”大量文本的AI应用程序。HanLP 具备功能强大、易于使用、性能高效等特点。它可以进行中文分词、词性标注、命名实体识别、依存句法分析等多种自然语言处理任务。HanLP 在处理大规模文本数据时表现出色,能够快速准确地分析文本内容,为文本挖掘、信息检索、机器翻译等应用提供基础支持。

代码实战

HanLP本身就提供了语义相似度的方法,基于同义词词林实现代码如8.1所示。
【代码8.1】 SemanticsDemo.java

package com.chongdianleme.job;
import com.hankcs.hanlp.dictionary.CoreSynonymDictionary;
/*** Created by 充电了么App - 陈敬雷* 充电了么App官网:http://chongdianleme.com/* 充电了么App - 专注上班族职业技能提升充电学习的在线教育平台* 语义相似度
*/
public class SemanticsDemo {public static void main(String[] args) {similarity("人物","人选");similarity("良民","大家伙儿");//输出结果:// 人物:人选=1.0//良民:大家伙儿=0.9649740171551757}/*** 计算两个词的语义相似度* @param word1* @param word2*/public static void similarity(String word1,String word2) {double sim = CoreSynonymDictionary.similarity(word1, word2);if(!Double.isNaN(sim)) {System.out.println(word1+":"+word2+"="+sim);}else{System.out.println("结果为空");}}
}

同义词词林的词典扩展策略

同义词词林的词典是有限的,可以用Word2Vec词向量模型去发现和拓展新的词进去,为了保证精度建议采用机器+人工整理的方式。用Word2Vec词向量模型拓展新的词,再有人工确认是不是靠谱,之后再加入到词典。后面的章节我们会单独讲到Word2Vec。另外句子和段落间的语义相似度可以基于同义词词林的词的语义相似,通过加权平均的方式来计算整个句子和段落的整体相似度分值。

基于深度学习的语义相似度

基于同义词词林的语义相似度是比较简单的,下一篇文章介绍基于深度学习的语义相似度。

总结

此文章有对应的配套新书教材和视频:

【配套新书教材】
《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】
新书特色:本书从自然语言处理基础开始,逐步深入各种NLP热点前沿技术,使用了Java和Python两门语言精心编排了大量代码实例,契合公司实际工作场景技能,侧重实战。
全书共分为19章,详细讲解中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注、文本相似度算法、语义相似度计算、词频-逆文档频率(TF-IDF)、条件随机场、新词发现与短语提取、搜索引擎Solr Cloud和Elasticsearch、Word2vec词向量模型、文本分类、文本聚类、关键词提取和文本摘要、自然语言模型(Language Model)、分布式深度学习实战等内容,同时配套完整实战项目,例如对话机器人实战、搜索引擎项目实战、推荐算法系统实战。
本书理论联系实践,深入浅出,知识点全面,通过阅读本书,读者不仅可以理解自然语言处理的知识,还能通过实战项目案例更好地将理论融入实际工作中。

【配套视频】
自然语言处理NLP原理与实战 视频教程【陈敬雷】
视频特色:《自然语言处理NLP原理与实战》包含了互联网公司前沿的热门算法的核心原理,以及源码级别的应用操作实战,直接讲解自然语言处理的核心精髓部分,自然语言处理从业者或者转行自然语言处理者必听视频!

上一篇:自然语言处理系列三十三》 语义相似度》同义词词林》算法原理
下一篇:自然语言处理系列三十五》 语义相似度》基于深度学习的语义相似度算法原理

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 三十八、【人工智能】【机器学习】【监督贝叶斯网络(Bayesian Networks)学习】- 算法模型
  • 安卓TV入门项目
  • valgrind 工具helgrind使用
  • AI技术在招聘人才笔试测评中的作用
  • linux安装go 环境
  • C语言:链表删除
  • 鸿蒙内核源码分析(原子操作篇) | 谁在为原子操作保驾护航
  • 阿里声音项目Qwen2-Audio的部署安装,在服务器Ubuntu22.04系统——点动科技
  • 依赖倒置原则(Dependency Inversion Principle, DIP)
  • SQL - 创建 表和数据库
  • k8s综合项目
  • 【秋招笔试】8.18大疆秋招(第二套)-开发岗-三语言题解
  • Spring模块详解Ⅱ
  • 华为HCIP证书好考吗?详解HCIP证书考试难易程度及备考策略!
  • [HDCTF 2023]Welcome To HDCTF 2023
  • [LeetCode] Wiggle Sort
  • HTTP中GET与POST的区别 99%的错误认识
  • Java Agent 学习笔记
  • Java方法详解
  • jdbc就是这么简单
  • leetcode388. Longest Absolute File Path
  • python docx文档转html页面
  • Swoft 源码剖析 - 代码自动更新机制
  • 给Prometheus造假数据的方法
  • 缓存与缓冲
  • 前端面试题总结
  • 巧用 TypeScript (一)
  • 微服务框架lagom
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 延迟脚本的方式
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 原生JS动态加载JS、CSS文件及代码脚本
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #window11设置系统变量#
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $.ajax,axios,fetch三种ajax请求的区别
  • $.proxy和$.extend
  • (1)(1.13) SiK无线电高级配置(六)
  • (7)svelte 教程: Props(属性)
  • (day6) 319. 灯泡开关
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (二)测试工具
  • (新)网络工程师考点串讲与真题详解
  • (转) Android中ViewStub组件使用
  • (转) 深度模型优化性能 调参
  • .net 7 上传文件踩坑
  • .net core docker部署教程和细节问题
  • .Net Core 笔试1
  • .net dataexcel 脚本公式 函数源码
  • .net Stream篇(六)
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .Net实现SCrypt Hash加密
  • [] 与 [[]], -gt 与 > 的比较