Hallo,
ich möchte einen Text taggen, jedoch funktioniert es nicht. Ich mache es nach dem Beispiel in Bird´s NLTK book:
>>>text = word_tokenize("And now for something completely different")
>>> nltk.pos_tag(text)
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'),
('completely', 'RB'), ('different', 'JJ')]
Aber wenn ich auch nur diesen Beispiel Code in Python eingebe kommt folgende Fehlermeldung:
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
print (nltk.pos_tag(d))
File "C:\Python34\lib\site-packages\nltk\tag\__init__.py", line 110, in pos_tag
tagger = PerceptronTagger()
File "C:\Python34\lib\site-packages\nltk\tag\perceptron.py", line 141, in __init__
self.load(AP_MODEL_LOC)
File "C:\Python34\lib\site-packages\nltk\tag\perceptron.py", line 209, in load
self.model.weights, self.tagdict, self.classes = load(loc)
File "C:\Python34\lib\site-packages\nltk\data.py", line 801, in load
opened_resource = _open(resource_url)
File "C:\Python34\lib\site-packages\nltk\data.py", line 924, in _open
return urlopen(resource_url)
File "C:\Python34\lib\urllib\request.py", line 153, in urlopen
return opener.open(url, data, timeout)
File "C:\Python34\lib\urllib\request.py", line 455, in open
response = self._open(req, data)
File "C:\Python34\lib\urllib\request.py", line 478, in _open
'unknown_open', req)
File "C:\Python34\lib\urllib\request.py", line 433, in _call_chain
result = func(*args)
File "C:\Python34\lib\urllib\request.py", line 1244, in unknown_open
raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: c>
Ich bin Programmieranfänger und habe wirklich keine Ahnung, warum das Taggen nicht funktioniert. Kann mir da bitte jemand weiterhelfen?
Tagger
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Als erstes könntest du uns helfen.
1. Wo hast du die Bibliothek her?
2. Welchen Code führst du aus? (Komplett mit import usw.)
3. Welche Fehler Meldung kommt dabei raus
Wenn sich nämlich schon der gezeigte Code und der im Traceback unterscheidet vergeht mir (und vll. den meisten anderen) schon die Lust zu antworten.
PS: Ach und noch was kümmer dich um ein Problem nach dem andere.
PPS: Geh immer davon aus das kein Mensch die Bibliothek kennt die du verwendest und dir trotzdem helfen kann wenn du erklärst was du vor hast und den Code zeigst und Fehler
1. Wo hast du die Bibliothek her?
2. Welchen Code führst du aus? (Komplett mit import usw.)
3. Welche Fehler Meldung kommt dabei raus
Wenn sich nämlich schon der gezeigte Code und der im Traceback unterscheidet vergeht mir (und vll. den meisten anderen) schon die Lust zu antworten.
PS: Ach und noch was kümmer dich um ein Problem nach dem andere.
PPS: Geh immer davon aus das kein Mensch die Bibliothek kennt die du verwendest und dir trotzdem helfen kann wenn du erklärst was du vor hast und den Code zeigst und Fehler
Code: Alles auswählen
import nltk
from nltk import FreqDist
from nltk import word_tokenize
from nltk.corpus import stopwords
import re
from nltk.corpus import PlaintextCorpusReader
corpus_root = ("C:\Python34\my_corpus")
my_corpus = PlaintextCorpusReader(corpus_root, ".*")
xy = open("winner_2003.txt", "rU")
raw= xy.read()
tokens = word_tokenize(raw) #Text tokenisiert
stopwords= stopwords.words("english")
text_to_stopwords= [w for w in tokens if w.lower() not in stopwords] #Stopwords aus dem Text entfernt
wnl = nltk.WordNetLemmatizer()
tokens_lemma=[wnl.lemmatize(t) for t in text_to_stopwords if t.isalpha()] #Lemmatisiert
def stem(word):
regular = r'^(.*?)(ing|ed)?$' #von endungen wie ed befreien
stem, suffix = re.findall(regular, word)[0]
return stem
tokens_stemmer= [stem(t) for t in tokens_lemma] #Endungen ing und ed entfernt.
Da aber beim letzten Schritt von allen Wörtern mit den Endungen ing und ed entfernt werden, möchte ich die Verben herausfinden und den Code so umändern, dass die Endungen nur bei den Verben entfernt werden:
Code: Alles auswählen
text = word_tokenize(tokens_stemmer)
print (nltk.pos_tag(text))
Die Bibliothek wurde mit nltk zusammen installiert
Zuletzt geändert von Anonymous am Freitag 11. März 2016, 16:38, insgesamt 1-mal geändert.
Grund: Quelltext in Code-Tags gesetzt.
Grund: Quelltext in Code-Tags gesetzt.