Первый пост из
серии об онтологиях. Вы всегда можете абсолютно точно понять вашего собеседника? А уверены вы, что собеседники всегда абсолютно точно понимают сказанное (или написанное) вами? В большинстве случаев (чаще, чем вам кажется) точная интерпретация невозможна. Источники проблемы есть самые разные:
- Неоднозначные формулировки за счет многозначимости терминов (например, употребление омонимов).
- Неточные значения: из высказывания "Петя уже взрослый" невозможно даже примерно определить возраст Пети.
- Структурная многозначность: "казнить нельзя помиловать".
- Привязка к контексту: например, старая шутка про набожную старушку и девушку, читающую книгу "Язык Ада"
- ...и многое другое.
Действительно серьезной проблема становится, когда нужно передать или задокументировать именно точное значение. Пример - юриспурденция, где проблему испокон века пытаются ограничить (как показывает практика, зачастую неудачно) при помощи употребления специального жаргона, использующего специальные термины и сужение спектра значений общеупотребительных слов до минимума.
Еще более точная интерпретация полученной информации требуется в области технической коммуникации и искусственного интеллекта (ИИ). Пример первого: страницы, вытаскивающие структурированную информацию из содержимого других web-ресурсов, вроде поисковиков дешевых полетов и отелей. Пример второго: получившие достаточно широкое распространение в специальных областях экспертные системы, поддерживающие (редко: заменяющие) специалиста при поиске решений в сложных ситуациях. Они используются, например, при диагностике (чаще: технических систем, реже: в медицине). Помните сцену из "Чужого", когда Эшли спрашивает корабельный компьютер, как справиться с инопланетным хищником? Вот это как раз и есть задача экспертной системы. Правда, информация не зарождается в такой системе сама собой: ее сначала должен занести туда либо живой человек, либо она должна получить результаты работы другой программы (например, симуляции). Поэтому надежда получить от компьютера "Ностромо" совет по данному вопросу (не предусмотренному никем заранее о неизвестном доселе существе) ожидаемо не оправдалась.
Знаменитый пример универсальной экспертной системы -
программа "Watson", созданная специалистами IBM. Она продемонстрировала свои возможности в 2011 году, выиграв в "Jeopardy!" у двух чемпионов. Программа получала вопросы в виде текста, в той же самой форме, что и люди-оппоненты. Она должна была интерпретировать вопрос и найти ответ из своей информационной базы (подключения к Интернету у нее не было). База состояла из 4 терабайт заранее приготовленной структурированной и неструктурированной информации, включая полный текст англоязычной Википедии. И как раз использование "естественной" формы вопросов и неструктурированной информации привело к забавному казусу (полное описание по-английски есть в
Википедии или
ТУТ).
В первом раунде в категории "города США" выпал вопрос: "Его самый большой аэропорт был назван в честь героя II Мировой Войны, а второй по величине - в честь битвы II Мировой Войны" (в оригинале: "Its largest airport was named for a World War II hero; its second largest, for a World War II battle"). Оба оппонента ответили правильно: "What is Chicago?" (аэропорты O'Hare и Midway), в то время как Watson, к всеобщему удивлению, выдал: "What is Toronto???". И это при том, что как раз в области географии Watson пользовался полными и точными данными. Как это могло произойти? Судя по всему, сыграли роль сразу несколько факторов, характерных для "естественного" человеческого языка:
- Во время тренировок Watson "усвоил", что категории Jeopardy часто даются в переносном смысле и понизил степень их значимости при поиске решений.
- Вторая часть предложения была сформулирована необычно: без явной привязки подлежащего к понятию "аэропорт" и без явного сказуемого. Похоже, Watson часть вопроса после запятой вообще не смог интерпретировать.
- В США действительно есть несколько городов с именем Торонто (вот список). Поэтому внутренний запрос "находится ли Торонто в США?" мог вполне дать положительный ответ.
То есть Watson попал в ту самую ловушку неясной контекстуальной привязки, неоднозначности и нечетко разделенных понятий с одинаковыми именами, которая характерна для человеческого общения. Вот о нем мы и поговорим в следующих частях, а к технике вернемся чуть попозже.