Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Twitter Opinion Mining

Twitter Opinion Mining 8 Χρόνια 1 Μήνας πριν #3862

  • gthiveos
  • Το Άβαταρ του/της gthiveos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 3
Καλησπέρα

Τρέχω ένα πρόγραμμα ανάλυσης tweets, τα οποία έχω συλλέξει και τα έχω σε ένα αρχείο .txt. Τα δεδομένα μου αρχικά είναι σε μορφή .json. Ουσιαστικά έχω συλλέξει tweets με φίλτρο λέξη κλειδί(πχ ένα κόμμα) και τις λέξεις συμφωνώ/δε συμφωνώ προκειμένου να καταγράψουμε γνώμες. Μου βγάζει όμως το παρακάτω error.

Traceback (most recent call last):
File "C:\Γιάννης-σχολή\Μεταπτυχιακό\text mining\twitter_anal.py", line 71, in <module>
main()
File "C:\Γιάννης-σχολή\Μεταπτυχιακό\text mining\twitter_anal.py", line 50, in main
tweets_by_prg_lang = [tweets.value_counts()[True], tweets.value_counts()[True], tweets.value_counts()[True]]
File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 1969, in __getitem__
return self._getitem_column(key)
File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 1976, in _getitem_column
return self._get_item_cache(key)
File "C:\Python34\lib\site-packages\pandas\core\generic.py", line 1091, in _get_item_cache
values = self._data.get(item)
File "C:\Python34\lib\site-packages\pandas\core\internals.py", line 3211, in get
loc = self.items.get_loc(item)
File "C:\Python34\lib\site-packages\pandas\core\index.py", line 1759, in get_loc
return self._engine.get_loc(key)
File "pandas\index.pyx", line 137, in pandas.index.IndexEngine.get_loc (pandas\index.c:3979)
File "pandas\index.pyx", line 157, in pandas.index.IndexEngine.get_loc (pandas\index.c:3843)
File "pandas\hashtable.pyx", line 668, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12265)
File "pandas\hashtable.pyx", line 676, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12216)
KeyError: 'PASOK'

Έχετε ιδέα τί μπορεί να φταίει?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Twitter Opinion Mining 8 Χρόνια 1 Μήνας πριν #3864

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Καλημέρα.

KeyError δημιουργείται όταν η λέξη δεν υπάρχει στο dictionary. Χωρίς να έχεις παραθέσει τον κώδικά σου, μια συμβουλή θα ήταν να παγιδεύσεις στο συγκεκριμένο σημείο το σφάλμα και να κάνεις τους ανάλογους χειρισμούς. Π.χ. περνάμε στην επόμενη λέξη κλειδί.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Twitter Opinion Mining 8 Χρόνια 1 Μήνας πριν #3867

  • gthiveos
  • Το Άβαταρ του/της gthiveos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 3
Ευχαριστώ για την απάντηση.
Έχω ένα άλλο θέμα. Στον παρακάτω κώδικα(μια παραλλαγή του χρησιμοποιώ εγώ)
github.com/adilmoujahid/Twitter_Analytic...er/analyze_tweets.py
βάζοντας το δικό μου αρχείο μου "πετάει" το παρακάτω error

Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 2344, in _ensure_valid_index
value = Series(value)
File "C:\Python34\lib\site-packages\pandas\core\series.py", line 202, in __init__
data = list(data)
File "C:\Users\giannis\Desktop\twitter_anal.py", line 38, in <lambda>
tweets = map(lambda tweet: tweet, tweets_data)
KeyError: 'text'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\giannis\Desktop\twitter_anal.py", line 69, in <module>
main()
File "C:\Users\giannis\Desktop\twitter_anal.py", line 38, in main
tweets = map(lambda tweet: tweet, tweets_data)
File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 2299, in __setitem__
self._set_item(key, value)
File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 2365, in _set_item
self._ensure_valid_index(value)
File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 2346, in _ensure_valid_index
raise ValueError('Cannot set a frame with no defined index '
ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Twitter Opinion Mining 8 Χρόνια 1 Μήνας πριν #3868

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Το πιθανότερο είναι να υπάρχει κάποιο tweet χωρίς να έχει κείμενο.
Μπορείς εύκολα να το διαπιστώσεις ελέγχοντας το αρχείο όπου αποθηκεύονται τα tweets.

Για να γίνει σωστή δουλειά, πρέπει να κάνεις debug τον κώδικά σου και να τον αναλύσεις γραμμή - γραμμή.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Twitter Opinion Mining 8 Χρόνια 1 Μήνας πριν #3905

  • gthiveos
  • Το Άβαταρ του/της gthiveos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 3
Καλησπέρα,

Έχω κάνει κάποιες διορθώσεις και τώρα τρέχοντας τον κώδικα παίρνω το παρακάτω error. Έχετε υπόψιν τί μπορεί να φταίει?

Traceback (most recent call last):
File "C:\Python34\a2.py", line 120, in <module>
main()
File "C:\Python34\a2.py", line 75, in main
tweets[wordsa[0]] = tweets.apply(lambda tweet: word_in_text(wordsa[0], tweet))
File "C:\Python34\lib\site-packages\pandas\core\series.py", line 2169, in apply
mapped = lib.map_infer(values, f, convert=convert_dtype)
File "pandas\src\inference.pyx", line 1059, in pandas.lib.map_infer (pandas\lib.c:62578)
File "C:\Python34\a2.py", line 75, in <lambda>
tweets[wordsa[0]] = tweets.apply(lambda tweet: word_in_text(wordsa[0], tweet))
File "C:\Python34\a2.py", line 17, in word_in_text
text = text.lower()
AttributeError: 'map' object has no attribute 'lower'

Ευχαριστώ,
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Twitter Opinion Mining 8 Χρόνια 1 Μήνας πριν #3906

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 148
  • Ληφθείσες Ευχαριστίες 24
Στο λέει το ίδιο το μήνυμα.
Προσπαθείς να εφαρμόσεις την λειτουργία lower σε ένα object που δεν έχει τέτοιο attribute.

Αν υποθέσουμε οτι το χρησιμοποιείς μόνο στον κώδικα που παρέθεσες τότε πρέπει να ελέγξεις το
text = text.lower()

Το lower εφαρμόζεται σε strings. Το text τί τύπος είναι;
Από αυτά που γράφτηκαν παραπάνω υποθέτω οτι πρόκειται για dictionary. Οπότε θα πρέπει να τρέξεις κάποιο loop και να πάρεις μόνο το string που σε ενδιαφέρει.
Άλλη μια παράμετρος που μπορεί να δημιουργήσει πρόβλημα είναι μήπως το text πρέπει να μετατραπεί σε unicode πρίν μετατραπεί σε lowercase
Τελευταία διόρθωση: 8 Χρόνια 1 Μήνας πριν από Αποστόλης.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.441 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου