WordNet es la base de datos léxica, es decir, un diccionario para el idioma inglés, diseñado específicamente para el procesamiento del lenguaje natural.
Synset es un tipo especial de interfaz simple que está presente en NLTK para buscar palabras en WordNet. Las instancias Synset son las agrupaciones de palabras sinónimas que expresan el mismo concepto. Algunas de las palabras tienen solo un Synset y otras tienen varios.
Código #1: Entendiendo Synset
from nltk.corpus import wordnet syn = wordnet.synsets('hello')[0] print ("Synset name : ", syn.name()) # Defining the word print ("\nSynset meaning : ", syn.definition()) # list of phrases that use the word in context print ("\nSynset example : ", syn.examples())
Producción:
Synset name : hello.n.01 Synset meaning : an expression of greeting Synset example : ['every morning they exchanged polite hellos']
wordnet.synsets(word)
se puede utilizar para obtener una lista de Synsets. Esta lista puede estar vacía (si no se encuentra esa palabra) o puede tener pocos elementos.
Hiperónimos e Hipónimos –
Hipónimos: términos más abstractos
Hipónimos: términos más específicos.
Ambos vienen a la imagen como Synsets están organizados en una estructura similar a la de un árbol de herencia. Este árbol se puede rastrear hasta un hiperónimo raíz. Los hiperónimos proporcionan una forma de categorizar y agrupar palabras en función de su similitud entre sí.
Código n.º 2: comprensión de los hipernermos y los hipónimos
from nltk.corpus import wordnet syn = wordnet.synsets('hello')[0] print ("Synset name : ", syn.name()) print ("\nSynset abstract term : ", syn.hypernyms()) print ("\nSynset specific term : ", syn.hypernyms()[0].hyponyms()) syn.root_hypernyms() print ("\nSynset root hypernerm : ", syn.root_hypernyms())
Producción:
Synset name : hello.n.01 Synset abstract term : [Synset('greeting.n.01')] Synset specific term : [Synset('calling_card.n.02'), Synset('good_afternoon.n.01'), Synset('good_morning.n.01'), Synset('hail.n.03'), Synset('hello.n.01'), Synset('pax.n.01'), Synset('reception.n.01'), Synset('regard.n.03'), Synset('salute.n.02'), Synset('salute.n.03'), Synset('welcome.n.02'), Synset('well-wishing.n.01')] Synset root hypernerm : [Synset('entity.n.01')]
Code #3 : Part of Speech (POS) in Synset.
syn = wordnet.synsets('hello')[0] print ("Syn tag : ", syn.pos()) syn = wordnet.synsets('doing')[0] print ("Syn tag : ", syn.pos()) syn = wordnet.synsets('beautiful')[0] print ("Syn tag : ", syn.pos()) syn = wordnet.synsets('quickly')[0] print ("Syn tag : ", syn.pos())
Producción:
Syn tag : n Syn tag : v Syn tag : a Syn tag : r
Publicación traducida automáticamente
Artículo escrito por Mohit Gupta_OMG 🙂 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA