Обсуждение

В архиве: 13 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 22 августа 2010

Комментарий

Других заметных игроков на этом рынке вопросно-ответных систем я что-то не вижу. Но вполне возможно что есть незаметные. Сейчас модно делать stealth-mode startup :).

Имя не сохранено · 22 августа 2010

Комментарий

Хорошо бы еще сделать программу, которая бы распознавала подмножество английского и транслировала его в FOL/HOL/DL :). Тут даже два варианта возможны: - controlled English - т.е. формальный язык но близкий к натуральному с широкими синтаксическими вариациями, но строго транслируемый - распознавание фрагментов обычного языка Для целей создания спецификаций это было бы весьма полезно. Впрочем генерилка английского из ФОЛ тоже весьма полезна.

Имя не сохранено · 22 августа 2010

Комментарий

Можно кстати оба варианта и совместить: т.е. программа может подсвечивать те фразы, которые она распознала, ну а другим цветом - то, что не распознала. А юзер соответственно редактирует, до тех пор пока программа не поймет. Т.е. некий микс UIMA с распознаванием естественного языка и трансляцией в логики.

Ответ на комментарий

Анатолий Левенчук · 22 августа 2010

Комментарий

Дык CYC занимается ровно этим (только в других статьях это описывает): транслирует в свой CycL естественный язык, даже не controlled. Говорят, что этот парсинг потруднее будет, чем синтез естественного текста.

Ответ на комментарий

Анатолий Левенчук · 22 августа 2010

Комментарий

Там не редактирование (у CYC), а некоторый диалог с переспрашиванием (иногда очень нетривиальным, посколько при переспросе привлекается обширная база знаний). Опять же, при переспросе нужен синтез речи.

Ответ на комментарий

Анатолий Левенчук · 22 августа 2010

Комментарий

Не удивительно, но весьма мало используемо. Вспомним COBOL с его "почти английским". Народ до сих пор содрогается от его упоминания. Тут уж более надёжно "понималка естественного языка" с переспросами, и попытки при формулировании фраз писать попроще (а в случае невозможности -- опять же переспросы).

Ответ на комментарий

Имя не сохранено · 22 августа 2010

Комментарий

Ну генерация естественного текста вообще относительно простая задача. Т.е. тут конечно есть сложности, но они скорее эстетического характера, а теоретически тут принципиальных проблем нет. А вот парсинг естественного текста - это задача ИИ, потому как парсить - часто зависит от смысла текста. Т.е. тут сперва надо создать ИИ :).

Ответ на комментарий

Анатолий Левенчук · 22 августа 2010

Комментарий

Генерация нормального текста на естественном языке -- сложная задача, иначе не было бы комментируемой статьи. Там ведь появляются всякие референтные индексы типа "там" (pun intended).

Ответ на комментарий

Имя не сохранено · 22 августа 2010

Комментарий

С точки зрения computer science создание ИИ и парсинг естественного текста - задача нерешаемая вообще :). Т.е. тут суровые эвристики. А генерация текста - решаемая. Грубо говоря, есть много косно-говорящих и пишущих людей, но другие люди их все равно могут понять. Поэтому даже если компьютер будет немного коряво генерить текст - то это не страшно. А вот понять косно-говорящих людей компьютеру крайне сложно, ибо нужно понимать контекст, т.е. нужна огромная база знаний типа Cyc, как минимум.

Ответ на комментарий

Анатолий Левенчук · 22 августа 2010

Комментарий

Совершенно верно, CYC как раз и пытается сделать этот проход на понимание с предварительно набранной базой знаний.

Ответ на комментарий

Имя не сохранено · 22 августа 2010

Комментарий

Для задач специфицирования натуральный формальный язык очень важен, ибо спецификации должны быть точными, а обычный язык многосмысленен. Это одна из основных проблем спецификаций. В то же время, спецификации должны понимать обычные люди, не-программеры. Поэтому всякие компании даже пытаются внедрять controlled languages в документации. Т.е. спецификации нужно по любому писать на точном языке, а не на произвольном. Переспрашивалка тут лишь помогает человеку писать точно, а на выходе-то все равно имеем controlled lahnguage.

Ответ на комментарий

Имя не сохранено · 22 августа 2010

Комментарий

Вот к примеру текст на Attempto Control English "The discount is a:five-percent if the customer is a:premium and the product is regular. The discount is a:seven-and-a-half-percent if the customer is a:premium and the product is a:luxury. A customer is a:premium if the customer's a:previous-year n:spending is at least 5000 n:euro. A n:Porsche is a:luxury. A n:Honda is regular. p:Peter-Miller's a:previous-year n:spending is at least 5000 n:euro." Т.е. текст обычный английский, но там есть аннотации для того чтобы устранять двусмысленности. Типа a:premium означает что premium это не существительное, а прилагательное. В принципе, тут можно довольно простую переспрашивалку, даже без смысла сделать. Типа встретилась неоднозначность, компьютер переспросил noun or adjective? Ну и движки типа UIMA сюда интегрируются. Т.е. компьютер может распознать к примеру Peter-Miller как имя человека и пометить соответствующим образом. А человек может уточнить, если он ошибся.

Ответ на комментарий