4

我需要将文本或单词分类到特定类别。例如,文本“Pink Floyd”应归类为“音乐”或“维基媒体”归类为“技术”或“爱因斯坦”归类为“科学”。

如何才能做到这一点?有没有办法可以使用DBpedia?如果没有,数据库必须不时训练,对吗?

4

5 回答 5

3

是的,对于此类问题,DBpedia 可能是一个不错的选择。你必须

  1. 压缩 DBpedia 类别结构,以便获得正确的粒度(例如,Pink Floyd 列在Capitol Records artists和许多其他类别之下,但不直接列在 之下Music)。也许选择几个大类别,并尝试找出您的概念是否间接列在其中;
  2. 规范化文本;爱因斯坦被列为Albert Einstein,而不是einstein
  3. 处理由于描述多个概念和属于多个顶级类别的概念的术语引起的歧义。

这些问题可能可以使用机器学习来解决,但我只有从运行文本中提取这些术语以及相关特征才能看到它是如何解决的。但在这种情况下,您不妨将整个文本分类为您在步骤 1 中选择的类别之一。

于 2011-05-03T10:30:17.763 回答
3

这是一个文本分类问题。Manning、Raghavan 和 Schütze 的信息检索书籍章节是一个很好的介绍。我认为您不需要 DBPedia 或 NER,只需一个带有足够标记示例的小型标记训练数据集即可。

于 2011-05-04T18:29:10.667 回答
1

这是经过充分研究的命名实体识别问题。除非您特别需要推出自己的技术(提示:这通常是一个难题),否则使用Gate或基于它的在线服务之一(例如 TSO 的Data Enrichment Service)将是一个不错的选择。另一种在线服务是OpenCalais

于 2011-05-03T09:52:58.230 回答
1
  1. 将您的类别映射到 DBPedia。
  2. 使用 lucene 选择 DBPedia 类别进行索引,并使用您的类别名称标记数据。
  3. 搜索您的数据 - 标记化、规范化将由 Lucene 完成。

这种方法在某种程度上与 KNN 分类有关。

于 2011-05-04T04:28:31.600 回答
1

是的,DBpedia 是文本分类的不错选择,因为您可以使用它的谓词/关系来查询和提取特定类别的有意义信息。

您可以查看用于查询 Dbpedia 的端点:http: //dbpedia.org/sparql

此外,通过以下链接了解 SPARQL 的基本语法以在端点上进行查询:http: //www.w3.org/TR/rdf-sparql-query/

于 2014-04-15T06:09:07.223 回答