罗马尼亚wordnet的python api

rowordnet的Python项目详细描述


#rowordnet

**rowordnet代表罗马尼亚语wordnet,罗马尼亚语的语义网络**。rowordnet模仿了普林斯顿wordnet,一个大型的英语词汇数据库。
wordnet的构建块是表达独特概念的**语法集**。顾名思义,synset(同义词集)包含许多同义词,称为literals。synset有更多的属性,如定义和到其他synset的链接。他们也有一个词类(pos),将他们分为四类:名词、动词、副词和形容词。句法集通过**语义关系**相互连接,如超义("is-a")、词义("is-part")、反义词和其他。

以synset id作为节点,关系作为边。synset(objects)被保存为id:object-indexed dictionary以供o(1)访问。


a**synset**有以下数据,作为属性访问(其他存在,但以下是最重要的):
*id:此synset的id(string)
*literals:单词(string)列表表示提出一个独特的概念。这些词都是同义词。
*定义:此语法集的较长描述(字符串)
*pos:此语法集的词性(枚举:synset.pos.noun,动词,副词,形容词)
*sentin:表示此语法集的sentin pno(正、负、客观)的三值列表。

**关系**是语法集之间的边。下面的示例给出了如何列出给定synset和其他图形操作的入站/出站关系的示例。

r notebook here](jupyter/create_200;edit_200;synsets.ipynb)。
*保存/加载操作演示可作为[jupyter notebook here](jupyter/load_200;save_200;wordnet.ipynb)使用。
*synset/relation creation and editing演示可作为[jupyter notebook here](jupyter/synonym_200;antonym.ipynb)使用。
sic用法

`` python
将rowordnet导入为rwn
wn=rwn.rowordnet()
```

,很好。我们在这里提供几个基本用法示例:

在rowordnet中,一个单词被称为文本,每个synset都有一个或多个同义的文本。
``python
word='arbore'
synset=wn.synsets(literal=word)
````
eash synset有一个唯一的id,大多数操作都使用id。这里,``wn.synsets(word)``返回包含单词'arbore'的synsets列表,如果找不到该单词,则返回空列表。

请注意,罗马尼亚wordnet还包含实际上是"tren de Marf"这样的表达式的单词(文本),搜索"tren"也会找到这个synset。



`` python
wn.print\u synsset(synsset\u id)
`````


``要获得实际的synsset对象,我们只需直接调用``wn.synsset(id)```````,或者直接调用``wn(id)````` wn.synsset(synsset(id)

`` python
`` python
`` synsset(synsset\synset)object=wn.synsset(synsset(synsset)object=wn.synsset(synsset(synsset)id)synsset(synsset/>
要打印任何单独的信息,比如它的文本、定义或id,我们直接调用synset对象的属性:

``python
print("打印它的文本(同义词):{}"。format(synset_object.literals))
print("打印它的定义:{}"。format(synset_object.definition))"
print("print its id:{}.format(synset_object.id))
````

\synset access


`` python
synset_ids_all=wn.synsets();获取rowordnet中的所有synset id
synset_ids_verbs=wn.synsets(pos=synset.pos.verb)获取所有动词synset id
synset_ids=wn.synsets(literal="cal",pos=synset.pos.noun)获取所有synset id包含单词"cal"且是名词的语法集,例如,我们要列出包含单词"cal"的所有语法集:

``python
word='cal'
print("搜索包含单词/文字'{}'.format(word))
synset=wn.synsets(literal=word,pos=synset.pos.noun)
对于synset-id中的synset-id:
print(wn.synset(synset-id))
````
将输出:
````
搜索包含单词/文字"cal"的所有名词synset
synset(id='eng30-03624767-n',literals=['cal',definition='pies_la jocul de_ah de forma unui cap de cal')
synset(id='eng30-03538037-n',literals=['cal',definition='nume dat unor aparate sau piese asem_n_to are cu un cal:')
语法集(id='eng30-02376918-n',literals=['cal',definition='masculul speciei ekus caballs')
`````


(在图中编码为有向边)。synset通常具有出站和入站关系,要获取synset的出站关系,请使用synset id作为参数的"wn.outbound_relations()"。结果是一个元组列表,如``(synset,relation)``编码目标synset,以及从当前synset(作为参数给定)开始到目标synset的关系。

`` python
synset,id=wn.synset("tren")[2]从包含wo的所有synset中选择第三个synsetrd"tren"
打印("打印{}的所有出站关系"。格式(wn.synset(synset_id))
出站关系=wn.outbound_relations(synset_id)
出站关系中的出站关系:
目标synset_id=出站关系[0]
关系=出站关系ation[1]
打印("\trelation[{}]到synset{}"。格式(relation,wn.synset(target廑synset廑id))
````
将输出(在其他关系中):
`````
打印synset的所有出站关系(id='eng30-04468005-n',literals=['tren',definition='conati de vagoane de cale ferat_le门廊(gate_ntre_i puse_n mi_care de o moovev_')
与synset synset的关系(id='eng30-04019101-n',字面值=['transport_public',definition='transportarea pasagerilor sau postei')
与synset synset的关系(id='eng30-03394480-n',字面值=['marfar','tren_de de_ marf_',definition='tren format din vagoane de marf_')
synset synset(id='eng30-03684823-n',literals=['moovev_','ma_in_',definition='vehiul motor de cale ferat_,cu surs_de energie proprie sau str_in_,folosind pentru a remorca_i a deplasa v)与synset synset的关系agoanele’)
````
这意味着从当前的synset有三个指向其他synset的关系:第一个关系表示"tren"是-a(hypernym)"transport"是-u public;第二个关系是hypernym,意思是"marfar"是-a"tren";第三个成员是-u meronym"mootova"是"tren"的一部分。

wn.relations()提供了一种方便,并用于信息/打印目的,因为返回的元组列表失去方向性)




\credits

C论文,请考虑引用以下论文作为对实际罗马尼亚wordnet数据作者的感谢:

`````
dan tufi_,verginica barbu mititelu,罗马尼亚语词汇本体论,在nuria gala,reinhard rapp,nuria bel enguix(ed.),语言生产,认知,和词典,系列文本,语音和语言技术,第48卷,斯普林格,2014年,第491-504页。
````
或采用.bib格式:

````
@inbook{dtvbmzock,title="罗马尼亚的词汇本体论",author="tufi_,dan and barbu mititelu,verginica",booktle="语言生产,cogniti在和词典上,"editor="nuria gala,reinhard rapp,nuria bel enguix",series="文本、语音和语言技术",volume="48",year="2014",publisher="springer",pages="491-504"}
`````



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
创建大十进制对象时发生java错误   java为什么netty日志不显示正确的类和包信息   java AWS Lambda,如何正确实例化AmazonHttpClient?   java如何防止控制器中的Put API受到CheckMarx扫描中反映的XSS攻击?   java如何在Android上滚动时更改图像   java为什么通知没有显示在API 28中?   java分配问题OCJP;为什么我不能将int传递给short?   java在非静态内部类中使用泛型   正则表达式从Java字符串中提取word中指定的日期值   java Primefaces selectManyCheckbox未在bean中填充   美化javaxml输出   java带2个箭头的按位移位和带3个箭头的按位移位有什么区别?   使用JAXB和SpringMVC进行java XML绑定   Java高级功能weblogic中的Web服务   java IIN插入HQL中   缺少java PrintCommandListener   java如何模拟SpringBean的自动连接列表?   javasocket服务器、客户端检测服务器已死亡   将按钮添加到使用java图形的contentPane   java EJB3在第一次运行时调用计时器超时时出错