Сохранить информацию как сеть данных
Моя цель - написать интеллектуальный чат-бот. Он должен сохранять известную информацию, вероятно, для человеческого мозга.
Вот почему я ищу тип файла, который хранит данные в виде сети связанных ключевых слов. Какой тип файла или система базы данных могут достичь этого?
Дальнейшая информация:
В качестве информации будут использоваться Википедия, поиск в Google и факты, рассказанные человеком во время разговора.
Я мог бы дать конкретную информацию о моих требованиях и пожеланиях, но я не знаю, существует ли вообще какой-либо подход к этому. Может быть, есть более полезные спецификации, как мои мысли.
Только один пример: соединения должны иметь вес. Запрос информационной сети должен увеличить вес используемых соединений.
Я ожидаю, что ChatBot сможет получить реальные ассоциации (или идеи), используя сеть данных.
1 ответ
В качестве дополнения к моим комментариям:
График определенно является тем способом, который вы хотите использовать с точки зрения представления данных... он идеально соответствует вашему описанию проблемы.
Похоже, вы спрашиваете, как вы можете [постоянно] хранить эту информацию на диске (а не в памяти). Это полностью зависит от того, какие ограничения вам нужны. Существует "База данных графиков", которая более приспособлена для хранения графиков, чем, скажем, реляционные или иерархические базы данных, и будет работать гораздо лучше, чем, скажем, перенести вашу матрицу смежности или список в плоский файл. Вот запись в Википедии:
http://en.wikipedia.org/wiki/Graph_database
Теперь возникает проблема того, что происходит, когда у вас так много узлов и ребер, что вы не можете загрузить их все в память одновременно, и, к сожалению, если у вас есть узлы, которые связаны с каждым другим узлом, это может быть проблемой (потому что вы не сможете загрузить полный / действительный график. Я не могу ответить на этот вопрос сейчас, но я уверен, что есть парадигмы для решения этой проблемы. Я обновлю свой ответ после некоторого поиска.
Edit-вам, вероятно, придется проконсультироваться с кем-то, кто знает больше о графовых базах данных. Вполне возможно, что есть способы загрузки кусков графа из базы данных без загрузки всего этого. Если это ваша проблема, вы можете изменить вопрос о работе с большими графиками, хранящимися в базах данных графиков, и опубликовать его снова, помеченные как graphs
,databases
,algorithms
и тому подобное, и просто опубликуйте это снова более определенным образом.