Сохранить информацию как сеть данных

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

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

Дальнейшая информация:

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

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

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

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

1 ответ

Решение

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

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

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

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

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

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

Другие вопросы по тегам