Dlegado,
банальная задача, мы тут таким каждый день занимаемся.
Ща я вам примерчик накатаю за пару минут + добавлю бонус - распознавание речи (диалога) в текст с анализом (доля позитива-негатива и т.п. маркетинговые фишки)))
А если серьезно, то для таких целей JS не лучший выбор. Надо что-то вроде питона. На JS можно только ради искусства поизвращаться. К примеру, видел есть готовые нейронные сетки. Да, что касается алгоритма, то нужна многослойная нейронная сеть глубокого обучения - обучаемая на рендер-ферме или в облаке на очень большой выборке релевантных данных.