Tematyka rozpoznawania mowy ( ang. voice recognition), sztucznej inteligencji ( ang. artificial intelligence) i uczenia maszynowego ( ang. machine learning) wraz z rozwojem technologii budowy stron i serwisów internetowych, a także aplikacji mobilnych, staje się coraz popularniejsza. Przed rozpoczęciem pracy, w której wykorzystane zostaną wymienione techniki, warto przyjrzeć się istniejącym rozwiązaniom, co może trochę ułatwić wybór odpowiedniego narzędzia do naszego problemu. 

Na podstawie dostępnych w internecie artykułów, kursów, wpisów na blogach przygotowałem krótką listę biblioteki i framework’ów, które można wykorzystać do rozpoznawania mowy, sztucznej inteligencji i uczenia maszynowego:

Diagflow - wcześniej pod nazwą API.AI, umożliwia integracje z Google Assistant, Amazon Alexa czy Facebook Messenger

Gupshup - platforma do budowy tzw. bot’ów, która oprócz API do wielu aplikacji udostępnia własne IDE, a także umożliwia umieszczenie tzw. widget’u na stronie internetowej

PullString - biblioteka do rozpoznawania mowy, która umożliwia tworzenie tzw. bot’ów za pomocą dostarczanego narzędzia PullString Author

Converse AI - system do budowy tzw. bot’ów pozwalający na integrację z wieloma platformami społecznościowymi

Protege - wykorzystywany do budowania inteligentnych systemów, udostępnione narzędzia pozwalają na pracę w środowisku web’owym, jak i instalowanym na stacji roboczej

Scikit-learn - bardzo rozbudowana biblioteka dla języka Python do uczenia maszynowego, szczególnie warta polecenia osobom rozpoczynającym przygodę z machine learning

TensorFlow - zbudowany przez Google popularny framework do uczenia maszynowego, dostępny dla języka Python, Java, C i Go

Apache Spark MLlib - biblioteka stanowiąca część silnika Apache Spark do przetwarzania dużej liczby danych umożliwia współpracę z NumPy w Python oraz bibliotekami języka R

H2O - biblioteka o otwartych źródłach wykorzystywana w tzw. deep learning w językach R, Python, Scala z Hadoop/Yarn i Spark

Caffe2 - biblioteka zbudowana na bazie Caffe, niezwykle lekka w porównaniu do innych dostępnych rozwiązań, pozwalająca na budowę aplikacji w języku Python

Apache Singa - biblioteka dostępna dla języka Python

Apache Mahout - środowisko umożliwia budowę aplikacji wykorzystujących Scala, Apache Spark, H2O, Apache Flink

Marvin - framework oparty o sieci neuronowe wykorzystuje GPU dostępny dla języka C++

Neon - biblioteka do tzw. deep learning dostępna dla języka Python

Veles - rozproszona platforma do deep learning dostępna dla wielu języków Java, SASS, HTML, OpenCL/CUDA, Javascript, C/C++ i Python

Karas - dostępna dla języka Python umożliwiająca na współprace z TensorfFlow czy Theano

Theano - dostępna również dla języka Python pozwalająca na integrację z NumPy