Код:
Код: Выделить всё
# test_data is a Dataframe with three columns: a unique identifier, a title, and a sentence for each title. #
for value in test_data['desc']: # for each sentence in dataset
desc = nlp(value) # run spacy natural language processing on the description
words = [
token.text # for each token, etc
for token in desc
if not token.is_stop and not token.is_punct # essentially, just keywords, no filler
]
keys = list(Counter(words).most_common(5)) # store values from Counter
key_list = ", ".join(map(str, keys)) # convert list to string
test_data['key'] = key_list # carry list over to dataframe
uniq
title
desc
key
1
Название первое...
Предложение первое..
('kword1', 12), ('kword2', 8), ('kword3', 7)
2
Название второе...
Второе предложение...
('kword1', 12), ('kword2', 8), ('kword3', 7)
3
Третий заголовок...
Предложение третье...
('kword1', 12), ('kword2', 8), ('kword3', 7)
4
Четвертый заголовок...
Четвертое предложение...
('kword1', 12), ('kword2', 8), ('kword3', 7)
Где kword1, 2 и 3 идеально подходят для первой строки (например, это правильный вывод для первого предложения), но дублируются для заполнения всех строк (неправильный вывод для второго, третьего, четвертого предложения).
Я не уверен, что это имеет какой-то смысл, и я немного новичок в Python без опыта/основы в области компьютерных наук, поэтому я готов к помощи. Заранее спасибо!!!
Подробнее здесь: https://stackoverflow.com/questions/798 ... responding