中文情感词典的构建

article/2025/3/12 1:17:34

首先,国外英文的情感分析已经取得了很好的效果,得益于英文单词自身分析的便捷性与英文大量的数据集 WordNet。但由于中文的多变性,语义的多重性与数据集的缺乏,使得国内的情感分析暂落后于国外。本文将记录博主在项目中构建情感词典的经验,欢迎大家指正。
我们首先将情感词典分为通用情感词典与专用情感词典。

1.通用情感词典的构建

通用情感词典的构建主要是通过将目前开源的情感词典整合起来,筛去重复和无用的单词。
目前网上开源的情感词典包含有:知网(HowNet)情感词典、台湾大学(NTSUSD)简体中文情感极性词典、大连理工大学情感词汇本体。
前两个都可以在网上找到,第三个需要到其学校官网申请,说明完用途即可获得。

2.通用情感词典的扩展

上述情感词典年代都已经比较久远,所以我们可以采取一定方法对其扩展。这里我们采用的方法是将词典的同义词添加到词典里。
我们通过使用哈工大整理的同义词词林来获取词典的同义词,需要一提的是第一版的同义词林年代较为久远,现在也有哈工大整理的同义词林扩展版。
使用的链接在这里:哈工大同义词林扩展版
使用代码编写时也可以利用Python的Synonyms库来获取同义词。
其已经开源,链接为:synonyms
如:

import synonyms
print("人脸: %s" % (synonyms.nearby("人脸")))
print("识别: %s" % (synonyms.nearby("识别")))

3.领域情感词典的构建

构建特定领域的情感词典需要利用PMI互信息计算与左右熵来发现所需要的新词。具体方法我们可以添加情感种子词,来计算分好词的语料中各个词语与情感种子词的互信息度与左右熵,再将互信息度与左右熵结合起来,选择出与情感词关联度最高的TopN个词语,将其添加到对应的情感词典。
这里可以参考链接link

互信息度计算

互信息度计算

  • p(x,y)为两个词一起出现的概率
  • p(x)为词x出现的概率
  • p(y)为词y出现的概率

具体例子:4G, 上网卡,4G上网卡;如果4G的词频是2,上网卡的词频是10,4G上网卡的词频是1,那么记单单词的总数有N个,双单词的总数有M个,则有下面的公式
具体例子

左右熵

我们这里使用左右熵来衡量主要是想表示预选词的自由程度(4G上网卡为一个预选词),左右熵越大,表示这个词的左边右边的词换的越多,那么它就很有可能是一个单独的词。
我们这里的左右熵定义为(以左熵为例):
左熵
这里我们还是举一个具体的例子来理解它
假设4G上网卡左右有这么几种搭配
[买4G上网卡, 有4G上网卡,有4G上网卡, 丢4G上网卡]
那么4G上网卡的左熵为
例子
这里A = [买, 有, 丢]

后面就是具体的实现了,这里的难点就在如何获得这些概率值,就博主看到的用法有:利用搜索引擎获取词汇共现率即p(x,y)、利用语料库获取各个词出现概率

最后我们只需要将这三步获得的情感词典进行整合就可以了

大家也可以去我的个人博客讨论联系,欢迎大家指正。
JMX的个人博客 www.jmxgodlz.xyz
参考文献:
python3实现互信息和左右熵的新词发现


http://chatgpt.dhexx.cn/article/sPaLgnY7.shtml

相关文章

基于情感词典的网络文本情感倾向分类模型

目录 前言一、模型构建1.归类2.判定3.输出 二、代码实现三、结果展示 前言 文本情感倾向性分析(也称为意见挖掘)是指识别和提取原素材中的主观信息,并对带有感情色彩的文本进行分析处理和归纳推理的过程。主要用于实时社交媒体的内容&#xf…

使用SO-PMI算法构建行业/专业情感词典

文章目录 1. 情感词典内容2. 情感倾向点互信息算法(SO-PMI)算法点互信息算法 PMI情感倾向点互信息算法 SO-PMI 3. 构建情感词典1. 导入项目2. 构建情感种子词3. 使用TF-IDF方便构建情感种子词4. 构建专业词典的效果与使用方法5. 其他说明 1. 情感词典内容…

在微雕中使用的电脑设计

需求是我们要在铜器上复刻很小的凹印,可以选用的技术方案还是很多:激光雕刻,篆刻、钢印。 激光雕刻有利有弊,前期复制是最方便的,激光雕刻有专门的设计软件,可以很轻松的把自己的图案运用到机器上去。制作和时间的成本都非常的低,但是激光对金属的雕刻有一个大大的缺点…

闲人闲谈PS之四十二——顾问的“禁忌之地”—制造能力计划

惯例闲话:上个月有幸成为乐老师乐谈IT系列培训课程的讲师,分享主题是,PS在装备制造和工程行业的应用。虽然培训规模不是很大,但是闲人很有信心,至少在小范围之内,参与培训的听友人来说,PS一直以…

ibm x201 怎么清理内部_ThinkPad X201拆解,联想Thinkpad X201拆机图解

1.jpg (25.79 KB, 下载次数: 2552) 2010-6-1 20:13 上传 ThinkPad X201掌托,没有防滚架,这个掌托就显得很软。电磁屏蔽做得很用心。 2.jpg (39.16 KB, 下载次数: 2556) 2010-6-1 20:13 上传 ThinkPad X201掌托特写,可以看到掌托塑料件是MITSU…

学习opencv:PS滤镜—浮雕

