es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo importar y leer un corpus wsj en python

Tengo un código que construye un modelo de n-gramas para probar la predicción de la siguiente palabra basada en un corpus proporcionado. ¿Cómo puedo reemplazar el corpus dado para leer el corpus de WSJ como corpus de entrenamiento? A continuación se muestra una parte del programa.


import nltk, re, pprint, string from nltk import word_tokenize, sent_tokenize from nltk.util import ngrams from nltk.corpus import stopwords string.punctuation = string.punctuation + '“'+'”'+'-'+'’'+'‘'+'—' string.punctuation = string.punctuation.replace('.', '') file = open('./corpus.txt', encoding='utf8').read() #preprocesar los datos file_nl_removed = "" for line in file: line_nl_removed = line.replace("\n", " ") file_nl_removed += line_nl_removed file_p = "".join([char for char in file_nl_removed if char not in string.punctuation]) nltk.download('punkt') sents = nltk.sent_tokenize(file_p) print("El número de oraciones es", len(sents))
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para reemplazar el corpus dado y leer el corpus WSJ como corpus de entrenamiento, siga estos pasos:

    1. Primero, descargue el corpus WSJ usando el siguiente comando en la consola de Python:
    nltk.download('treebank')
    
    1. Una vez que el corpus se haya descargado, puede utilizar el módulo nltk.corpus.treebank para acceder al corpus.

    2. Reemplace la línea file = open('./corpus.txt', encoding = 'utf8').read() con las siguientes líneas:

    from nltk.corpus import treebank
    file = treebank.words()
    file_p = ' '.join(file)
    
    1. El corpus treebank está tokenizado a nivel de palabra. Por lo tanto, no es necesario el código que elimina saltos de línea y puntuación.

    2. Por último, continúe con el resto de su código como de costumbre.

Comments are closed.