Ich bin sehr neu in Python und NLTK. Es gibt mir perfektes ErgebnisNltk Satz Tokenizer gibt AttributeError
Als ich
tokenized = custom_sent_tokenizer.tokenize("some long text")
tun: Ein Thema ist verwirrend mich. Aber wenn ich auf eine Variable diese hart codierte Zeichenfolge ändere großen Text enthält, es gibt mir den Fehler in Subjekt nämlich erwähnt:
tokenized = custom_sent_tokenizer.tokenize(text)
...
AttributeError: 'list' object has no attribute 'abbrev_types'
unten mein voller Code:
from __future__ import division
import urllib.request
import csv
import nltk
from string import punctuation
from nltk.corpus import stopwords
from nltk.tokenize import PunktSentenceTokenizer
comments = open("CNPS_Comments.txt").read()
comments_list = comments.split('\n')
custom_sent_tokenizer = PunktSentenceTokenizer(comments_list[:300])
##tokenized = custom_sent_tokenizer.tokenize("some long text")
text=""
for comment in comments_list:
text += comment
tokenized = custom_sent_tokenizer.tokenize(text)
def process_content():
try:
for i in tokenized[:5]:
words = nltk.word_tokenize(i)
tagged = nltk.pos_tag(words)
print(tagged)
except Exception as e:
print(str(e))
process_content()
ich mit Python begann heute und es könnte viele Dinge geben, die ich hier nicht effektiv mache.
für einen Kommentar in comments_list: text + = Kommentar das sieht schlecht aus, weil ich das 'comments' -Objekt selbst anstelle von 'text' hätte verwenden können. Aber ich habe es auch versucht und es hat nicht funktioniert. – Rohit
Dieser Code konvertiert eine Liste in eine einzelne Zeichenfolge. Es gibt bessere Wege, aber Sie irren sich, dass es nicht gebraucht wird. – alexis