Системы общения на ЕЯ.
Можно ли назвать их Искусственным Интеллектом?
Сразу расшифрую: ЕЯ - естесственный язык, язык на котором разговаривают люди. Будь то английский, русский
или китайский язык - это ЕЯ. Что такое системы общения? Это программы которые способны граммотно отвечать
на вопросы задающего, используя при этом интеллектуальные рассуждения, либо создающие иллюзию вышеназванных
(о них я и расскажу далее).
Я сам разрабатывал такие системы и поэтому мне легче ниже перечислить все их версии с описанием
принципа работы и остановиться на самой последней поподробнее. А выводы делайте сами:
v1.0-v1.2 Работали под ДОС. Имелась база в которую вводились все вопросы и ответы поочередно. Пользователь
вводил строку, программа сравнивала с каждым вопросом в базе на полное соответствие, если находила, выводила
ответ соответствующий данной строке, если нет - спрашивала: "Как мне подобает на это ответить?", пользователь
вводил строку, которая вместе с вопросом заносилась в базу и т.д.
v2.0 Изменен интерфейс.
v3.0-v3.4 Эта под Windows. Все так же как и в предыдущих версиях, лишь изменен поиск, теперь это поиск на
нестрогое соответствие: слова могут быть расположены в любом порядке, некотрые слова могут отсутствовать.
v4.0,v5.0 Недоделки
v6.0 Сильно изменен интерфейс. Процедура поиска практически не изменилась за исключением того что теперь:
Строка "Я гуляю." и строка "Я не гуляю." прямо противоположны.
А строка "Я гуляю.", строка "Я не не гуляю.", строка "Я не гуляю не." и "Не я не гуляю.", и т.д.
идиентичны.
v7.0 Ну вот и долгожданная последняя версия. Если вы разберетесь в моем коде на VisualBasic, можете взять
здесь исходники. Сразу скажу, чем алгоритм поика этой версии отличается от других версий: теперь несколько
букв одной фразы сравнивается с несколькими буквами второй фразы(по умолчанию - три буквы), поэтому стало
возможным следующее сравнение: слово "Разуметь" и слово "Разумею" - "раз" и "раз" - 100%,
"уме" и "уме" - 100%, "ть" и "ю" - 0%, отсюда: n=(100+100+0)/3=66,7%. А алгоритм самой программы практически
такой же как в v1.0, тем не менее результаты неплохие. Вы можете взять скомпилированные программы v6.0 и v7.0
здесь.
Как вы сумели заметить сложность таких программ заключается в составлении наилучшего алгоритма
"интеллектуального" сравнения строк. Неплохо было бы разработать такй вот алгоритм: строка "Разуметь" и
"Разумею" - 85%, строка "Разуметь" и "Создать" - 0%, строка "Создавать" и "Созидать" - 95%.
Предлагаю подумать над этим и вам, а с предложениями можно обратиться ко мне(написать мне на E-mail).
Назад