Sentiment analysis русскоязычных твитов при помощи TensorFlow.

Поделиться
HTML-код
  • Опубликовано: 20 сен 2024
  • В данном видео я покажу вам как при помощи TensorFlow можно быстро и легкой создать нейронную сеть которая будет уметь анализировать эмоциональный окрас(Sentiment analysis) русскоязычных твитов.
    IPython notebook можно найти вот тут: github.com/b0n...
    Поддержать проект можно вот тут: / b0noi
    А еще у нас есть Discord-чат академии: bit.ly/2K6XQQ2

Комментарии • 66

  • @Лёха-к7н
    @Лёха-к7н 4 года назад

    Ребят, всегда интересно смотреть ваши обучающие видео, это лучшее что есть по програмингу в русскоязычном сегменте ютуба!

  • @vyacheslavs5642
    @vyacheslavs5642 7 лет назад +11

    "Мороженое" всё-таки с одним "Н". Будьте внимательны, а то сеть сразу ломается ))
    А лекция хорошая, спасибо.

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад

      Жаль видео трудно перемонтировать =) Спасибо что подметили.

  • @volodymyrblahoi8420
    @volodymyrblahoi8420 7 лет назад

    Ждем следующий выпуск по НС! Очень интересно! Спасибо за видео! Надеюсь, что скоро увидим еще новый выпуск!

  • @yarmiksyarmiks9543
    @yarmiksyarmiks9543 7 лет назад +9

    откуда взялось число слоев и количество нейроннов в сети?

  • @тонистарк-д3ь
    @тонистарк-д3ь 7 лет назад +2

    Когда будут еще видео по нейронным сетям?
    Хотелось бы рассмотреть классификатор текста по темам. Или любой другой пример подходящий под эту задачу. А то если категорий 30 (30 нейронов на выходе) - непонятно как реализовывать нейронку.

  • @korshun1984
    @korshun1984 7 лет назад

    Шикарное видео, как обычно впрочем)) Не останавливайтесь!

  • @donrumata5299
    @donrumata5299 4 года назад +5

    У нейронки 2 нейрона, но она всё равно сдаёт зачёт.
    Прям как студент...

  • @alex-ul
    @alex-ul 7 лет назад +9

    Шикарно, лучшее толкование нейронных сетей! Интересно, будет ли применение НС для обучения ИИ в играх?

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +2

      Спасибо, будет но очень не скоро =(

  • @РоманЛева-й9з
    @РоманЛева-й9з 7 лет назад

    Круто, особенно предыдущие уроки!

  • @grekagrek3279
    @grekagrek3279 7 лет назад

    Крутота! Создание Терминатора набирает обороты)))

  • @Волчара-п3о
    @Волчара-п3о 6 лет назад

    Очень интересно! А еще вам нужно было попробовать добавить восклицательный знак к второму примеру с контроллером, думаю результат снова измениться на позитивный

  • @MrAgMariel
    @MrAgMariel 7 лет назад +1

    Воистину шикарно, грамотно и лаконично. Жаль только, что я в программировании полный чайник. Будем учиться. Спасибо!

  • @slimcooler12345
    @slimcooler12345 7 лет назад +1

    Вы в начале говорите, что настроите сеть так, чтобы positive+negative был 1.
    Вопросы:
    1. как вы этого добились?
    2. для такого выхода вроде достаточно одного выходного нейрона?
    Да, спасибо вам большое! отличное изложение, очень понятное

    • @slimcooler12345
      @slimcooler12345 7 лет назад +2

      Сам спросил, сам и отвечу.
      1. softmax дает такой результат.
      2. задача получить ответ одним нейроном решаема, но более сложная для сети. Поскольку задача - как можно сильнее уменьшить количество весов (для избегания переобучения), то усложнять сеть исключительно для того, чтобы получить ответ в одном нейроне - не вариант.

  • @alisadiplodock7086
    @alisadiplodock7086 4 года назад

    А объяснение суперское))

  • @MrSergey371
    @MrSergey371 4 года назад

    Спасибо за лекции, очень доходчиво, наглядно и понятно (Y)
    @Java Courses With Kovalevskyi в чём слайды оформляете? Есть лекция по оформлению слайдов?

  • @ruslanaltukhov6637
    @ruslanaltukhov6637 7 лет назад

    - Доброго времени суток.
    - Доброго времени года!

  • @s78ap
    @s78ap 6 лет назад

    Круто!!! Огромный респект

  • @linkernick5379
    @linkernick5379 7 лет назад +2

    Томный голос :-)

  • @tumikosha
    @tumikosha 6 лет назад

    А что с нейтральными предложениями? И точность что-то совсем невысокая ;0((
    А так спасибо. Хорошо, что решение доведено до рабочей модели.
    А какие еще есть модели поинтереснее для сентимента?

  • @lost_skunk
    @lost_skunk 7 лет назад

    Спасибо за интересный и простой пример. Посоветуйте ресурс с похожими примерами, чтобы было просто и полезно. Хочется что-то применить на своем сайте с флеш-играми, изучая азы процессе.

  • @derafum
    @derafum 2 года назад

    Здравствуйте! Я пытаюсь сохранить нейронку, чтобы потом открывать натренированную модель через файл и почему-то это не получается сделать.
    model.save("my_model") # сохраняю модель
    print('save model')
    # пытаюсь открыть сохраненную модель
    try:
    reconstructed_model = keras.models.load_model("my_model")
    print('model is load')
    except:
    print('bad')
    Он пишет, что не находит файл в данной директории. Пробовал сохранять в отдельную папку, прописывать полный путь. Напрямую на диск D закидывал файл. Создавал полностью новый проект

  • @alexk5636
    @alexk5636 7 лет назад +1

    Супер. Спасибо.

  • @djsosbxbdirndxnkcbebxhxbe
    @djsosbxbdirndxnkcbebxhxbe 4 года назад

    Почему 2 слоя и почему 125 нейронов в одном и 25 в другом? Какое-то объяснение ведь должно быть математическое, хоть минимальное. На что влияет количество слоев? А что если сделать 25 в первом и 125 во втором? В общем по этому поводу очень много вопросов, и очень интересно узнать на них ответы

  • @ВладимирТретьяков-р1ч

    а если есть повторяющиеся слова, то как этот вектор сформировать? Получается нейросеть понимает только само присутствие слова, а не контекст?

  • @Herclia
    @Herclia 7 лет назад

    Нет вопросов НАШЕЛ !!!

    • @6836-e4r
      @6836-e4r 7 лет назад

      где нашел?

    • @6836-e4r
      @6836-e4r 7 лет назад

      нашел))

  • @DmitryBochkarevx
    @DmitryBochkarevx 7 лет назад

    Спасибо за видео.
    У вас на шаге, когда стемы сохраняете, ошибка: вы сохраняете обработанные через регексп, а пытаетесь взять исходные слова потом.

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад

      +Dmitry Bochkarev это намеренно, очень часто слово на вход приходит без лишних символов, например: "привет." часто будет встречаться уже без точки:)

  • @ЛаураЖумахан
    @ЛаураЖумахан 5 лет назад

    "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). Как я могу исправить это. Пожалуйста подскажите🙏

  • @phil4765
    @phil4765 6 лет назад

    Спасибо)

  • @ЕгорПанов-ф2т
    @ЕгорПанов-ф2т 7 лет назад +1

    Отличное видео!
    А можете выложить файл юпитера с кодом?

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад

      +Егор Панов ага, сегодня(но очень позже) будет

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад +3

      готово: github.com/b0noI/ml-lessons/blob/master/sentiments_rus/sentiments.ipynb

  • @user-qp8yy2ip4f
    @user-qp8yy2ip4f 6 лет назад +1

    Не то чтобы я придирался, но Эверест, через Э

  • @Herclia
    @Herclia 7 лет назад

    Здорово, а где брать эти данные: POSITIVE_TWEETS_CSV = 'positive.csv', NEGATIVE_TWEETS_CSV = 'negative.csv' ? Они где то есть онлайн?

    • @tumikosha
      @tumikosha 6 лет назад

      Да на гитхабе они же выложили

    • @daria.kustova
      @daria.kustova 5 лет назад

      @@tumikosha а можно ссылку?

    • @tumikosha
      @tumikosha 5 лет назад

      @@daria.kustova на что именно? На датасет для сентимента?

  • @mrspenk5075
    @mrspenk5075 7 лет назад

    А что на счет продолжения?

  • @MaksUsanin
    @MaksUsanin 7 лет назад

    Как правильно подбирать слои, количество нейронов в слое ?

    • @KovalevskyiAcademy
      @KovalevskyiAcademy  7 лет назад

      Тут однозначного ответа нету, методом проб и ошибок.

  • @garrygaller2853
    @garrygaller2853 5 лет назад

    Насчет памяти для хранения матриц примеров: 200 тыс на 5 тысяч. У кого-нибудь это все помещается в какие-то разумные пределы 2-4 Gb? Созыкин для подобного анализа такие огромные матрицы в своем видео не использовал: там создавался частотный словарь по всем примерам и каждый пример кодировался как вектор состоящий из частот слов примера. Каждый пример при этом выравнивался до 80 слов. Итога матричка выходит раз в 50 меньше.

  • @KyMkonstantinym
    @KyMkonstantinym 7 лет назад +1

    ребята. все хорошо. только к эмоциям это никакого отношения не имеет. сам инструмент отличный но тут хромает лингвистика и психология. поэтому пример использования в данном контексте абсолютно неработающий.

  • @leshamokhov
    @leshamokhov 6 лет назад +1

    А не пробывали загружать стоп слова и применить их к своему словарю? Чтобы убирались такие «слова», как «а», «в», «и», «не» и т.д. Чисто интуитивно данные слова в словаре ничего полезного из себя не представляют.

    • @leshamokhov
      @leshamokhov 6 лет назад

      Еще можно составить countplot по словам из топа. Например, посмотреть, сколько раз встречается «не» в твитах с меткой 1 и сколько с меткой 0(в процентах). Отталкиваясь от этого, принять решение, убрать это слово из словаря или нет.

  • @АндрейИсаков-л5щ
    @АндрейИсаков-л5щ 7 лет назад

    "Мороженое" существительное кажется с одним "н":) bit.ly/2qdDl4I

  • @alexffdoubleb
    @alexffdoubleb 7 лет назад

    Мороженое с одной н пишется, блин.

  • @alisadiplodock7086
    @alisadiplodock7086 4 года назад

    Мороженое пишется с одной н!

  • @АндрейИсаков-л5щ
    @АндрейИсаков-л5щ 7 лет назад

    Смеялсо (Простите) joxi.ru/Y2Lew1JCybY9A6
    (Но оно все слова знает и понимает сексистски):)

  • @LS-oh6po
    @LS-oh6po Год назад

    "мороженное" ???? ну вы что, ребята

  • @АндрейИсаков-л5щ
    @АндрейИсаков-л5щ 7 лет назад

    С 8 Гб оперативки память убивается к чертям и порождает зомби:) joxi.ru/RmzY7j4h1yVVrO joxi.ru/82QewJ6CLEwV2d
    DO и Амазон большИе инстансы мне давать отказываются почему-то;)

  • @iAlexTube
    @iAlexTube 5 лет назад

    если ты любишь вониль - то ты подозрительный и вероятно негативный человек. если тебе нравится ваниль - то все нормально

  • @Yifzmagarki
    @Yifzmagarki 7 лет назад

    Ваш анализатор будет через 5-10 лет назад уже хуже работать , так как люди уже будут использовать новые слова, будут другие актеры.

    • @tumikosha
      @tumikosha 6 лет назад

      деградация моделей со временем требует их периодического переобучения

  • @Yifzmagarki
    @Yifzmagarki 7 лет назад

    У вас ужасная ошибка меньше 80% всего точность. Стэмминг делает еще хуже точность и ваш скрипт выжирает почти 20Гб оперативки, вы чего ребята, я на меньших данных получал 84% точность

  • @sgimancs
    @sgimancs 6 лет назад

    Лучше всего вместо этого "игрового любительства" рассказать народу об аналогичных сервисах на AMАZON: ALEXA SKILL SDK, Amazon Lex, TensorFlow, Apache MXNet, Amazon EC2 P2 итд. Раскрученные сервисы для AI на AMAZON могут дать больше практических результатов для всех желающих, чем одна общая упрощенная идеология.
    aws.amazon.com/ru/amazon-ai/
    Также до конца пока неизвестно останутся ли эти модные сейчас теории для нейронный сетей с машинным обучением в ближ. будущем основой для более продвитнутых AI. Копирование птицы в самолет это еще НЛО. Нейронные сети это также не живой мозг, который до сих пор до конца не изучен на уровне детальных процессов обмена и обработки информации. Нейронные сети только очень приближенно напоминают работу мозга. Все это может быть логичнее с учетом "ассоциативной памяти", но связанной более сложной нейронной сетью.

    • @justrocket1231
      @justrocket1231 9 месяцев назад

      Я просто оставлю реплай к этому комментарию, что бы он вылез у автора комментария в уведомлениях, что бы он перечитал свой комментарией 6 летней давности и подумал про себя "боже ну и херню же я тогда сморозил...даже неудобно как то вышло". Я искренне надеюсь что автор за эти 6 лет прокачался в теме ml и дата сатанизма и теперь понимают какую дичь тогда написал, которая даже в осмысленное предложение не складывается.