Что такое программа собеседник

Программы-собеседники имитируют общение с человеком либо каким-то иным персонажем. До сих пор они остаются в основном средством развлечения, хотя находится им и своеобразное практическое применение в виде так называемых чат-ботов, то есть электронных участников Интернет-чата, своими репликами провоцирующих на общение других пользователей.

История программ-собеседников берет свое начало еще в шестидесятые годы прошлого века от знаменитой программы «Элиза», созданной Джозефом Вейценбаумом. Она имитировала диалог человека с психотерапевтом. В те времена существовала иллюзия, что в скором времени программы-собеседники станут настолько совершенны, что обычный пользователь компьютера не сможет отличить, ведет ли он диалог с машиной или с реальным живым человеком.

Однако до наших дней иллюзия так и осталась иллюзией. До сих пор не создано ни одной программы-собеседника совершенной настолько, чтобы ввести в заблуждение человека. Да и сам принцип работы этих программ существенных изменений не претерпел. В чем же он заключается?

Когда пользователь вводит свою фразу в окошке чата, программа ищет в своей базе, как ей отреагировать на эту фразу. Например, пользователь написал: «Привет!», в базе программы указано, что на это слово следует реагировать словом «Здравствуйте!». Такой ответ и получит наш пользователь.

Для большей гибкости программы-собеседники обычно реагируют не на целую фразу, а на ключевое слово или набор таких ключевых слов. Например, в базе содержится такой ключ: «тебя + зовут». Это значит, что на фразу, содержащую два этих слова, следует реагировать соответствующей репликой, например «Элиза». Тогда в ответ на все фразы, содержащие ключевые слова, программы выдаст это «Элиза». Такой подход позволяет более тонко распознавать смысл фразы пользователя, ведь в реальности он может спросить и «Как тебя зовут?» и «А зовут тебя как?»

Для того, чтобы реакция программы-собеседника не выглядела однообразно, что сразу выдает машину, часто в базы закладываются несколько вариантов реакции на одну и ту же фразу. Например, имеется ключ: «любишь + есть». Реакцией должно быть сообщение, что же наша программа (точнее, персонаж, который она имитирует) любит покушать? Возможные варианты ответа перечисляются, разделенные любым знаком. Скажем: «Помидоры — Я люблю помидоры — Обожаю яблоки…» и т.д. Когда требуется отреагировать на вопрос пользователя «Что ты любишь есть?» наша программа случайным образом выберет один из вариантов ответа.

Чем больше база программы, тем более осмысленный диалог она способна поддерживать. Но, поскольку все возможные темы общения и фразы пользователя предусмотреть практически невозможно, в базы таких программ закладывается специальный раздел универсальной реакции. Фразы из этого набора используются, когда во фразе пользователя ключей не найдено. Они могут звучать как простое: «Не понял» или что-то еще в этом роде, либо программа может попытаться перевести разговор на другую тему.

Таков принцип действия всех, даже самых совершенных программ собеседников. Как видим, в действительности за на первый взгляд осмысленной реакцией какого-нибудь чат-бота или электронной красавицы стоит довольно простой алгоритм.

Статьи на близкие темы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Закрыть