2017-10-15 1 views
1

Je cours le script suivant de Python sur Watson DSX et ai eu l'erreur. (IndexError: indice de liste hors plage)Watson DSX a "Erreur d'index" mais Docker Jupiter env. ne pas

(1) Même programme exécuté normalement sur Docker Jupiter notebook env. (2) Sur Waston DSX, s'exécuter normalement si la taille du fichier d'entrée est petite.

Pourriez-vous s'il vous plaît indiquer ma raison pour cela, et que dois-je faire pour ne pas se produire une erreur?

!pip install janome 
data = get_object_storage_file_with_credentials_8b9fb794cc1049b09563d144c8861966('KITDemo', 'kusa-out.txt') 
#data = get_object_storage_file_with_credentials_8b9fb794cc1049b09563d144c8861966('KITDemo', 'kusa2-out.txt') 
txt = data.getvalue() 

word_list = [] 
from janome.tokenizer import Tokenizer 
t = Tokenizer() 
for token in t.tokenize(txt, stream=True): 
    partOfSpeech = token.part_of_speech.split(',')[0] 
    if partOfSpeech == u'名詞': 
     word_list.append(token.surface) 

Voici la trace complète de la pile.

IndexError Traceback (most recent call last) 
<ipython-input-4-9a7681ae1aa6> in <module>() 
     2 from janome.tokenizer import Tokenizer 
     3 t = Tokenizer() 
----> 4 for token in t.tokenize(txt, stream=True): 
     5  partOfSpeech = token.part_of_speech.split(',')[0] 
     6  if partOfSpeech == u'名詞': 

Screenshot

+0

pouvez-vous poster la pile complète? –

+0

Cela peut être un problème dans les données d'entrée, ce qui amène le tokenizer à générer des jetons vides ou à déclencher l'IndexError lui-même. Avez-vous essayé avec différents grands ensembles de données d'entrée, ou juste avec un? Peut-être ajouter une sortie de débogage, par exemple en imprimant 'token' au début de la boucle. Inspectez ensuite les données d'entrée après le dernier jeton imprimé. –

Répondre