如何使用wordnet

article/2025/10/28 17:50:57

介绍

WordNet是包含语义信息的英语词典。

  1. wordnet根据单词的语义分组,相同语义的单词组合在一起称为synset(同义词集),一个一词多义的单词将出现在它的每个语义对应的同义词集中
  2. wordnet为每一个synset提供了简短,概要的定义,并记录不同synset之间的语义关系
  3. 在 wordnet中,名词,动词,形容词和副词各自组织成一个同义词的网络,四种不同词性的网络之间没有连接

python调用wordnet

可通过nltk工具包来导入wordnet

from nltk.corpus import wordnet

如果导入错误,尝试重新下载wordnet

  import nltknltk.download('wordnet')

获得单词对应的同义词集

print(wordnet.sysnets('room'))
[Synset('room.n.01'), Synset('room.n.02'), Synset('room.n.03'), Synset('room.n.04'), Synset('board.v.02')]

每个同义词集都有自己的名称,词性,以及编号。这里room有5个同义词集,其中四个叫room,是名词,最后一个叫board,是动词。

也可以指定词性,获取不同词性对应的同义词集

print(wordnet.synsets("room", pos=wordnet.NOUN))
# NOUN, ADJ and ADV,VERB
[Synset('room.n.01'), Synset('room.n.02'), Synset('room.n.03'), Synset('room.n.04')]

获得同义词集的定义

对于上面获得的5个同义词集,可以通过以下两种方式来获得第一个同义词集Synset('room.n.01')的定义

(1) 通过返回同义词集列表获得

syn_arr = wordnet.synsets('room')
print(syn_arr[0].definition())
an area within a building enclosed by walls and floor and ceiling
# 楼板建筑物内由墙壁、地板和天花板围起来的区域

(2)直接指定同义词集的名字

print(wordnet.synset('room.n.01').definition())
an area within a building enclosed by walls and floor and ceiling
# 楼板建筑物内由墙壁、地板和天花板围起来的区域

获取同义词集对应的例子

对于单词room的五个不同的语义,给出相应的例句或短语

for syn in wordnet.synsets("room"):print(syn.name())print(syn.examples())
room.n.01
['the rooms were very small but they had a nice view']
room.n.02
['room to pass', 'make way for', 'hardly enough elbow room to turn around']
room.n.03
['room for improvement']
room.n.04
['the whole room was cheering']
board.v.02
['she rooms in an old boarding house']

获得同义词集包含的lemma

同义词集包含的单词一般是词根(lemma)的形式,比如说love这个单词,同义词集中只会包含love而不会包含loves,loved这些变形。

syn_arr = wordnet.synsets("room")
print(syn_arr[1].lemmas())
print(syn_arr[1].lemma_names())
[Lemma('room.n.02.room'), Lemma('room.n.02.way'), Lemma('room.n.02.elbow_room')]
['room', 'way', 'elbow_room']

同样的,也可以反向获取lemma所在的同义词集

print(syn_arr[1].lemmas()[0].synset())
Synset('room.n.02')

获取单词对应的lemma

当使用wordnet查询单词时,需要知道单词的词根形式

print(wordnet.morphy('denied'))
deny

bike对应的同义集合

获取下位同义词集

不同synset之间的语义关系存在上下位关系,例如日历这个单词对应下位词:阳历,阴历

print(wordnet.synset('calendar.n.01').hyponyms())
[Synset('lunar_calendar.n.01'), Synset('lunisolar_calendar.n.01'), Synset('solar_calendar.n.01')]

获取上位同义词集

同样的,可以通过下位同义词集获得上位同义词集

print(wordnet.synset('solar_calendar.n.01').hypernyms())
[Synset('calendar.n.01')]

上述的结果,除了使用python nltk获得以外,还可以直接进入官网,在线输入,查询

在线查询例子

还有一个重点就是如何使用wordnet计算单词之间的语义相似度,更多的方法可见WordNet Interface

参考

wordnet官网

https://pythonprogramming.net/wordnet-nltk-tutorial/


http://chatgpt.dhexx.cn/article/72BLWqI8.shtml

相关文章

中文WordNet的安装与使用

最近在中文语料上数据分析,想借用一些外部资源,就想到了WordNet,在这里记录一下,以备后用。 文章目录 (一)WordNet的介绍(二)WordNet的安装(三)中英文WordNet…

WordNet介绍

WordNet 1 WordNet简介 传统词典一般都是按字母顺序组织词条信息的,这样的词典在解决用词和选义问题上是有价值的。然而,它们有一个共同的缺陷,就是忽略了词典中同义信息的组织问题。20世纪以来,语言学家和心理学家们开始从一个崭…

nltk.download(‘wordnet‘)错误;Resource wordnet not found. Please use the NLTK Downloader to obtain th

问题 使用nltk.download(wordnet)下载不下来要用的包,导致代码加载资源错误 解决 离线下载NLTK Data github:nltk_data 将解压文件后得到的packages文件夹 目录下面的所有文件(防止再少什么文件报错) 按照下图报错中的目录&a…

WordNet简介

WordNet 1 WordNet简介 传统词典一般都是按字母顺序组织词条信息的,这样的词典在解决用词和选义问题上是有价值的。然而,它们有一个共同的缺陷,就是忽略了词典中同义信息的组织问题。20世纪以来,语言学家和心理学家们开始从一个崭…

快速了解WordNet

