塞尔内特

R-CMD检查 Codecov测试覆盖率 CRAN状态

sehrnett的目标是为普林斯顿的WordNet。不同于原件wordnet包(Feinerer等人,2020),你不需要安装WordNet和/或设置rJava。

数据不包含在包中。请快跑download_wordnet()下载数据(约100M Zipped,~400M解压缩)。拜托确保您同意WordNet(文字网)许可证.

安装

开发工具::安装github(“chainsawriot/sehrnett”)

获取lemmas

最基本的功能是获取lemmas。它生成关于你提供的狐猴[1]的基本信息。

图书馆(塞尔内特)
获取lemmas(c(c)(“非常”,“很好”))
#>#A tibble:10×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>400032295用作增强器;“真实”是一些…所有广告
#>2 400513282非常2精确到r adv.all
#>3 301845232非常准确,如所述
#>4 302076350非常2是完全相同的;没有任何其他……的形容词
#>5 301590750美好1愉快或令人愉快或令人愉悦在……形容词中
#>6 108957024 nice 1法国东南部一座城市,位于…n名词。l…
#>7 302000490良好2社会或传统正确;r…s调整所有
#>8 301844650精美的3件,做工精细,技艺高超
#>9 300987524好4过分挑剔和容易被忽视的形容词
#>10 300644482 nice 5 exhibing礼貌用语
#>#…带缩写变量名¹lexdomain
获取lemmas(“很好”)
#>#A台:6×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 301590750 nice 1愉快的、令人愉快的或令人愉快的
#>2 108957024尼斯1法国东南部的一座城市,位于M…n名词。l…
#>3 302000490良好2社会或传统正确;关于……的所有调整
#>4 301844650漂亮的3个,精致而有技巧
#>5 300987524漂亮4过分挑剔和容易被忽视……的形容词
#>6 300644482不错5展现礼貌
#>#…带缩写变量名¹lexdomain
获取lemmas(“很好”,位置= “n”)
#>#A台:1×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr><chr>
#>1 108957024尼斯1法国东南部一座城市,位于M…n名词。l…
#>#…带缩写变量名¹lexdomain

请注意,我们考虑了WordNet中的一些定义贬义的或冒犯性的,例如

获取lemmas(“狗”)
#>#A台:8×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 102086723狗1犬科动物(可能是…名词…
#>2 110133978只狗2一个迟钝、没有吸引力、令人讨厌的女孩或…n名词…
#>3 110042764狗3男人名词的非正式术语…
#>4 109905672狗4道德上应受谴责的人…
#>5 107692347只狗5一条用切碎的肉做成的光滑香肠…
#>6 103907626狗6一个铰链式的抓钩,可以放进槽口…名词…
#>7 102712903狗狗7个壁炉圆木金属支架…
#>8 202005890 dog 1紧随其后,意图抓住v动词.m…
#>#…带缩写变量名¹lexdomain

点表示法

点符号(“lemma.pos.sensenum”)可用于快速搜索用于特定的词义。例如,可以搜索“king.n.10”把“国王”这个词的意思快速地确定下来作为一个棋子。

获取lemmas(“国王10号”)
#>#A台:1×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 103623310国王10(国际象棋)最弱但最重要的名词…
#>#…带缩写变量名¹lexdomain

柠檬石化作用

这个形态学的处理的部分实现于塞尔内特[2]. 因为Wordnet的数据库只包含关于引理的信息(例如),您需要转换屈折变体(例如吃了,,)回到它们的引理来查询它们。该过程也称为柠檬化作用.

塞赫奈特提供了这样的柠檬化。但你需要只提供一个销售时点情报系统并设置使柠檬化真的(默认)。

