Ich verwende Stoppwörter und Satz Tokenizer, aber wenn ich gefilterten Satz drucke, gibt mir Ergebnis einschließlich Stoppwörter. Das Problem ist, dass Stoppwörter bei der Ausgabe nicht ignoriert werden. wie man Stoppwörter im Satz Tokenizer entfernt?Stoppwörter im Satz Tokenizer
userinput1 = input ("Enter file name:")
myfile1 = open(userinput1).read()
stop_words = set(stopwords.words("english"))
word1 = nltk.sent_tokenize(myfile1)
filtration_sentence = []
for w in word1:
word = sent_tokenize(myfile1)
filtered_sentence = [w for w in word if not w in stop_words]
print(filtered_sentence)
userinput2 = input ("Enter file name:")
myfile2 = open(userinput2).read()
stop_words = set(stopwords.words("english"))
word2 = nltk.sent_tokenize(myfile2)
filtration_sentence = []
for w in word2:
word = sent_tokenize(myfile2)
filtered_sentence = [w for w in word if not w in stop_words]
print(filtered_sentence)
stemmer = nltk.stem.porter.PorterStemmer()
remove_punctuation_map = dict((ord(char), None) for char in string.punctuation)
def stem_tokens(tokens):
return [stemmer.stem(item) for item in tokens]
'''remove punctuation, lowercase, stem'''
def normalize(text):
return stem_tokens(nltk.sent_tokenize(text.lower().translate(remove_punctuation_map)))
vectorizer = TfidfVectorizer(tokenizer=normalize, stop_words='english')
def cosine_sim(myfile1, myfile2):
tfidf = vectorizer.fit_transform([myfile1, myfile2])
return ((tfidf * tfidf.T).A)[0,1]
print(cosine_sim(myfile1,myfile2))
wie zu verwenden string.punctuation? @titipata – Muhammad
'import string' und' string.punctuation', dann können Sie 'stopwords_de.union (string.punctuation)'. – titipata
ok ich versuche das zu implementieren. ein weiteres Problem. mein Code oben wird Kosinusähnlichkeit zwischen zwei Dokumenten geben, aber ich will, dass es den Ähnlichkeitssatz zwischen zwei Dokumenten zeigt .. wie kann ich sie drucken @ titipata – Muhammad