#python #nlp
#python #nlp
Вопрос:
Я хочу знать, связаны ли обзоры с темой или нет, поэтому я создал набор слов, которые имеют отношение к теме.
effi_set = {"reminders","medication", "Alarm"
"diet", "carbohydrate","nutrition","weight","IBM", "sport", "activity", "fitbit","blood","insulin",
"Hb1ac" , "data exportation","feedback", "monitoring","recording ","monitor", "record",
"passwords","security","backup","protection",
"information","education","complication","risk","prevent","contact","consultation",
"facebook","twitter","social media","mail","FAQ","doctor",
"data","offline","language","location","region","country",
"devise","glucometer","bluetooth","automation","carb","barcode","food","syncronize","PHR","import"}
Я маркирую каждый обзор, чтобы сравнить маркированные слова с subj_set
for line in df["content"]:
tokenized_words =word_tokenize(line)
for item in tokenized_words:
if item not in effi_set:
df["efficient"] = False
else:
df["efficient"] = True
результатом было то, что все обзоры были ложными, что не так.
Комментарии:
1. Как бы вы узнали об этом,
that all reviews all false
если вы просто обновляете логический индикатор с помощьюdf["efficient"] = False
?2. df.head() df.to_csv(«Final_comments.csv», индекс=False)
Ответ №1:
df["efficient"] = False
модифицирует ли весь столбец
Вы должны изменять строку за раз
df["efficient"] = False
for index, line in df["content"].iteritems():
tokenized_words =word_tokenize(line)
for item in tokenized_words:
if item in effi_set:
df.at[index, "efficient"] = True
continue
Комментарии:
1. не сработала ошибка типа: ожидаемый объект, подобный строке или байтам
2. Отредактировано ! забыл
index
в цикле3. это работает, но результат тот же, что и в эффективном столбце, все равно False
4. ОК. Что должен делать ваш код? должно ли быть эффективным,
True
если вeffi_set
найден только один tokenized_words? Потому что здесь он продолжает цикл, поэтому, если последний элементtokenized_words
не найден, он будет установленefficient
в false5. да, эффективное значение True, когда в effi_set найдено хотя бы одно слово из tokenized_words, поэтому, как только он нашел слово, установите значение efficient в True и выполните следующий список tokenized_words