Конкурс|Предсказание настроений по отзывам о товарах

машинное обучение искусственный интеллект

Это 4-й день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления

вводить

Глядя на тему прогнозирования тональности отзывов о продуктах, почему вы так хорошо с ней знакомы?Моим заданием по машинному обучению в прошлом семестре был анализ тональности обзоров в публичных обзорах. Анализ тональности комментариев, такой загадочный, на самом деле является классификацией текста. Эмоциональная интенсивность этого вопроса более детальна и разделена на пять категорий. Пятиклассовая классификация намного сложнее, чем двухклассовая.

Введение в тему

image.png

Введение данных

  • Этот набор данных включает 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
Временная метка комментария Временная метка рейтинга
Название комментария название комментария
Комментарии содержание комментария

Показатели оценки

image.png

Введение модели

  • skep_ernie_1.0_large_ch

  • LSTM

  • lgb + tfidf + SMOTE

слияние моделей

Следуйте нескольким принципам интеграции:

  1. меньшинство подчиняется большинству

  2. В случае разногласий преимущество имеет Эрни.

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

Рейтинг: Временно девятое место

Исходный код проекта:

woohoo.hey whit.com/named/project/…

студия любви.Baidu.com/lovestudio/liar…