2017-08-16 2 views
0

J'ai déjà posté sur une chaîne que j'extrais d'un lien, pour laquelle je veux appliquer tokenize, sans chance. Alors essayé un exemple simplifié: ma ligne de commande est très simple:Tokenize ne fonctionne pas avec une entrée de chaîne

a="Any Random text at all , nothing freaking works" 
sentences = nltk.sent_tokenize(a) 

Je reçois constamment:

TypeError: Can't convert 'list' object to str implicitly 

J'ai essayé str.(a), a.split, a=a[0] et vérifié:

>>> type(a) 
<class 'str'> 

Y at-il quelque chose qui ne va pas avec mon Python? J'ai vérifié des exemples et cela devrait apparemment fonctionner. Apprécierais vraiment si quelqu'un pouvait courir et voir s'ils obtiennent des résultats et si oui, ce qui pourrait être mal avec mon Python

Added image of error

+1

Juste essayé en Python 3.5.1 - pas de problème. Etes-vous sûr que votre code est exactement le même que celui que vous avez posté ici? –

+0

@ WiktorStribiżew oui! Je n'ai aucune idée de ce qui ne va pas. –

+0

Impossible de reproduire. –

Répondre

1

Il est le problème dans le paquet lui-même NLTK. Comme dans l'image, ce n'est pas le paramètre passé mais littéral [''] dans nltk/data.py qui est considéré comme liste et convertissant en chaîne.

Ré-installer le paquet nltk peut aider?

montrent la ligne 69e nltk/data.py il devrait être path = []

+0

Merci beaucoup, j'ai été en mesure de le réparer non pas via la ré-installation, mais en redéfinissant tous les chemins et en copiant et collant manuellement les chemins de fichiers nécessaires comme suit: nltk.data.path = ['H: \\/nltk_data', 'C: \\ nltk_data', 'D: \\ nltk_data', 'E: \\ nltk_data', 'C: \\ Program Files \\ Python35 \\ nltk_data', 'C: \\ Program Files \\ Python35 \ \ lib \\ nltk_data ',' C: \\ Program Files \\ Python35 \\ taggers \\ averaged_perception_tagger ',' C: \\ Program Files \\ Python35 ',' C:/Program Files/Python35/tokenizers/punkt/PY3 '] J'espérais éviter cela en utilisant simplement nltk.data.path = "C:/Program Files/Python35" mais ne fonctionne pas –

+0

Sur Windows, s'il vous plaît voir ce https://gist.github.com/alvations/0ed8641d7d2e1941b9f9 – alvas