Sentiment analysis русскоязычных твитов при помощи TensorFlow.
HTML-код
- Опубликовано: 20 сен 2024
- В данном видео я покажу вам как при помощи TensorFlow можно быстро и легкой создать нейронную сеть которая будет уметь анализировать эмоциональный окрас(Sentiment analysis) русскоязычных твитов.
IPython notebook можно найти вот тут: github.com/b0n...
Поддержать проект можно вот тут: / b0noi
А еще у нас есть Discord-чат академии: bit.ly/2K6XQQ2
Ребят, всегда интересно смотреть ваши обучающие видео, это лучшее что есть по програмингу в русскоязычном сегменте ютуба!
"Мороженое" всё-таки с одним "Н". Будьте внимательны, а то сеть сразу ломается ))
А лекция хорошая, спасибо.
Жаль видео трудно перемонтировать =) Спасибо что подметили.
Ждем следующий выпуск по НС! Очень интересно! Спасибо за видео! Надеюсь, что скоро увидим еще новый выпуск!
откуда взялось число слоев и количество нейроннов в сети?
Когда будут еще видео по нейронным сетям?
Хотелось бы рассмотреть классификатор текста по темам. Или любой другой пример подходящий под эту задачу. А то если категорий 30 (30 нейронов на выходе) - непонятно как реализовывать нейронку.
Шикарное видео, как обычно впрочем)) Не останавливайтесь!
+Александр Х. Спасибо:)!
У нейронки 2 нейрона, но она всё равно сдаёт зачёт.
Прям как студент...
Шикарно, лучшее толкование нейронных сетей! Интересно, будет ли применение НС для обучения ИИ в играх?
Спасибо, будет но очень не скоро =(
Круто, особенно предыдущие уроки!
Крутота! Создание Терминатора набирает обороты)))
Очень интересно! А еще вам нужно было попробовать добавить восклицательный знак к второму примеру с контроллером, думаю результат снова измениться на позитивный
Воистину шикарно, грамотно и лаконично. Жаль только, что я в программировании полный чайник. Будем учиться. Спасибо!
Спасибо!
Вы в начале говорите, что настроите сеть так, чтобы positive+negative был 1.
Вопросы:
1. как вы этого добились?
2. для такого выхода вроде достаточно одного выходного нейрона?
Да, спасибо вам большое! отличное изложение, очень понятное
Сам спросил, сам и отвечу.
1. softmax дает такой результат.
2. задача получить ответ одним нейроном решаема, но более сложная для сети. Поскольку задача - как можно сильнее уменьшить количество весов (для избегания переобучения), то усложнять сеть исключительно для того, чтобы получить ответ в одном нейроне - не вариант.
А объяснение суперское))
Спасибо за лекции, очень доходчиво, наглядно и понятно (Y)
@Java Courses With Kovalevskyi в чём слайды оформляете? Есть лекция по оформлению слайдов?
- Доброго времени суток.
- Доброго времени года!
Круто!!! Огромный респект
Томный голос :-)
А что с нейтральными предложениями? И точность что-то совсем невысокая ;0((
А так спасибо. Хорошо, что решение доведено до рабочей модели.
А какие еще есть модели поинтереснее для сентимента?
Спасибо за интересный и простой пример. Посоветуйте ресурс с похожими примерами, чтобы было просто и полезно. Хочется что-то применить на своем сайте с флеш-играми, изучая азы процессе.
Здравствуйте! Я пытаюсь сохранить нейронку, чтобы потом открывать натренированную модель через файл и почему-то это не получается сделать.
model.save("my_model") # сохраняю модель
print('save model')
# пытаюсь открыть сохраненную модель
try:
reconstructed_model = keras.models.load_model("my_model")
print('model is load')
except:
print('bad')
Он пишет, что не находит файл в данной директории. Пробовал сохранять в отдельную папку, прописывать полный путь. Напрямую на диск D закидывал файл. Создавал полностью новый проект
Супер. Спасибо.
Спасибо!
Почему 2 слоя и почему 125 нейронов в одном и 25 в другом? Какое-то объяснение ведь должно быть математическое, хоть минимальное. На что влияет количество слоев? А что если сделать 25 в первом и 125 во втором? В общем по этому поводу очень много вопросов, и очень интересно узнать на них ответы
а если есть повторяющиеся слова, то как этот вектор сформировать? Получается нейросеть понимает только само присутствие слова, а не контекст?
Нет вопросов НАШЕЛ !!!
где нашел?
нашел))
Спасибо за видео.
У вас на шаге, когда стемы сохраняете, ошибка: вы сохраняете обработанные через регексп, а пытаетесь взять исходные слова потом.
+Dmitry Bochkarev это намеренно, очень часто слово на вход приходит без лишних символов, например: "привет." часто будет встречаться уже без точки:)
"X = tweet_vectors
",
"y = to_categorical(labels, 2)
",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)"
]
},
Выдает ошибку (memory error). Как я могу исправить это. Пожалуйста подскажите🙏
Спасибо)
Отличное видео!
А можете выложить файл юпитера с кодом?
+Егор Панов ага, сегодня(но очень позже) будет
готово: github.com/b0noI/ml-lessons/blob/master/sentiments_rus/sentiments.ipynb
Не то чтобы я придирался, но Эверест, через Э
Здорово, а где брать эти данные: POSITIVE_TWEETS_CSV = 'positive.csv', NEGATIVE_TWEETS_CSV = 'negative.csv' ? Они где то есть онлайн?
Да на гитхабе они же выложили
@@tumikosha а можно ссылку?
@@daria.kustova на что именно? На датасет для сентимента?
А что на счет продолжения?
Как правильно подбирать слои, количество нейронов в слое ?
Тут однозначного ответа нету, методом проб и ошибок.
Насчет памяти для хранения матриц примеров: 200 тыс на 5 тысяч. У кого-нибудь это все помещается в какие-то разумные пределы 2-4 Gb? Созыкин для подобного анализа такие огромные матрицы в своем видео не использовал: там создавался частотный словарь по всем примерам и каждый пример кодировался как вектор состоящий из частот слов примера. Каждый пример при этом выравнивался до 80 слов. Итога матричка выходит раз в 50 меньше.
ребята. все хорошо. только к эмоциям это никакого отношения не имеет. сам инструмент отличный но тут хромает лингвистика и психология. поэтому пример использования в данном контексте абсолютно неработающий.
А не пробывали загружать стоп слова и применить их к своему словарю? Чтобы убирались такие «слова», как «а», «в», «и», «не» и т.д. Чисто интуитивно данные слова в словаре ничего полезного из себя не представляют.
Еще можно составить countplot по словам из топа. Например, посмотреть, сколько раз встречается «не» в твитах с меткой 1 и сколько с меткой 0(в процентах). Отталкиваясь от этого, принять решение, убрать это слово из словаря или нет.
"Мороженое" существительное кажется с одним "н":) bit.ly/2qdDl4I
Ага, пропустил =(
Мороженое с одной н пишется, блин.
Мороженое пишется с одной н!
Смеялсо (Простите) joxi.ru/Y2Lew1JCybY9A6
(Но оно все слова знает и понимает сексистски):)
"мороженное" ???? ну вы что, ребята
С 8 Гб оперативки память убивается к чертям и порождает зомби:) joxi.ru/RmzY7j4h1yVVrO joxi.ru/82QewJ6CLEwV2d
DO и Амазон большИе инстансы мне давать отказываются почему-то;)
Интересно чего так.
если ты любишь вониль - то ты подозрительный и вероятно негативный человек. если тебе нравится ваниль - то все нормально
Ваш анализатор будет через 5-10 лет назад уже хуже работать , так как люди уже будут использовать новые слова, будут другие актеры.
деградация моделей со временем требует их периодического переобучения
У вас ужасная ошибка меньше 80% всего точность. Стэмминг делает еще хуже точность и ваш скрипт выжирает почти 20Гб оперативки, вы чего ребята, я на меньших данных получал 84% точность
Лучше всего вместо этого "игрового любительства" рассказать народу об аналогичных сервисах на AMАZON: ALEXA SKILL SDK, Amazon Lex, TensorFlow, Apache MXNet, Amazon EC2 P2 итд. Раскрученные сервисы для AI на AMAZON могут дать больше практических результатов для всех желающих, чем одна общая упрощенная идеология.
aws.amazon.com/ru/amazon-ai/
Также до конца пока неизвестно останутся ли эти модные сейчас теории для нейронный сетей с машинным обучением в ближ. будущем основой для более продвитнутых AI. Копирование птицы в самолет это еще НЛО. Нейронные сети это также не живой мозг, который до сих пор до конца не изучен на уровне детальных процессов обмена и обработки информации. Нейронные сети только очень приближенно напоминают работу мозга. Все это может быть логичнее с учетом "ассоциативной памяти", но связанной более сложной нейронной сетью.
Я просто оставлю реплай к этому комментарию, что бы он вылез у автора комментария в уведомлениях, что бы он перечитал свой комментарией 6 летней давности и подумал про себя "боже ну и херню же я тогда сморозил...даже неудобно как то вышло". Я искренне надеюсь что автор за эти 6 лет прокачался в теме ml и дата сатанизма и теперь понимают какую дичь тогда написал, которая даже в осмысленное предложение не складывается.