Рубрики
Без рубрики

Дальше развивает радостные твиты

Это некоторая дополнительная информация, продлевая мой оригинальный пост для моей записи #gftwhackanh: … Теги с Python, машинным обучением, подарок хакатоном.

Грант для веб-хататона (2 части серии)

Это некоторая дополнительная информация, расширяющая мой оригинальный пост для моей записи #gftwhackonh:

Радостные твиты

Мэтт Гамильтон · 3 июня 20 · 4 мин читать

В оригинальном проекте я использовал Анализатор IBM Watson Tone Analyzer Отказ Это было приятно и просто использовать и уже существовали. Однако это не было оптимально для того, что мне нужно. Основная проблема заключается в том, что он принимает только один «документ» одновременно. И когда я пытаюсь передать его партию твитов в реальном времени, это либо займет некоторое время, либо я бы пораньшел ограничение скорости на API. Кроме того, вы получаете только определенное количество звонков бесплатно в месяц, и я бы ударил это довольно быстро.

Поэтому я решил попытаться создать собственную службу анализатора Tone. Основные требования:

  • Нужно только для того, чтобы обнаружить «радость» и «гнев»
  • Должен иметь возможность справиться с несколькими «документами» в одном вызове
  • В состоянии запустить на IBM Cloud Foundry в 512 МБ оперативной памяти

Обучение

Я использовал IBM Watson Studio, чтобы сделать общую аналитику и обучение. Вы можете получить экземпляр GPU, который значительно ускорил тренировку по сравнению с его MacBook.

Я написал сценарий Python для подключения к API WebStocket Twitter и захватить кучу твитов. Я искал твиты, содержащие условия: «радость», «гнев», «счастлив», «печально» и осталось, если он работает на пару часов. Он захватил около 800 тысяч твитов, который был подходящим размером корпусов для обучения в этом случае.

Я использовал KERA, чтобы создать модульную модель нейронной сети и предварительный процесс и поезд на твитах. Полные детали процесса обучения находятся в следующем видео посту на Cinnamon:

https://www.cinnamon.video/watch?v=339756216043439894

ПРИМЕЧАНИЕ, в конце видео у меня возникли проблемы, так как я не мог заставить модель работать на графическом процессе, она продолжала говорить «ресурс недоступен». Как оказывается, у меня был действующий ядро Jupyter, и это уже выделило ресурсы GPU.

Я также не получил очень хорошие результаты, так как я не позволил ему поехать достаточно долго. Даже с графическим процессором было бы намного дольше, чем у нас было время в Livestream, чтобы ждать. Я позволил ему работать намного дольше после Livestream и получили гораздо лучшие результаты.

Служитель

Как только я создал и обучил модель. Я скачал его из Watson Studio, а затем попытался написать обертку об этом, чтобы служить простому API. Однако я ударил камень блок. Я пытался заставить его бежать до 512 МБ ОЗУ, что максимум на бесплатном уровне IBM Cloud Cloud Foundry. Даже не было так далеко, как не удалось бежать, он не провалил на Пип Установите Tensorflow команда. Т.е. Кажется, вам нужно больше 512 МБ оперативной памяти, чтобы даже установить Tensorflow!

Я вскоре обнаружил Tensorflow Lite и смог преобразовать мою модель KERA в модель Tensorflow Lite, а затем просто установить Tflite-Runtime Пакет, который намного меньше и просто содержит то, что вам нужно выполнить прогнозы, используя модель Tensorflow. Конверсия сработала довольно хорошо, но преобразователь не поддерживает Встраивание Слои, так Я должен был вручную обрабатывать эту часть в Python, прежде чем передаваться в модель Tensorflow.

Конечный результат

В конце концов, я получил работу API:

matt@Matts-MBP JoyDetector % cat input.txt 
{
  "texts": [
    "I love the world",
    "I hate the world",
    "I m not happy about riots",
    "I like ice cream"
  ]
}
matt@Matts-MBP JoyDetector % curl -s -H "Content-Type: application/json" --request POST --data @input.txt http://joydetector-smart-kob-ma.eu-gb.mybluemix.net/tones | jq .
{
  "tones": [
    {
      "anger": 0.2507,
      "joy": 0.7493,
      "text": "I love the world"
    },
    {
      "anger": 0.9185,
      "joy": 0.0815,
      "text": "I hate the world"
    },
    {
      "anger": 0.6479,
      "joy": 0.3521,
      "text": "I m not happy about riots"
    },
    {
      "anger": 0.1967,
      "joy": 0.8033,
      "text": "I like ice cream"
    }
  ]
}

Этот API – это то, что код работает в https://joyfultweets-daring-wildebeest-eq.eu-gb.mybluemix.net/ Теперь использует для анализа твитов из вашего канала Twitter.

Живой поток развития

Я собираюсь выполнять живую кодирующую сессию на повергивании во вторник (16 июня) в 2 вечера BST (9am Edt), в котором я пройду через весь процесс, который я использовал для преобразования модели к Lite Tensorflow.

Увидимся там!

Грант для веб-хататона (2 части серии)

Оригинал: “https://dev.to/hammertoe/further-developing-joyful-tweets-4l48”