实现浮雕效果的算子有很多&#xff0c;效果大同小异&#xff0c;不同算子的处理结果在细节上会有所差异。事实上&#xff0c;任何一阶差分算子都可用于实现浮雕效果&#xff0c;简单起见&#xff0c;这里使用算子[-1,1]。 代码如下 #include<iostream> #include <…

ps给图片加钢印方法

给图片加一个钢印其实很简单 这样的效果只能类似钢印 简单可以按照下面的方法 准备资料 &#xff1a;一个要加钢印的图片 一个透明印章即可实现 方法&#xff1a;斜面和浮雕 一、打开图片 二、打开透明印章 三、将透明印章移动到图片中 四、进行图层设置 右击印章图层---混合…

PS钢印效果制作

PS制作钢印效果一法 转载教程:严禁做假.... 附件 1.jpg (37.05 KB) 2008-6-10 22:39 2.jpg (33.59 KB) 2008-6-10 22:39 3.jpg (38.57 KB) 2008-6-10 22:39 4.jpg (42.49 KB) 2008-6-10 22:39 5.jpg (39.2 KB) 2008-6-10 22:39 6.jpg (44.63 KB) 2008-6-10 22:39 7.jpg…

Oracle中extract()函数

oracle中extract()函数从oracle 9i中引入的,主要作用于一个date或者interval类型中截取特定的部分 extract()语法如下&#xff1a; extract ( { year | month | day | hour | minute | second | 某一时区 } from { date类型值 | interval类型值} ) 要点一&#xff1a;extract()…

oracle ora-01652:无法通过1024(在表空间SYSTEM中)拓展temp段

1.报错 2.查询拓展表空间 2.1查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.…

hpux oracle10.2.0.4下报ORA-1652 unable to extend temp segment by 128 in tablespace CARDTS

hpux oracle10.2.0.4 rac 下报ORA-1652 unable to extend temp segment by 128 in tablespace CARDTS hpux 11.31 oracle10.2.0.4 rac ,2 nodes 值得注意的是&#xff0c;报的是不能在CARDTS表空间中扩展temp段。。。 后来查询metalink 文章&#xff0c; Troubleshooting ORA-1…

原创:oracle中单行函数介绍 lt;五gt;

在SQL中有两种函数一种是单行函数&#xff0c;一种是多行函数.在sql与pl/sql中都自带了很多类型的函数,比如有字符、数字、日期、转换和混合型等多种函数用于处理单行数据,因此这些都被称为单行函数.这些函数都可以被用于select、where和oder by等子句中.下面我们就来分析单行函…

EXPDP报错:ORA-60019 creating initial extent of size 14 in tablespace of extent size 8

一、原因概述 和SecureFiles新的LOB架构相关。11g之前叫BasicFiles。在11g如果不特别指定&#xff0c;默认是会创建成BasicFiles LOB。但是在12c之后&#xff0c;LOB列在ASSM管理的表空间。默认都会创建成SecureFiles。 也就是DB_SECUREFILE初始化参数&#xff0c;在11g时&…

oracle 中 /*+ full(表名)*/ 优化详解

文章目录 hint 关键字&#xff1a; /* full(表名)*/可能遇到的问题别名为 "SELxx" hint 关键字&#xff1a; / full(表名)/ 一般来说&#xff0c;sql 优化时&#xff0c;尽量走 index&#xff0c;但不绝对有时候&#xff0c;全表扫描的效率比索引高 索引 和 全表扫…

Docker——Docker 镜像详解

Docker 镜像 Docker镜像是什么Docker镜像加载原理联合文件系统&#xff08;UnionFS&#xff09;镜像加载原理镜像分成理解 Commit镜像镜像的总结 Docker镜像是什么 Docker 容器的运行是基于宿主机的内核&#xff0c;通过linux的namespaces来实现隔离&#xff0c;相对于虚拟机而…

Docker镜像使用详解

目录 基础命令使用进阶 容器和虚拟机具有相似的资源隔离和分配优势&#xff0c;但功能不同&#xff0c;因为容器虚拟化的是操作系统而不是硬件。多个容器可以在同一台机器上运行&#xff0c;并与其他容器共享操作系统内核&#xff0c;每个容器在用户空间中作为独立进程运行。一…

docker镜像下载及docker镜像管理

文章目录 docker镜像下载镜像说明通外网主机上获取镜像官网上查看镜像的详细说明 镜像的命名方式镜像的重命名镜像的删除删除单个删除全部镜像 镜像的打包与解压包默认存放路径说明镜像打包【单个】镜像打包【多个】镜像解压 容器的导出和导入把容器导出为镜像镜像导入为容器 查…

Docker基础 - 仓库,镜像,容器详解

仓库&#xff0c;镜像&#xff0c;容器的关系 我们再回顾下仓库&#xff0c;镜像&#xff0c;容器的关系&#xff08;这是官网的图&#xff09; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NBtYxRyR-1683856218077)(null)] Docker 镜像 当运行…

Docker本地镜像推送到私有库

Docker Registry是官方提供的工具&#xff0c;可以用于构建私有镜像仓库 1. 下载镜像Docker Registry docker pull registy 2. 运行私有库Registry&#xff0c;相当于本地有个私有Docker hub docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry --privileg…

docker镜像

docker镜像 文章目录 docker镜像1.镜像的概念2.docker镜像层3.docker存储驱动3.docker registry4.Docker Hub 1.镜像的概念 Docker镜像类似于虚拟机中的镜像&#xff0c;是一个只读的模板&#xff0c;也是一个独立的文件系统&#xff0c;包括运行容器所需的数据。 Docker镜像…