использование разных словарей для фильтрации набора данных - PullRequest
0 голосов
/ 10 апреля 2019

Я сгенерировал облако слов из набора данных tfidf, но у меня есть разные словари в формате csv (например, медицина, аптека, патология и т. Д.), Чтобы отфильтровать этот набор данных перед созданием моего облака слов.

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

dictFile = open("Med.csv").read().splitlines() #read dictionary
        max_dist = 2
        new_keywords = [] # new dictionary
        for key in keywords: #read medical data
            terms = key
            tf_idf = keywords[key]
            print(terms, tf_idf)
min_dissim = max_dist #threshold
for words in dictFile:#iterate through dictionary
    cmpFile = jellyfish.levenshtein_distance(terms, words)

#filter with dictionary
        `if (cmpFile < min_dissim):`#terms within threshold
            print(cmpFile,terms,words)
      min_dissim = cmpFile #assigned to minimum distance i.e.< 2 
      print(min_dist)

if min_dissim == 0:
            break
new_tf_idf = tf_idf + ((max_dist - min_dissim)/max_dist)
new_keywords.append((terms, new_tf_idf))

d = dict(new_keywords)#wordcloud
wordcloud = WordCloud(width = 800, height = 800, 
                background_color ='white', normalize_plurals=False, max_words = 50,max_font_size = 100).generate_from_frequencies(d)     

результат этого кода создаст wordcloud с расстоянием слов в моем наборе данных, которые похожи на слова в моем медицинском словаре, но я хочу для всех слов, похожих на все словари

Заранее спасибо

...