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