Сохранить информацию как сеть данных - PullRequest
1 голос
/ 19 января 2012

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

Именно поэтому я ищу тип файла, который хранит данные в виде сети связанных ключевых слов . Какой тип файла или система базы данных могут достичь этого?

Дополнительная информация:

В качестве информации будут использоваться Википедия, поиск в Google и факты, рассказанные человеком во время разговора.

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

Только один пример: соединения должны иметь вес. Запрос информационной сети должен увеличить вес используемых соединений.

Я ожидаю, что ChatBot сможет получить реальные ассоциации (или идеи), используя сеть данных.

1 Ответ

2 голосов
/ 19 января 2012

В качестве дополнения к моим комментариям:

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

Похоже, вы спрашиваете, как вы можете [постоянно] хранить эту информацию на диске (а не в памяти). Это полностью зависит от того, какие ограничения вам нужны. Существует «База данных графиков», которая более приспособлена для хранения графиков, чем, скажем, реляционные или иерархические базы данных, и будет работать намного лучше, чем, скажем, перенести вашу матрицу смежности или список в плоский файл. Вот запись в Википедии:

http://en.wikipedia.org/wiki/Graph_database

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

Edit-вам, вероятно, придется проконсультироваться с кем-то, кто знает больше о графовых базах данных. Вполне возможно, что есть способы загрузки кусков графа из базы данных без загрузки всего этого. Если это ваша проблема, вы можете реформировать вопрос о работе с большими графами, хранящимися в базах данных графов, и опубликовать его снова, помеченные graphs, databases, algorithms, и тому подобное, и просто опубликовать его снова более конкретным образом.

...