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