Nltk: Verbnet corpus está desactualizado

Creado en 5 may. 2018  ·  13Comentarios  ·  Fuente: nltk/nltk

El índice de datos nltk (https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml) apunta verbnet a la versión 2.1. La última definición de verbnet es 3.2.

La última versión tiene descripciones de marcos actualizadas que brindan mucha más información sobre la estructura de frases. Por ejemplo, la descripción principal de un marco de la clase future_having-13.3 en la última versión es NP V NP-Dative NP , que describe la estructura del marco como (frase nominal, verbo, frase nominal (dativo), sustantivo frase) mientras que en la versión 2.1 solo dice Dative .

bug corpus enhancement nltk_data

Comentario más útil

@alvations
Funciona para lo que lo estoy usando. Déjame mostrarte mi código:

import nltk
v3 = nltk.corpus.util.LazyCorpusLoader(
    'verbnet3', nltk.corpus.reader.verbnet.VerbnetCorpusReader,
    r'(?!\.).*\.xml')
v3.classids('add') # returns ['mix-22.1-2', 'multiply-108', 'say-37.7-1']

Para que eso funcione, debe descargar verbnet3 desde aquí . Descomprima este archivo en la carpeta ~/nltk_data/corpora~. When unzipped it should create a new folder ~ / nltk_data / corpora / verbnet3 which contains all the Verbnet3 definitions. Then you should be able to run the code above. Notice that for Verbnet 2 (the default) the code v3.classids ('add') `solo devuelve la primera clase (mix-22.1-2).

Dado que eso es básicamente todo lo que estoy usando Verbnet3, no he probado las otras API, pero el método classids se ha probado en muchas palabras diferentes y todas funcionan. ¡Espero que esto ayude!

Todos 13 comentarios

@agodbehere , gracias por informar de este problema. He verificado que el lector de corpus de verbnet 2 existente se rompe en los datos de verbnet 3, por lo que ambos deberán convivir en la colección de corpus.

El siguiente paso es que alguien contribuya con un lector de corpus correspondiente nltk.corpus.verbnet3 , que con suerte puede compartir parte del código existente.

Necesitaremos apoyar a ambos por un tiempo.

@stevenbird , ¿qué caso de ruptura encontró para usar el lector de corpus existente con verbnet 2? No ejecuté el conjunto de pruebas después de actualizar el corpus, pero para mi caso de uso (solicitando classids y marcos), el lector de corpus existente funciona bien.

El problema existe con verbnet 3. Necesitamos un lector de corpus diferente para
ese.

El miércoles 16 de mayo de 2018 a las 10:45 am Andrew Godbehere [email protected]
escribió:

@stevenbird https://github.com/stevenbird , ¿qué caso de ruptura hiciste?
encontrar para usar el lector de corpus existente con verbnet 2? Yo no ejecuté el
suite de prueba después de actualizar el corpus, pero para mi caso de uso (solicitando
classids y frames), el lector de corpus existente funciona bien.

-
Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/nltk/nltk/issues/2015#issuecomment-389363521 , o silenciar
la amenaza
https://github.com/notifications/unsubscribe-auth/AADYbsgbjtFTKsyamRPG0OpJuWnF3UJ0ks5ty33DgaJpZM4Tzc0d
.

@stevenbird @agodbehere Hola, trabajo en el proyecto VerbNet en CU Boulder y estaría encantado de contribuir y mantener el código para un lector de corpus para VerbNet 3+.

@amosleokim : gracias, ¡sería bienvenido!

Puede ver que tenemos verbnet (2) y verbnet3 datos aquí .

Propongo que agreguemos una entrada para verbnet3 aquí

Y luego averigüe cómo extender verbnet.py para admitir tanto verbnet como verbnet3 .

¿Como suena eso? Necesitamos admitir ambos simultáneamente y (en última instancia) desaprobar verbnet 2.

Tenemos un canal de holgura NLTK donde podemos discutir los detalles si es necesario. ¡Gracias!

@stevenbird ¡ Eso me suena bien! Si puede enviarme un código de invitación al canal slack, me subiré para que podamos comenzar con lo esencial.

¿Algún progreso en este tema? Estoy tratando de usar verbnet para una investigación y el resultado que obtengo de los métodos classids parece extraño .

Gracias @stevenbird , la versión anterior parecía ser la causa del problema. Pude descargar verbnet3.zip manualmente y leerlo con el lector de verbnet 2.1 que está en nltk.

@salompas Solo como comprobar de nuevo, ¿la API de verbnet en NLTK funciona con verbnet3?

@alvations
Funciona para lo que lo estoy usando. Déjame mostrarte mi código:

import nltk
v3 = nltk.corpus.util.LazyCorpusLoader(
    'verbnet3', nltk.corpus.reader.verbnet.VerbnetCorpusReader,
    r'(?!\.).*\.xml')
v3.classids('add') # returns ['mix-22.1-2', 'multiply-108', 'say-37.7-1']

Para que eso funcione, debe descargar verbnet3 desde aquí . Descomprima este archivo en la carpeta ~/nltk_data/corpora~. When unzipped it should create a new folder ~ / nltk_data / corpora / verbnet3 which contains all the Verbnet3 definitions. Then you should be able to run the code above. Notice that for Verbnet 2 (the default) the code v3.classids ('add') `solo devuelve la primera clase (mix-22.1-2).

Dado que eso es básicamente todo lo que estoy usando Verbnet3, no he probado las otras API, pero el método classids se ha probado en muchas palabras diferentes y todas funcionan. ¡Espero que esto ayude!

@Salompas Hola, gracias por tu solución! ¿Qué versión de verbnet3 es su 'verbnet3'? ¿Es la versión 3.3 o 3.2?

@Salompas Hola, gracias por tu solución! ¿Qué versión de verbnet3 es su 'verbnet3'? ¿Es la versión 3.3 o 3.2?

Hey @ songhee-kim, han pasado 2 años desde que trabajé en esto, así que no sé exactamente qué versión tenía.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

DavidNemeskey picture DavidNemeskey  ·  4Comentarios

chaseireland picture chaseireland  ·  3Comentarios

libingnan54321 picture libingnan54321  ·  3Comentarios

vezeli picture vezeli  ·  3Comentarios

alvations picture alvations  ·  4Comentarios