LDA с gensim и nltk: ошибка при импорте файла .csv - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь сделать LDA с Gensim и nltk для текста, содержащегося в CSV-файле.Однако при маркировке файла он распознается как пустой.

Ниже вы найдете код (любезно предоставленный Сьюзен Ли ): напечатанные токены представляют собой 2 пустые ячейки, и все.

.csv файл можно найти здесь

 def tokenize(text):
    lda_tokens = []
    tokens = parser(text)
    for token in tokens:
        if token.orth_.isspace():
            continue
        elif token.like_url:
            lda_tokens.append('URL')
        elif token.orth_.startswith('@'):
            lda_tokens.append('SCREEN_NAME')
        else:
            lda_tokens.append(token.lower_)
        return lda_tokens

import nltk

nltk.download('wordnet')

from nltk.corpus import wordnet as wn

def get_lemma(word):
    lemma = wn.morphy(word)
    if lemma is None:
        return word
    else:
        return lemma

from nltk.stem.wordnet import WordNetLemmatizer

def get_lemma2(word):
    return WordNetLemmatizer().lemmatize(word)

nltk.download('stopwords')

en_stop = set(nltk.corpus.stopwords.words('english'))

def prepare_text_for_lda(text):
    tokens = tokenize(text)
    tokens = [token for token in tokens if len(token) > 4]
    tokens = [token for token in tokens if token not in en_stop]
    tokens = [get_lemma(token) for token in tokens]
    return tokens

import random

text_data = []

with open('FICO_en.csv') as f:
    for line in f:
        tokens = prepare_text_for_lda(line)
        if random.random() > .99:
            print(tokens)
            text_data.append(tokens)
...