获取(_lemmas)(c(c)(“吃”,“躲闪”),位置= “v”)
#>#A台:10×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 201170802 eat 1 take in solid food v动词.c…
#>2 201168667吃2顿饭;吃饭v动词…
#>3 201182162吃3个摄入的食物;只用于动物v动词…
#>4 201770125在一个持续的…v动词中吃4个忧虑或引起焦虑…
#>5 201159815吃5用完(资源或材料)v动词…
#>6200275082吃了6个因…v动词…
#>7 201869189鸭子1移动(头部或身体)快速做…v动词.m…
#>8 201971799鸭子2突然淹没或跳水v动词.m…
#>9 201980234鸭子3浸入液体v动词.m…
#>10 200811316 duck 4避免或试图避免实现,ans…v动词.c…
#>#…带缩写变量名¹lexdomain
获取lemmas(c(c)(“地点”,“柠檬”,“盒装”),位置= “n”)
#>#A台:7×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 108695366位点1任何事件或动作的场景(特别是…n名词…
#>2 108641143位点2特定基因的特定位点…
#>3 108017323位点3所有点或线的集合,s…n名词。g…
#>4 106764547引理1是一个辅助命题,它是assu…n名词。c…
#>5 113176246引理2两个glum…n名词的较低和较粗…
#>6 106356061引理3表示主语…n名词.c…的标题…
#>7 113787764一箱一箱的数量,包含在n个名词中…
#>#…带缩写变量名¹lexdomain
获取(_lemmas)(c(c)(“最好的”,“更强”),位置= “a”)
#>#A台:3×6
#>synstid引理sensenum定义pos lexdo
#><int><chr><int><chr><chr>
#>1 301590750美好1愉快或令人愉快或令人愉悦在……形容词中
#>2 302328781强1的力量或权力大于
#>3 301829730强4具有强烈的生理或化学
#>#…带缩写变量名¹lexdomain

一个实际例子

例如,你想知道单词“nuance”的同义词(非常对于学术写作很重要)。您可以首先使用引理进行搜索“细微差别”获取lemmas.

物件<- 获取lemmas(“细微差别”)
物件
#>#A台:1×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 106618544细微差别1词义或名词的细微差别…
#>#…带缩写变量名¹lexdomain

可能有多个词义,你需要选择哪个词你想要传达的感觉。但在这种情况下,只有一个。你可以然后搜索合成体(认知同义词标识符)这个词的意思。

#get_synonyms()是get_synsetids的包装器
获取同步ID(雷斯$合成体[1])
#>#A台:5×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 106618544细微差别1意思上的细微差别或…n名词。c…
#>2 106618544微妙1意思上的细微差别或…n名词。c…
#>3 106618544准确度2名词含义的细微差别…
#>4 106618544精炼4意思或…n名词的细微差异…
#>5 106618544使…名词的含义有细微差别…
#>#…带缩写变量名¹lexdomain

链式起重机

全部得到_通过使用magrittr可以链接函数管道操作员。

c(c)(“关闭”)%>% 获取lemmas(位置= “v”)%>%获取同义词
#>#A台:4×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 201513208通过关闭…v动词.c…
#>2 201513208通过禁用…v动词.c…
#>3 201513208通过dising…v动词c…得出11个停止操作的原因…
#>4 201513208通过禁用…v动词.c…
#>#…带缩写变量名¹lexdomain

获得超度数(_O)

WordNet确实是一个网络。synsetid在有向图。一个节点(synsetid)链接到另一个节点不同的链接(边)类型使用不同的标签链接IDs.您可以列出所有可用的链接IDs和函数列表链接类型.

