Nltk: O corpus do Verbnet está desatualizado

Criado em 5 mai. 2018  ·  13Comentários  ·  Fonte: nltk/nltk

O índice de dados nltk (https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml) aponta verbnet para a versão 2.1. A definição de verbnet mais recente é 3.2.

A versão mais recente atualizou as descrições dos quadros que fornecem muito mais informações sobre a estrutura frasal. Por exemplo, a descrição primária de um frame da classe future_having-13.3 na última versão é NP V NP-Dative NP , descrevendo a estrutura do frame como (substantivo-frase, verbo, substantivo-frase (dativo), substantivo frase) enquanto na versão 2.1 lê apenas Dative .

bug corpus enhancement nltk_data

Comentários muito úteis

@alvations
Ele funciona para o que estou usando. Deixe-me mostrar meu 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 isso funcione, você precisa fazer o download do verbnet3 aqui . Descompacte este arquivo na pasta ~/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') `retorna apenas a primeira classe (mix-22.1-2).

Como isso é basicamente tudo para o que estou usando Verbnet3, não testei as outras APIs, mas o método classids foi testado em muitas palavras diferentes e todas funcionam. Eu espero que isso ajude!

Todos 13 comentários

@agodbehere , obrigado por relatar esse problema. Eu verifiquei que o leitor de corpus verbnet 2 existente quebra nos dados verbnet 3, então ambos precisarão viver lado a lado na coleção de corpus.

A próxima etapa é alguém contribuir com um leitor de corpus correspondente nltk.corpus.verbnet3 , que pode compartilhar parte do código existente.

Precisamos apoiar os dois por um tempo.

@stevenbird , que caso

O problema existe com verbnet 3. Precisamos de um leitor de corpus diferente para
este.

Na quarta-feira, 16 de maio de 2018, às 10:45 Andrew Godbehere [email protected]
escrevi:

@stevenbird https://github.com/stevenbird , que caso decisivo você
encontrar para usar o leitor de corpus existente com verbnet 2? Eu não corri o
suite de teste após atualizar o corpus, mas para o meu caso de uso (solicitando
classids e frames), o leitor de corpus existente funciona muito bem.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/nltk/nltk/issues/2015#issuecomment-389363521 ou mudo
o segmento
https://github.com/notifications/unsubscribe-auth/AADYbsgbjtFTKsyamRPG0OpJuWnF3UJ0ks5ty33DgaJpZM4Tzc0d
.

@stevenbird @agodbehere Olá, trabalho no projeto VerbNet na CU Boulder e ficaria feliz em contribuir e manter o código de um leitor de corpus para VerbNet 3+.

@amosleokim : obrigado, isso seria bem-vindo!

Você pode ver que temos verbnet (2) e verbnet3 dados aqui .

Proponho que adicionemos uma entrada para verbnet3 aqui

E então descobrir como estender verbnet.py para suportar verbnet e verbnet3 .

Como isso soa? Precisamos apoiar os dois simultaneamente e (em última análise) descontinuar o verbnet 2.

Temos um canal de slack NLTK onde podemos discutir detalhes, se necessário. Obrigado!

@stevenbird Isso parece bom para mim! Se você puder me enviar um código de convite para o canal do slack, eu vou entrar para que possamos começar com o que está acontecendo.

Algum progresso neste tópico? Estou tentando usar verbnet para uma pesquisa e o resultado que obtenho dos métodos classids parece estranho .

Obrigado @stevenbird , a versão mais antiga parecia ser a causa do problema. Consegui baixar manualmente o verbnet3.zip e lê-lo com o leitor para o verbnet 2.1 que está em nltk.

@salompas Só para verificar novamente, a API verbnet em NLTK funciona com verbnet3?

@alvations
Ele funciona para o que estou usando. Deixe-me mostrar meu 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 isso funcione, você precisa fazer o download do verbnet3 aqui . Descompacte este arquivo na pasta ~/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') `retorna apenas a primeira classe (mix-22.1-2).

Como isso é basicamente tudo para o que estou usando Verbnet3, não testei as outras APIs, mas o método classids foi testado em muitas palavras diferentes e todas funcionam. Eu espero que isso ajude!

@Salompas Olá, obrigado pela solução! Qual versão de verbnet3 é seu 'verbnet3'? É a versão 3.3 ou 3.2?

@Salompas Olá, obrigado pela solução! Qual versão de verbnet3 é seu 'verbnet3'? É a versão 3.3 ou 3.2?

Ei @ songhee-kim, já se passaram 2 anos desde que trabalhei nisso, então não sei exatamente qual versão eu tinha.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

alvations picture alvations  ·  3Comentários

jeryini picture jeryini  ·  5Comentários

alvations picture alvations  ·  4Comentários

zdog234 picture zdog234  ·  3Comentários

DavidNemeskey picture DavidNemeskey  ·  4Comentários