Обсуждение "On Intelligence"

Форум для предварительного обсуждения тем.
Прежде чем организовать обсуждение в отдельном форуме, полезно убедиться, что четко понимаешь о чем говоришь.
Locked
Солеваров
Posts: 3782
Joined: Wed Jan 07, 2004 5:46 am
Location: Москва

Post by Солеваров » Sat Mar 18, 2006 6:58 am

NO wrote:Солеваров:
Мы об этом уже говорили и я знаю вашу позицию.
- хмм... и я знаю вашу позицию:
здравый смысл. Объем информации, переваливший за половину возможного, без этого мышление невозможно и не нужно.
- http://forum.aicommunity.org/viewtopic. ... 8&start=25

а давайте с учетом резонного замечания Neuronus-а анатомируем сей common sens :wink:

имея отправной точкой рассуждения скрытые закономерности нейродинамической организации мозга, не поддающиеся непосредственному наблюдению и измерению (физиологическому или приборному), на выходе имеем минимум различительной информации.

Так вот, раз мы не наблюдаем и не измеряем, следовательно не различаем какие информационные параметры сопоставимы с мыслительным содержанием. И тогда наш здравый смысл содержит минимум различительной информации представленной в одних и тех же категориях ненаблюдаемого, неизмеряемого, неразличаемого. Вот эта ограниченность и есть содержание здравого смысла. Как им пользоваться впредь? доверять ли ему? Да, но только в пределах тех границ, которые мы устанавливаем для постановки той или иной интеллектуальной задачи. И тут вы NO несомненно правы, постановка задачи включает в себя обратную инструкцию в объеме информации более 50%.
Для того чтобы добраться до источника - надо плыть против течения. Verba at nula.

Иван FXS
Posts: 2002
Joined: Thu Jan 15, 2004 11:20 am
Location: Москва - Нижний Новгород
Contact:

Post by Иван FXS » Sat Mar 18, 2006 10:00 am

Egg wrote:но мы-то знаем, что природа решила эту задачу КРАЙНО эффективно...
- ага, решила ... даже не одним, а двумя способами:

1. склероз (я больше забыл, чем ты знаешь);

2. смерть, ну или - смена поколений, чтобы не так мрачно
(Да. были люди в наше время!
Не то, что нынешнее племя.
)

NO
Posts: 1815
Joined: Fri Jan 30, 2004 7:43 pm
Contact:

Post by NO » Sat Mar 18, 2006 3:08 pm

Солеваров wrote:давайте с учетом резонного замечания Neuronus-а анатомируем сей common sens
Если в партии 10 яблок и 6 из них гнилые, то не нужно знать какие оставшиеся 4 чтобы ответить на вопрос каких там яблок больше, хороших или плохих. Для другого вопроса может быть другая метрика что считать половиной т.к. количество информации всегда меряется в каком-то контексте. Доверие тут абсолютно не при чем. Тут речь о том можно ли из отрицаний логически получать утверждения. Есть в мозгу такие хитрые феромоны, которые позволяют делать выводы учитывая лишь количество информации, а не ее содержание. Но в ДНК этих феромонов нет, они в могзу появляются из книг. И нет никакого смысла выцарапывать содержание этих книг из мозга.

Солеваров
Posts: 3782
Joined: Wed Jan 07, 2004 5:46 am
Location: Москва

Post by Солеваров » Sat Mar 18, 2006 5:26 pm

NO wrote:
Солеваров wrote:давайте с учетом резонного замечания Neuronus-а анатомируем сей common sens
Если в партии 10 яблок и 6 из них гнилые, то не нужно знать какие оставшиеся 4 чтобы ответить на вопрос каких там яблок больше, хороших или плохих.
- :) ну да ну да, модель вашей задачи полностью совпадает с вашими убеждениями в правоте применяемой логики. Не все то что "логично" является критерием правильности (см. заметку Neuronus-а).
Для того чтобы добраться до источника - надо плыть против течения. Verba at nula.

NO
Posts: 1815
Joined: Fri Jan 30, 2004 7:43 pm
Contact:

Post by NO » Sat Mar 18, 2006 5:40 pm

Логично значит соответствует исходным данным и правилам логики. В этом смысле "правильно". Никаких предположений о соответствии никакой другой, кроме известной согласно данным, действильности не делается или делается потом, явно и отдельно.

А что значить правильно по Нейронусу? Повторяет формулировку Создателя и гарантированно что описываемая система никогда не сломается?

Neuronus
Posts: 233
Joined: Tue May 25, 2004 11:25 am
Location: Russia, Saint-Petersburg
Contact:

Post by Neuronus » Sat Mar 18, 2006 9:09 pm

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

