哪个数据库可用于存储来自NLP引擎的已处理数据

时间:2017-05-24 07:55:32

标签: mysql database nlp information-retrieval information-extraction

我正在考虑以文件的形式获取非结构化数据,对其进行处理并将其存储在database中以供检索。 数据将采用自然语言,获取信息的查询也将采用自然语言。 例如:数据可能"玫瑰红色" ,查询可能是"玫瑰的颜色是什么?"

我查看了几个nlp系统,更多地关注open-source信息提取和关系提取系统,以下内容似乎很容易且快速启动: https://www.npmjs.com/package/mitie

这可以以(字,类型)对的形式提供数据。它还提供了运行处理结果的关系(检查站点示例)。

我想知道sql是否良好database来保存此信息。为了检索信息,我还需要将自然语言查询转换为某种(单词,含义)对 对于使用sql,我必须编写一个将自然语言转换为sql个查询的图层。

请建议是否有任何在这种情况下运行良好的开源database。如果不是MITIE,我可以接受与其他open-source信息提取和关系提取系统一起使用的数据库的建议。

1 个答案:

答案 0 :(得分:2)

SQL不适合您的问题。您可以使用NLP或规则来提取关系,然后将该关系存储在三重存储或图形数据库中。有许多好的开源图形数据库,如Neo4j和Apache Titan。您可以在Google上查询三重商店,我认为Apache Jena应该是一个不错的选择。存储数据后,您可以使用任何图形查询语言(如Gremlin或Cypher等)(如SQL)查询图形。请注意,系统的核心是知识图。

您还可以在非结构化数据上设置基于Lucene / Solr的搜索系统,这可以帮助您结合图形数据库回答查询。所有这些(NLP,IR,Graph DB / Triplestores等)将共存以解决您的问题。

这就像一个合奏。没有银子弹:)不过要先看看Graph DB或Triple-store。