Как исправить ошибки Porter Stemmer? - PullRequest
1 голос
/ 17 октября 2019

Я пытался использовать функцию чтения текстового файла и токенизации по словам, в том числе токенизации, удаления пробелов, переноса слов, сбора количества слов, удаления стоп-слов, но что-то не так с основанием, так как некоторые из "s" s и "rбыла проглочена программой. Кроме того, какая часть подходит для вставки подсчета слов?

import nltk
from nltk.tokenize import sent_tokenize, word_tokenize #split variable into words
from nltk.corpus import stopwords #stopwords
from nltk.stem import PorterStemmer #stem tools
from collections import defaultdict

#1)
def tokenizers(filename):
    #Read files
    file = open(filename, "r", encoding = "utf")
    lines = file.readline()
    file.close()
    #Set stop words and symbols (define symbols)
    stopWords = set(stopwords.words("english"))
    stopWords = stopWords.union(',','(",")','[","]','{","}','#','@','!',':',';','.','?')
    #Tokenize paragrah into words
    sentences = word_tokenize(lines)
    #Stem words, remove "s"
    ps = PorterStemmer()
    filterWords = [ps.stem(w) for w in sentences if not w in stopWords]
    return filterWords
...