1、什么是WordNet WordNet是由Princeton 大学的心理学家,语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典。它不是光把单词以字母顺序排列,而且按照单词的意义组成一个“单词的网络”。 WordNet是一个覆盖范围宽广的英语词汇语义网。名…

Android studio调用webview出现Webpage not available

题记 今天写一个Android程序时&#xff0c;出现了Webpage not available&#xff0c;如下所示&#xff0c;无法显示浏览器&#xff0c;捣鼓了半个早上。 解决办法&#xff1a; 查看AndroidMainifest.xml是否有开权限和信任未加密流量。 添加的位置如下所示&#xff1a; <u…

解决genymotion使用内置浏览器访问网页Webpage not available的问题

1. 学习到Android使用浏览器打开外部网页的时候出现了网页不能够被访问的情况 2. 下面是几种具体的解决方案&#xff1a; ① Virtual Box的设置 首先需要关闭正在运行的genymotion模拟器&#xff0c;打开Virtual Box&#xff0c;右键你需要的设置的模拟器&#xff0c;点击社渚…

使用WebView时错误:WebPage not available

在第一行代码书中仅仅提到在AndroidManifest中添加 <uses-permission android:name"android.permission.INTERNET" />但实际上是不够的&#xff0c;经过参考 https://blog.csdn.net/zgd826237710/article/details/95520785?depth_1-utm_sourcedistribute.pc…

MSQL Webpage

Mars Nov 19, 2014

Webpage not available err_cleartext_not_permitted

在使用webview时&#xff0c;出现上面错误&#xff0c;你需要 1、添加网络权限 <uses-permission android:name"android.permission.INTERNET"/> 2、 在application中添加 android:usesCleartextTraffic"true" 运行成功

安卓上使用 WebView 提示:Webpage not available 的解决办法

文章目录 一、错误界面二、添加网络权限三、信任未加密流量四、参考链接 一、错误界面 二、添加网络权限 这一步是必须的&#xff0c;否则的话&#xff0c; WebView 加载不出来&#xff0c;手机界面会提示 Webpage not available。 在 AndroidManifest.xml 清单文件中添加&am…

webpage vue-cli 脚手架安装搭建

1、下载node解压版&#xff1a; 下载地址&#xff1a;https://nodejs.org/en/download/ 2、安装node 解压并安装到目录E:\Application\develop\node-v10.13.0-win-x64 3、配置环境变量 查看node版本 命令&#xff1a;node -v 4、vue-cli 脚手架 安装 参考&#xff1a;http…

a problem occurred with this webpage so it was reloaded

1 问题描述&#xff1a; Safari浏览器进入网站&#xff0c; 网站会&#xff08;不断&#xff09;重载。提示a problem occurred with this webpage so it was reloaded 2 问题演示视频、截图&#xff08;右图我需要重现并解决的&#xff09;&#xff1a; 视频地址&#xff1a;h…

vue26 —— webpage使用 -- 配置

1. 生成package.json文件 需要使用到package.json 通过npm init 生成 终端进入到对应文件夹&#xff0c;执行npm initpackage name: (02-配置) meetwebpack &#xff08;直接敲回车默认使用括号内的名字&#xff0c;但有中文不支持&#xff09; … 省略部分皆直接回车entry p…

No webpage was found for the web address

No webpage was found for the web address:http://127/0/1/course/4 提示非常明确&#xff0c;这个页面找不到&#xff0c; 页面找不到&#xff0c;首先想到的是不是HTML的代码书写&#xff0c;是否遗漏 接着路径配置的问题&#xff0c;于是返回到配置的urls检查&#xff0c;对…

Android模拟器Webview打开网页报webpage not available

错误如下&#xff1a; 解决方法如下&#xff1a; 1、添加网络权限 在 AndroidManifest.xml 清单文件中添加&#xff1a; <uses-permission android:name"android.permission.INTERNET"/> <uses-permission android:name"android.permission.ACCESS_…

详细记录更新winc1500固件及其网络配置页面(provisioning webpage)过程

在我之前的文章中&#xff0c;详细讲解了如何移植winc1500驱动到IMX1020单片机&#xff0c;想了解的朋友可以点击下面链接&#xff0c; 采用IMXRT1020驱动ATWINC1500模块_宇宸宇宸的博客-CSDN博客 在实际使用wifi模块时我们经常需要通过一个页面配置wifi的ssid和密码&#xf…

Android开发WebView组件报webpage not available

1、确认是否添加 网络权限设置 2、确认是否添加&#xff0c;否则会出现闪退或者直接app无法运行 android:usesCleartextTraffic"true" 到AndroidManifest.xml里 3、如果还是发现无法打开网页 考虑将原来的device删除&#xff0c;重新安装一个 最后成功解决问题

phontomjs webpage模块属性

随时随地阅读更多技术实战干货&#xff0c;获取项目源码、学习资料&#xff0c;请关注源代码社区公众号(ydmsq666) canGoBack Examples var webPage require(webpage); var page webPage.create(); // TODO: Finish page.canGoBack example. canGoForward Examples var …

phontomjs webPage模块方法

随时随地阅读更多技术实战干货&#xff0c;获取项目源码、学习资料&#xff0c;请关注源代码社区公众号(ydmsq666) addCookie addCookie(Cookie) {boolean} Introduced: PhantomJS 1.7 Add a Cookie to the page. If the domain does not match the current page, the Cooki…