是否有任何免费数据库存储关键字和其他相关关键字,以确定应用程序以确定语义相关性?

时间:2011-11-27 15:09:05

标签: database tags keyword relevance

这看起来像是寻找有价值的资产,但由于我们有很多东西的免费替代品,我对此很乐观。

存储两个键值对的数据库,如

键值

键上下文值

对于收集数据并希望对其进行标记或搜索可能相关的记录的Web开发人员非常有用。

这样的数据表甚至可以是他们想要存储的标准化形式。

如果您曾听说可以免费复制数据表,请分享。谢谢。

5 个答案:

答案 0 :(得分:3)

你可以使用WordNet:它包含(英语)单词(分为名词,动词,形容词和副词)之间的一般关系。关系是在synsets(同义词集)之间,并且描述了这样的关系:“bus”是“车辆”,“wheel”是“car”的一部分。

注意:要在WordNet词典中查找单词,您需要使用lemmas(单词的基本形式),所以如果您想从自由文本中查找单词(例如网站),你必须首先计算单词的引理。您可以通过应用一些自然语言处理(NLP)技术或创建自己的启发式方法来实现此目的。

除了synset关系,WordNet还包含同义词的简短定义(光泽),您可以使用它来获得更多上下文。此外,Sense Disambiguation技术可以帮助您决定使用哪种多义词,这也是提供上下文的一种形式。

如果您需要比WordNet提供的更多上下文(英语单词的一般含义之间的一般关系),您应该找到一个描述概念之间语义关系的合适本体。您必须将文本映射到它所涉及的概念(同样,NLP技术可以帮助解决这个问题)

示例本体:SUMOMSOetc.

答案 1 :(得分:1)

您可以使用Lucene(或任何text-search engine)来存储您的文档,并结合自定义stemmer索引基于意思(而不是单词变体)。

通常,词干分析器用于将单词的所有变体转换为基词词干。例如,虽然文档是存储和检索文本原样,但任何单词"唱歌,唱歌,唱歌,演唱"将索引作为"唱",所以当使用搜索词"唱"进行搜索时,你会得到所有包含唱歌,唱歌的文件,唱歌或唱歌。

同样,搜索词也可以被删除,所以搜索唱歌,唱歌,唱歌或唱歌等任何一个。会搜索,好像"唱"是搜索词。

标准词干分析器处理单词的常用英语变体,但您可以创建一个基于含义的词汇。例如,您可能会创建一个阻止任何"问题,问题或投诉的词干分析器。对于你想要的所有单词"问题"等等#34;链接"。

使用词干分析器的优点是所有与搜索相关的繁重工作都由文本搜索引擎完成(此外,文本搜索引擎速度极快!)。

温来实现,您可以使链接数据驱动,或者根据数据库中的数据生成词干分析器的代码,或者使其动态化并在搜索/索引操作完成时查找数据库,或介于两者之间 - 缓存值并定期刷新它们。

答案 2 :(得分:0)

根据您的要求,您可以查找map-reduce范例的不同实现。最着名的是Hadoop,特别是Hadoop MapReduce。虽然这是一个框架而不是数据库,但它完全符合您的要求 - 以key=value对方式存储和处理数据。这是用于构建大型可扩展系统的产品。如果您需要更简单的东西,那么存在一些较小的实现,例如基于PHP(在MySQL之上),甚至是“简单”的MySQL聚合,在大多数情况下可以模仿MapReduce,在这种情况下您不需要分布式系统大量数据。

答案 3 :(得分:0)

这听起来很像你在谈论本体论。见What is an Ontology (Database?)?

在我看来,本体提供了一种非常强大的方式,以自然和有机的方式构建现实世界实体和关系的复杂模型。实体/概念之间的关系可以在模型中捕获,随着关系类型的数量增加,可以编码越来越复杂的规则来利用这一知识体系。

答案 4 :(得分:0)

格式听起来像JSON对象=>所以我查看了wikipedia并找到了 CouchDB - 一个使用JSON存储数据的开源数据库