我正在考虑以文件的形式获取非结构化数据,对其进行处理并将其存储在database
中以供检索。
数据将采用自然语言,获取信息的查询也将采用自然语言。
例如:数据可能"玫瑰红色" ,查询可能是"玫瑰的颜色是什么?"
我查看了几个nlp
系统,更多地关注open-source
信息提取和关系提取系统,以下内容似乎很容易且快速启动:
https://www.npmjs.com/package/mitie
这可以以(字,类型)对的形式提供数据。它还提供了运行处理结果的关系(检查站点示例)。
我想知道sql
是否良好database
来保存此信息。为了检索信息,我还需要将自然语言查询转换为某种(单词,含义)对
对于使用sql
,我必须编写一个将自然语言转换为sql
个查询的图层。
请建议是否有任何在这种情况下运行良好的开源database
。如果不是MITIE,我可以接受与其他open-source
信息提取和关系提取系统一起使用的数据库的建议。
答案 0 :(得分:2)
SQL不适合您的问题。您可以使用NLP或规则来提取关系,然后将该关系存储在三重存储或图形数据库中。有许多好的开源图形数据库,如Neo4j和Apache Titan。您可以在Google上查询三重商店,我认为Apache Jena应该是一个不错的选择。存储数据后,您可以使用任何图形查询语言(如Gremlin或Cypher等)(如SQL)查询图形。请注意,系统的核心是知识图。
您还可以在非结构化数据上设置基于Lucene / Solr的搜索系统,这可以帮助您结合图形数据库回答查询。所有这些(NLP,IR,Graph DB / Triplestores等)将共存以解决您的问题。
这就像一个合奏。没有银子弹:)不过要先看看Graph DB或Triple-store。