я внятен?
Не совсем внятен.
Уж прости, но давай по порядку...

У нас есть текст и мы стоим индекс слов. Обычно, в реляционных БД индекс стоят как хеш (MD5 или другой - с обязательным условием монотонного возрастания и уникальности). Т.е. - индекс по словам текста будет выглядеть как набор уникальных для каждого слова идентификаторов. Для построения индекса по паре слов, надо иметь идентификаторы обоих слов из пары и ПО ТОМУ ЖЕ алгоритму, построить новый идентификатор для пары. При этом памяти расходуется = P+1 (где P - пара индексов), т.е. не много. Для тройки слов = (P+1)+1.

Если тебя волнует проблема комбинаторного "взрыва", то приведи другой пример! И будь более "внятен"...

Заранее благодарен!

P.S.
Однако, мы уходим от заявленной темы :(
Знания, не рождённые опытом, бесплодны и полны ошибок.

Иван FXS
Posts: 2002
Joined: Thu Jan 15, 2004 11:20 am
Location: Москва - Нижний Новгород
Contact:

Post by Иван FXS » Sat Mar 18, 2006 9:48 pm

Neuronus wrote: Обычно, в реляционных БД индекс стоят как хеш(
- мне всегда казалось, что индексы строят как бинарные деревья.

Кстати, реляционность и индекс - как связаны? Индексируют ведь не БАЗУ, а - ТАБЛИЦУ.

Впрочем, Egg говорил даже не об индексе таблицы, а - об индеке ТЕКСТА. Этот "индекс" - терминологии БД - является не индексом таблицы, но - самой таблицей!
Last edited by Иван FXS on Sat Mar 18, 2006 11:53 pm, edited 1 time in total.

Egg
Posts: 1544
Joined: Fri Jan 02, 2004 9:13 pm
Location: Somewhere, EU
Contact:

Post by Egg » Sat Mar 18, 2006 10:07 pm

Neuronus wrote:Если тебя волнует проблема комбинаторного "взрыва", то приведи другой пример! И будь более "внятен"...
да меня ничего не волнует, ты камни видел? - вот, камни - это мои тотемные животные... и с внятностью будут проблемы, поскольку писать очень подробно - долго (а точно - бесконечно долго), поэтому и пробую контекст наш взаимный на ощупь...
ну, если с этим понятно, то вернемся к моим ассоциациям по поводу Хокинса...

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

а вот здесь, плиз, объясни мне, где есть полиномиальное решение, я буду тебе крайне признателен...
Knowledge Is Power!

Солеваров
Posts: 3782
Joined: Wed Jan 07, 2004 5:46 am
Location: Москва

Post by Солеваров » Sun Mar 19, 2006 7:25 pm

кое что о текстах :wink: - http://about.vslovar.org.ru/
Для того чтобы добраться до источника - надо плыть против течения. Verba at nula.

Neuronus
Posts: 233
Joined: Tue May 25, 2004 11:25 am
Location: Russia, Saint-Petersburg
Contact:

Post by Neuronus » Sun Mar 19, 2006 9:13 pm

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

имеем текст типа:
<Корова><съела><траву>.
<Трудно><жить><на><свете><пионеру><Пете>,<бъет><его><по><роже><пионер><Сережа>.
<А><это><поможет>,<спросила><царевна><Несмеяна>,<неуверенно><затягиваясь>?

имеем произвольное высказывание:
<Царевна><курит><траву>

Решение, на реляционной БД:

Строим таблички

WordBase
------------
UID : long [PK] -- Primary Key
WB: String -- Основа слова; для "корова" будет "коров"

TextIndex
-----------
UID: long [PK] -- Primary Key
TextID: long -- Идентификатор текста
WordBaseUID: long [FK->WordBase(UID)] -- Ссылка на идентификатор слова
WordPos: long -- Позиция слова в тексте
WordWeight: float -- Вес слова в тексте

-- Естественно, сам текст надо где-то сохранить, а в базе держать только его индекс

Наполняем таблички

В WordBase надо поместить словарик (3000-5000) слов.
Прежде чем работать с каким либо текстом, его надо проиндексировать - наполнить табличку TextIndex (в примере идентификатор текста = 0001).

В нашем примере таблички будут наполнены так:

WordBase
----------------
UID | WB
----------------
0001 | коров
0002 | съел
0003 | трав
0004 | труд
............

TextIndex
-----------------------------------------------------------------
UID | TextID | WordBaseID | WordPos | WordWeight
-----------------------------------------------------------------
0001 | 0001 | 0001 | 1 | x
0002 | 0001 | 0002 | 2 | x
0003 | 0001 | 0003 | 3 | x
0004 | 0001 | 0004 | 4 | x
.............


Теперь, необходимо проиндексировать высказывание:
<Царевна><курит><траву>
И получить идентификатор каждого слова высказывания и его местоположение в тексте ?

Если так, тогда

1) Делим высказывания на слова
2) Выделяем основы каждого слова
3) Выполняем выборку для каждой основы слова в высказывании

