Как настроить количество слов на основе tfidf - PullRequest
0 голосов
/ 05 ноября 2019

В настоящее время я столкнулся с проблемой, когда при преобразовании списка ключевых слов в словарь я не могу умножить частоту в исходном наборе данных на частоту при преобразовании списка в словарь.

rowid Частота ключевых слов

1 дерматология 1151

2 психиатрия 1068

3 обгын 1017

4 внутренняя медицина 883

5 психическое здоровье 865

6 оптометрия 763

7 педиатр 678

8 педиатрия 622

Я пытаюсь объединить некоторые ключевые слова для поиска с использованием LDA иtfidfmodel. В моем наборе данных у меня есть список ключевых слов и их частота. Я пытаюсь кластеризовать темы на основе этих ключевых слов, используя частоту #.

data_text = data[['Keyword']]
data_text['index']=data_text.index
documents = data_text

#Pre-Processing steps lemmatize and stemming

def lemmatize_stemming(text):
    return stemmer.stem(WordNetLemmatizer().lemmatize(text,pos='v'))

#def lemmatize_stemming(text):
#    return stemmer.stem(text)

def preprocess(text):
    result=[]
    for token in gensim.utils.simple_preprocess(text):
        if token not in gensim.parsing.preprocessing.STOPWORDS and len(token)>3:
            result.append(lemmatize_stemming(token))
    return result

doc_sample = documents[documents['index']==4310].values[0][0]
print('original document:')
words = []
for word in doc_sample.split(' '):
    words.append(word)
print(words)
print('\n\n tokenize and lemmatize document: ')
print(preprocess(doc_sample))

documents['Keyword']=documents['Keyword'].astype(str)

processed_docs = documents['Keyword'].map(preprocess)
processed_docs[:]

dictionary = gensim.corpora.Dictionary(processed_docs)

count=0
for k,v in dictionary.iteritems():
    print(k,v)
    count +=1
    if count > 10: 
        break

[[(dictionary[id], freq*) for id, freq in cp] for cp in bow_corpus[:1]]
print(bow_corpus)

#create dic reporting how many words and how many times those words appear
bow_corpus = [dictionary.doc2bow(doc) for doc in processed_docs]
bow_corpus

Не знаю, как лучше всего подготовить эти ключевые слова для лучшей кластеризации и поиска тем. Пожалуйста, сообщите.

...