Предложения по улучшению алгоритма контекстного поиска? - PullRequest
0 голосов
/ 03 декабря 2009

Я занимаюсь разработкой приложения, которое обеспечивает поиск по контексту. Приложение находится на стадии разработки.

Мне нужно знать, будет ли достаточно простой структуры графа и алгоритма обхода или мне следует использовать нейронную сеть. Я хочу пойти с самым долгосрочным решением.

Я имею в виду представление отдельных понятий простыми узлами. Предположим, я хочу найти цвет волос Джона (черный). Я думаю, что мне нужно четыре концептуальных узла: Джон, волосы, цвет и черный. Вот два алгоритма - какой из них лучше всего подходит для моей задачи?

Алгоритм обхода

См. Эту схему для справки: http://chadjohnson.ath.cx:8080/static/concept_map.png

  1. Ввод (как-то так), по порядку: 1. Человек 2. Джон 3. Волосы 4. Цвет
  2. Найдите узел графа, соответствующий 'person'.
  3. Просмотрите все узлы, смежные с узлом person, и найдите узел john.
  4. Просмотрите все узлы, смежные с узлом 'john', и найдите узел, который имеет связи как с узлом 'hair', так и с узлом 'color'.

Другой вариант - представить «цвет волос» в качестве своего собственного концептуального узла, сделав его так, чтобы «светлые волосы» были понятием «цвет волос». Тогда шаг (4) станет

Посмотрите на все узлы, смежные с узлом "Джон", и найдите узел, который является понятием "цвет волос".

Алгоритм нейронной сети

  1. Ввод, в произвольном порядке: 1. человек 2. джон 3. волосы 4. цвет
  2. Обучите сеть, чтобы сопоставить эти конкретные данные с понятием «светлые волосы».

Любая обратная связь будет оценена. Спасибо!


Важной целью будет способность ответить на вопрос: «Какого цвета волосы у Джона?»

Итак, я хочу иметь возможность хранить понятия «личность», понятия разных людей, понятие волос, понятие цвета, понятия нескольких разных цветов, а затем я хочу связать разных людей с разными краски для волос.

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

Вот где мой вопрос вступает в игру: обход против нейронной сети.

Если это изменит ваш ответ, будущие этапы будут такими:

  1. компьютер, изучающий грамматику языка с нуля
  2. компьютер для ответов на вопросы, использующий знание грамматики языка
  3. компьютер для перевода предложений с одного языка на другой, правильно, исходя из контекста и имеющихся знаний. В самой простой форме он будет хранить концепцию, ассоциировать слово для данного языка с концепцией и ассоциировать другое слово для другого языка с той же концепцией. Чтобы перевести, слово для целевого языка, связанного с концепцией, будет найдено и возвращено (см. http://chadjohnson.ath.cx:8080/static/language_translation.png).

1 Ответ

0 голосов
/ 03 декабря 2009

Я сомневаюсь, что в этом случае вы получите что-то разумное от нейронных сетей. Рассуждения на основе графиков более вероятны, если я правильно понимаю, что вы пытаетесь сделать. Трудно предложить что-то конкретное, не зная деталей задачи, которую вы пытаетесь решить.

Возможно, что-то в области запросов полуструктурированных баз данных имеет значение.

...