SELECT ti.TextID, ti.WordPos, wb.WB
FROM TextIndex ti, WordBase wb
WHERE
wb.WB = <основа очередного слова высказывания>
-- можно использовать wb.WB LIKE '%<основа слова>%'
AND
ti.WordBaseID = wb.UID

Если (3) повторить для каждого слова из высказывания - получим 3-ри различных выборки по одной записи (или более если проиндексированы другие тексты). Эти выборки можно объединять по разному.

Например, используя UNION
SELECT ...
UNION
SELECT ...
...
Мы получим все ссылки на любые упоминания в текстах любых слов высказывания.

Используя OR (IN)
...
WHERE
wb.WB <основа слова #1>
OR
wb.WB <основа слова #2>
...

(
...
WHERE
wb.WB IN (<основа слова #1>,<основа слова #2>,...)
...

)
Мы получим все ссылки в текстах на любое из слов высказывания.

Используя AND
...
WHERE
wb.WB <основа слова #1>
AND
wb.WB <основа слова #2>
...
Мы получим только те тексты где есть включение всех слов высказывания.

P.S.
Позиция слова высказывания в тексте будет в поле WordPos

P.P.S.
Или я опять чего-то не понял, или у нас настолько разные "контексты", что спасет ситуацию только пиво :)
Знания, не рождённые опытом, бесплодны и полны ошибок.

Иван FXS
Posts: 2002
Joined: Thu Jan 15, 2004 11:20 am
Location: Москва - Нижний Новгород
Contact:

Post by Иван FXS » Sun Mar 19, 2006 9:52 pm

Дык, это Вы описали процедуру ПОИСКА, совершаемую для того, чтобы разрешить ОДИН - невесть откуда взявшийся - запрос!

А если Вам нужно ЯВНО построить всю сеть ... не побоюсь даже сказать: Ассоциативно-Семантическую сеть! ... чтобы, например, сделать какие-то заключения о ее топологи - вот тут и происходит тот самый пресловутый "комбинаторный взрыв"!

Neuronus
Posts: 233
Joined: Tue May 25, 2004 11:25 am
Location: Russia, Saint-Petersburg
Contact:

Post by Neuronus » Sun Mar 19, 2006 10:17 pm

Не понял :(

Что значит "построить ЯВНО всю сеть"?
Поясните пожалуйста...

P.S.
Уж простите, я на восприятие витееватостей в изложении - туговат :oops:
Знания, не рождённые опытом, бесплодны и полны ошибок.

Иван FXS
Posts: 2002
Joined: Thu Jan 15, 2004 11:20 am
Location: Москва - Нижний Новгород
Contact:

Post by Иван FXS » Sun Mar 19, 2006 10:29 pm

Это значит - заполнить табличку:

ASNIndex
-----------
UID: long [PK] -- Primary Key
WordBaseUID1: long [FK->WordBase(UID)] -- Ссылка на идентификатор 1-го слова
WordBaseUID2: long [FK->WordBase(UID)] -- Ссылка на идентификатор 2-го слова
F1: - какая-то информация о вхождении(-иях) пары слов
.....
Fn: - какая-то информация о вхождении(-иях) пары слов

Neuronus
Posts: 233
Joined: Tue May 25, 2004 11:25 am
Location: Russia, Saint-Petersburg
Contact:

Post by Neuronus » Sun Mar 19, 2006 10:51 pm

Простите, опять не понял :(
А зачем так сложно?

Вы лучше скажите, не как надо заполнить табличку (как ее заполнить и какая она будет, я разберусь) ...
Скажите, что надо получить в результате? :)

Заранее благодарен.

Кстати, задача стояла не в построении семантического дерева.
Задача - проиндексировать текст/слова/выражения.
Если Egg имел в виду именно построение "ассоциативно-семантической-сети", то он об этом скажет сам.
Тогда, мы и построим эту "сеть", добавив дополнительные таблички :)
А пока, мы строим индексы...
Last edited by Neuronus on Sun Mar 19, 2006 11:17 pm, edited 1 time in total.
Знания, не рождённые опытом, бесплодны и полны ошибок.

NO
Posts: 1815
Joined: Fri Jan 30, 2004 7:43 pm
Contact:

Post by NO » Sun Mar 19, 2006 10:57 pm

Neuronus:
Так будет очень медленно. UNION получит несортированные списки значений WordPos.

Locked

Who is online

Users browsing this forum: No registered users and 6 guests