2017-02-14 1 views
-2

J'essaie donc d'utiliser le paquet RAKE et d'obtenir les mots-clés d'un texte particulier stockés dans un fichier txt. Cependant, quand je lance le script ci-dessous, je reçois l'erreur TypeError: __init__() takes exactly 2 arguments (5 given)Python RAKE: TypeError: __init __() prend exactement 2 arguments (5 donnés)

Voici le code:

from RAKE import Rake 
import operator 

rake_object = Rake("SmartStoplist.txt", 5, 3, 4) 

txt_file = open("C:\blabla\test.txt", 'r') 
text = txt_file.read() 
keywords = rake_object.run(text) 
print keywords 
+2

Comme nous en avons discuté dans votre dernière question (EDIT: que vous venez de supprimer), vous devez regarder la documentation maintenant. L'erreur est claire, vous passez trop d'arguments dans 'Rake (" SmartStoplist.txt ", 5, 3, 4)'. N'utilisez pas Stack Overflow pour forcer votre chemin. En outre, la suppression des questions marquera votre compte et vous ne pourrez plus rien poster. – roganjosh

+0

Il n'y a pas de documentation et je viens de suivre ce tutoriel qui fait exactement la même chose: https://www.airpair.com/nlp/keyword-extraction-tutorial Alors pourquoi ça marche pour eux et pas pour moi? – vdvaxel

Répondre

0

essayez d'utiliser

rake_object = rake.Rake("SmartStoplist.txt", 5, 3, 4) 

code ci-dessus devrait fonctionner ... !!!

+0

J'ai essayé cela, mais il dit 'NameError: name 'rake' n'est pas défini' à cette ligne – vdvaxel

+0

essayez d'importer rake plutôt que de RAKE importer Rake –

0

À partir du lien tutoriel vous avez mentionné, vous devez cloner le repo suivant: https://github.com/zelandiya/RAKE-tutorial Ensuite, utilisez ces deux lignes:

import rake 
import operator 

au lieu de:

from RAKE import Rake 
import operator 

Maintenant, vous devriez essayer rake_object = rake.Rake("SmartStoplist.txt", 5, 3, 4) comme @Venkatesh Cta a mentionné.

Cela a fonctionné de mon côté.

+0

Cela ne fonctionne pas pour l'OP pour une raison quelconque. Toute cette discussion a disparu, cependant, puisqu'ils ont choisi de supprimer cette question et de poser celle-ci sans contexte. – roganjosh

0

rake.Rake("SmartStoplist.txt") fonctionnera. Raison: dans Rake.py

class Rake(object): 
    def __init__(self, stop_words_path) 
constructeur

ne peut prendre que deux arguments, 1er est auto et 2ème chemin du fichier de mot d'arrêt, donc passer le chemin du fichier uniquement.

+0

merci naveen !! – Deepak