У меня есть набор данных, в котором есть категориальные переменные, называемые «Назначение» и «Описание», в качестве текстовой или строковой переменной.Я должен выполнить анализ НЛП, такой как наиболее распространенные слова, биграммы, триграммы и т. Д. В каждой категории «Цель».Я могу сделать это вручную для каждой категории в «Цель», но это отнимает много времени.Я хочу создать функцию, которая будет выполнять каждый анализ и возвращать мне мировое облако этого конкретного уровня в переменной «Цель».Как мне это сделать?Я новичок в создании такой совершенно новой полностью автоматизированной функции ..!
Ниже приведен мой код для одной переменной -
"
print(dataset['ActivityPurposeName'].value_counts())
PMET = dataset[dataset.ActivityPurposeName=='PME-Troubleshooting']
#%%
# PME- Troubleshooting
all_wordsPME = []
for message in PMET['processed']:
wordsPME = word_tokenize(message)
for w in wordsPME:
all_wordsPME.append(w)
all_wordsPME = nltk.FreqDist(all_wordsPME)
#%%
print('Number of words: {}'.format(len(all_wordsPME)))
print('Most common words: {}'.format(all_wordsPME.most_common(150)))
#%%
# Bi-grams
from nltk.collocations import BigramCollocationFinder
from nltk.metrics import BigramAssocMeasures
finder2 = BigramCollocationFinder.from_words(all_words_text, window_size = 2) # all_words_text = all_words (Tokenized words)
# all_words = nltk.FreqDist(all_words)
bigram_measures = nltk.collocations.BigramAssocMeasures()
#for k,v in finder2.ngram_fd.items():
# print(k,v)
bigram = list(finder2.ngram_fd.items())
bigram.sort(key=lambda item: item[-1], reverse=True)
bigran[:10]
#%%
# Tri-grams
from nltk.collocations import TrigramCollocationFinder
from nltk.metrics import TrigramAssocMeasures
finder3 = TrigramCollocationFinder.from_words(all_words_text, window_size = 3)
trigram_measures = nltk.collocations.TrigramAssocMeasures()
trigram = list(finder3.ngram_fd.items())
trigram.sort(key=lambda item: item[-1], reverse=True)
trigram[:10]
#%%
from nltk import word_tokenize, pos_tag
print(pos_tag(all_words_text))
[Also the Wordcloud]
"