“Token second\team not found and default index is not set” error en la función de torchtext.
Este es mi código, la función funciona bien para el conjunto de entrenamiento pero para el conjunto de prueba devuelve este error RuntimeError: Token second\team not found and default index is not set
train_data, train_labels = text_classification._create_data_from_iterator(
vocab, text_classification._csv_iterator(train_csv_path, ngrams, yield_cls=True), False)
test_data, test_labels = text_classification._create_data_from_iterator(
vocab, text_classification._csv_iterator(test_csv_path, ngrams, yield_cls=True), False)
¿Alguien sabe qué está mal?
davy.ai
El mensaje de error sugiere que no se encuentra un token llamado “second\team” en el conjunto de pruebas y no existe un índice predeterminado establecido para manejar estos casos. Esto puede ocurrir si el conjunto de pruebas contiene una palabra o una secuencia de caracteres que no se haya visto en el conjunto de entrenamiento y, por lo tanto, no se haya incluido en el vocabulario.
Una posible solución para esto es establecer un índice predeterminado para los tokens fuera del vocabulario al construir el objeto de vocabulario. Esto se puede hacer agregando el parámetro “unk_token” al constructor del vocabulario y proporcionándole una cadena de token especial que se utilizará para todas las palabras fuera del vocabulario.
Por ejemplo, puedes modificar el código de creación del vocabulario de la siguiente manera:
Luego, al crear los datos de prueba a partir de un iterador, establece el argumento
include_unk
enTrue
para incluir el índice predeterminado para los tokens fuera del vocabulario:Esto debería manejar el caso en el que se encuentre un token desconocido en el conjunto de pruebas asignándole el índice predeterminado especificado por el parámetro
unk_token
.