![]() |
Модераторы: Се ля ви |
![]() ![]() ![]() |
|
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
sergejzr совершенно прав: формальные языки оперируют только синтаксисом, а любой язык программирования принципиально не может быть ни чем иным, кроме как формальным языком. По этому поводу еще в первой половине прошлого века математиками было доказано: семантика не сводима к синтаксису. Как я понял первый пост default: требуется выделить из естественного языка поддающееся формализации подмножество. Синтаксическое. А для работы с этим подмножеством -- Пролог например вполне может подойти. Это сообщение отредактировал(а) Artemios - 4.12.2006, 13:56 -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Ого! Проектище! Очень интересно, как там разработки идут. В принципе это то, чем я хотел бы заниматься.. |
|||
|
||||
regis |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: нет Всего: 7 |
Даже если ограничиться исключительно синтаксисом, подобная программа на Прологе сможет понимать очень небольшое подмножество естественного языка. Синтаксис языка, особенно русского, допускает слишком много разнообразия. И, кстати, полностью избежать анализа семантики невозможно. Попробуйте формально проанализировать фразу "Джек видел их семью своими глазами". Ее можно интерпретировать как минимум двумя путями, и без дополнительных знаний (например о том, человек Джек или нет) понять ее нельзя. Вот для устранения таких проблем и созданы языки типа Логлана. Это сообщение отредактировал(а) regis - 4.12.2006, 15:53 --------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
Никто не спорит ![]() Я наверно не совсем корректно высказался. Имел ввиду не невозможность некоторого сведения семантики к синтаксису (и ABBYY прекрасно собираются доказать такую возможность), а принципиальную невозможность полного сведения семантики к синтаксису. То есть формально мы можем определить, что между объектом A и объектом B существует отношение C. Само C может также выступать объектом для некоторого иного отношения. Чем больше в базе знаний забито объектов и отношений, тем более "умной" будет машина (даже в ABBYY это наполнение данными называют обучением семантике и прагматике, хотя на самом деле происходит формализация оных). Так или иначе, это всего лишь формализация, в конечном итоге редуцируемая все к тем же 0,1 и булевым операциям на них. Интерпретация же формального вывода из базы знаний -- все равно на плечах человека. Логлан, Ложбан -- устраняют проблему формализации синтаксиса естественного языка, так как сами уже синтаксически являются формальными языками. Что может облегчить частичную формализацию семантики, полная же невозможна и в этом случае. Это сообщение отредактировал(а) Artemios - 4.12.2006, 16:50 -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
default |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
Хорошо, немного по другому
Поставим конкретную цель: Создать базу данных об этом мире, аналог Wikipedia приспособленную для понимания и семантического анализа компьютером. Хороший вариант как часть страниц уже существующих в Wikipedia. Она должна: 1.Описывать свойства и отношения между объектами реального мира. 2. Быть приспособленной для понимания и семантического анализа компьютером. 3.Быть доступной для понимания пополнения и редактирования человеком без специальной подготовки. |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 2 Всего: 259 |
Насколько я понял пример, то база данный, в основе которой лежал бы Prolog в этом смысле подошла бы.
Здорово, прикинь себе запрос hunanql('select * where свойство=мягкий') ![]() Тут даже больше проблема стоит заполнения такой базы, чем ее создания ![]() |
|||
|
||||
Artemios |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
Угу. Уже ближе, имхо. Хотя в этом контексте лучше употреблять термин "база знаний". Что-то вроде семантической сети...
Про понимание машиной ничего не скажу (не формализуемый термин). Приспособленность для анализа. Язык наподобие того же Ложбана, только редуцированного до некоторого псевдокода, оптимального для внутреннего представления данных.
Здесь подошло бы изоморфное отображение внутреннего языка из предыдущего пункта в выделенное формализованное подмножество естественного языка. Конечно, для человека запись на этом подмножестве будет выглядеть иногда не очень красиво, но все равно понятно. Проблема здесь будет в выделении свободной от неоднозначностей структуры естественного языка, пригодной для описанных целей. Другая проблема -- человек, забивающий данные в базу, остается человеком, а следовательно -- несвободным от неоднозначности. И если вводимые им данные синтаксически уже можно будет проверить на корректность, то полная семантическая проверка была бы возможна только при условии, что вся база данных уже существует, что невозможно. Исходя из вышеизложенного, БД лучше назвать не "база данных об этом мире", а "БД, реализующая некоторое представление об этом мире". А вообще, идея имхо становится интересной ![]() Это сообщение отредактировал(а) Artemios - 5.12.2006, 10:07 -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
||||
|
|||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Есть такие базы как в свободном, так и в коммерческом варианте. Выполнено в логических формулах.. Базы знаний (Cyc - EnCYClopedy): ![]() Cyc (коммерч.) ResearchCyc/(свободн.) OpenCyc Семантические лексиконы: WordNet Русский WordNet |
|||
|
||||
regis |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: нет Всего: 7 |
Собственно, если вопрос о том, где взять базу знаний -- то он решается легко. Основа любой экспертной системы -- база знаний в некой формализованной форме. А такие системы есть по любой отрасли науки -- физика, химия, биология, медицина...
--------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
|||
|
||||
![]() ![]() ![]() |
Правила раздела "Философия программирования": | |
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Философия программирования | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |