Мне нравится делать небольшой анализ настроений по поводу отзывов об отелях.
Пример (stop_word_filter:
[«Даже», «хотя», «фотографии», «шоу», «чистые», «комнаты», «фактические», «комнаты», «уйти», «грязные», «пережил», «также ',' check ',' 15 ',' clock ',' room ',' not ',' ready ',' time ']
Я понял, что речь идет о "гостиничном номере" и о "чистом". Я хочу соединить закрывающее «отрицательное» слово с «чистым», которое должно быть «грязным».
Я интегрировал список негативных слов.
Я вешаю на реализацию ...
Код:
bullets = [] #output
distances = []
bad_word_locations = []
rubrik_word_location = [] #category_word
#if there is a category word in the review
if len(rubrik_uR_list) == 1:
#get the index of that one
rubrik_word_location = stop_words_filter.index(rubrik_uR_list[0])
#go throu all negative words and if one of them in my sentence get the index of that word
for w in negativ_words_list:
if w in stop_words_filter:
bad_word_locations.append(stop_words_filter.index(w))
#NOW ITS GETTING CRUCIAL
#if we found one
if len(bad_word_locations) > 0:
#I need to some how catch now the closest word, my code is not doing this
distances.append(abs(rubrik_word_location-bad_word_locations[0]))
bullets.append(stop_words_filter[min(distances)])
#if I got more categories in one review I need to remind that somehow...
blacklist.append(stop_words_filter[min(distances)])
Понятно, я плохо программирую.
Буду признателен за вашу помощь с уважением.
Заранее спасибо, Никлас