列表链接类型()
#>linkid链接递归
#>1 1个假名1
#>2下位词1
#>3 3实例上标1
#>4 4个实例下位词1
#>5 11部分全名1
#>6 12部分亚汞1
#>7 13人全名1
#>8 14个成员的meronym 1
#>9 15物质全息图1
#>10 16物质亚汞1
#>11 21包含1
#>12 23原因1
#>13 30反义词0
#>14 40类似0
#>15 50也是0
#>16 60属性0
#>17 70动词组0
#>18 71分词0
#>19 80属于0
#>20 81推导0
#>21 91域类别0
#>22 92域成员类别0
#>23 93域区域0
#>24 94域成员区域0
#>25 95域使用0
#>26 96域成员用法0
#>27 97域0
#>28 98成员0
##所有超词
获取lemmas(“狗”,位置= “n”,番泻叶= 1)%>% 获得超度数(_O)(链接ID= 1)
#>#A台:21×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>102085998和任何一种裂变的…名词…
#>102085998犬科动物2任何一种裂变的…名词…
#>3 101320032家畜1各种动物中的任何一种…n名词。a…
#>4 101320032家养动物1各种动物中的任何一种…名词…
#>5 110759293讨厌的女人1一个女人是一个讨厌的…名词…
#>6 110759293讨厌的女人1一个女人,她是一个令人讨厌的名词…
#>7 109927483 batter 2一个男孩或男人名词…
#>8 109927483男孩或男子名词…
#>9 109927483第1章男孩或男子名词…
#>10 109927483 cuss 2一个男孩或男子名词…
#>#…还有11行,缩写变量名为
##所有下位词
获取lemmas(“狗”,位置= “n”,番泻叶= 1)%>% 获得学位(_O)(链接ID= 2)
#>#A台:35×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>102087384巴克2狗名词的非正式术语…
#>2 102113458 basenji 1个小而光滑的品种…n名词。a…
#>3 102115149比利时狮鹫1个品种的各种非常小的…
#>4 102087384 bow-wow狗名词的两个非正式术语…
#>5 102115149布鲁塞尔狮鹫1个品种的各种非常小的…
#>6 102112993马车犬1是一种大品种,有一个smo…n名词…
#>7 102112993教练犬1是一个大品种,有一个smo…n名词…
#>8 102115478考基犬1两个威尔士品种中的任何一个…名词…
#>9 102087513 cur 1劣等狗或…n名词…
#>10 102112993达尔马提安2号是一个大品种,有一个smo…n名词…
#>#…还有25行,缩写变量名¹lexdomain
##所有反义词
获取lemmas(“很好”,位置= “a”,番泻叶= 1)%>% 获得超度数(_O)(链接ID= 30)
#>#A台:1×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 301591485令人作呕或(指人)恶意……形容词
#>#…带有缩写的变量名为

糖类

塞尔内特提供了几种语法糖得到_功能。例如:

##所有下位词
获取lemmas(“狗”,位置= “n”,番泻叶= 1)%>% 获取下位词()
#>#A tibble:35×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>102087384巴克2狗名词的非正式术语…
#>2 102113458 basenji 1小的光滑的头发品种…n名词。a…
#>3 102115149比利时狮鹫1个品种的各种非常小的…
#>4 102087384 bow-wow狗名词的两个非正式术语…
#>5 102115149布鲁塞尔狮鹫1个品种的各种非常小的…
#>6 102112993马车犬1是一种大品种,有一个smo…n名词…
#>7 102112993教练犬1是一个大品种,有一个smo…n名词…
#>8 102115478考基犬1两个威尔士品种中的任何一个…名词…
#>9 102087513 cur 1劣等狗或…n名词…
#>10 102112993达尔马提安2号是一个大品种,有一个smo…n名词…
#>#…还有25行,缩写变量名¹lexdomain
获取lemmas(“很好”,位置= “a”,番泻叶= 1)%>% 获取antonyms()
#>#A台:1×6
#>synsetid引理sensenum定义pos lexdo…¹
#><int><chr><int><chr><chr>
#>1 301591485令人作呕或(指人)恶意……形容词
#>#…带缩写变量名¹lexdomain
获取lemmas(“很好”,位置= “a”,番泻叶= 1)%>% 获取驱动程序()
#>#A台:1×6
#>synsetid引理sensenum定义pos lexdomain
#><int><chr><int><chr><chr>
#>1 104786760精细度2精细度的质量n noun.attribute

  1. 是的,复数形式为引理也可以是外稃,你们这些讲拉丁语的人。

  2. 像许多实现一样(例如NLTK、Ruby的rwordnet和node-wordnet-magic),形态处理只是部分的。不支持并置和连字号。因此,请不要期待旅鼠化要求它将获得请求(如Wordnet网站所述)。