Это 4-й день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления
вводить
Глядя на тему прогнозирования тональности отзывов о продуктах, почему вы так хорошо с ней знакомы?Моим заданием по машинному обучению в прошлом семестре был анализ тональности обзоров в публичных обзорах. Анализ тональности комментариев, такой загадочный, на самом деле является классификацией текста. Эмоциональная интенсивность этого вопроса более детальна и разделена на пять категорий. Пятиклассовая классификация намного сложнее, чем двухклассовая.
Введение в тему
Введение данных
-
Этот набор данных включает 520 000 элементов, более 1100 категорий, 1,42 миллиона пользователей и 7,2 миллиона данных отзывов/оценок.
-
Набор данных, используемый в этой учебной игре, основан на данных электронной коммерции JD, данных электронной коммерции JD.com из WWW, и некоторые поля были в определенной степени скорректированы. в этой тренировочной игре.
-
Оценка представляет собой целое число между [1,5]
Обучающий набор:
поле | данные | инструкция |
---|---|---|
Идентификатор данных | string | Уникальный идентификатор для каждого фрагмента данных, например TRAIN_0. |
Идентификатор пользователя | int | Идентификатор пользователя (нумерация последовательно от 0) |
идантификационный номер продукта | string | то есть productId в products.csv |
Временная метка комментария | int | Временная метка рейтинга |
Название комментария | string | название комментария |
Комментарии | string | содержание комментария |
счет | int | Рейтинг, целое число между [1, 5] |
поле | инструкция |
---|---|
Идентификатор данных | Уникальный идентификатор для каждого фрагмента данных, например TRAIN_0. |
Идентификатор пользователя | Идентификатор пользователя (нумерация последовательно от 0) |
идантификационный номер продукта | то есть productId в products.csv |
Временная метка комментария | Временная метка рейтинга |
Название комментария | название комментария |
Комментарии | содержание комментария |
Показатели оценки
Введение модели
-
skep_ernie_1.0_large_ch
-
LSTM
-
lgb + tfidf + SMOTE
слияние моделей
Следуйте нескольким принципам интеграции:
-
меньшинство подчиняется большинству
-
В случае разногласий преимущество имеет Эрни.
def get_score(x):
import collections
nums = [x['ernie_score'],x['lgb_score'], x['lstm_score'] ]
ans = []
cnt = collections.Counter(nums)
ans = 0
for k, v in cnt.items():
if v >=2:
ans = k
return ans if ans else x['ernie_score']
df['score'] = df.apply(get_score,axis = 1)
результат
Micro-F1 = 0.6541
Рейтинг: Временно девятое место
Исходный код проекта: