Nlp 基于Java的文本分类

Nlp 基于Java的文本分类,nlp,machine-learning,ontology,dbpedia,Nlp,Machine Learning,Ontology,Dbpedia,我需要将文本或单词分类到特定类别。例如,文本“平克·弗洛伊德”应归类为“音乐”或“维基媒体”为“技术”,或“爱因斯坦”为“科学” 如何做到这一点?有没有一种方法可以让我用同样的方法?如果没有,数据库必须不时地进行培训,对吗?这是一个经过充分研究的问题。除非你有特别的需要推广你自己的技术(提示:这通常是一个困难的问题),否则使用,或者可能是建立在它之上的一个在线服务(例如TSO),将是一个不错的选择。另一种在线服务是。是的,DBpedia可能是解决此类问题的好选择。你必须 挤压DBpedia类别结

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


如何做到这一点?有没有一种方法可以让我用同样的方法?如果没有,数据库必须不时地进行培训,对吗?

这是一个经过充分研究的问题。除非你有特别的需要推广你自己的技术(提示:这通常是一个困难的问题),否则使用,或者可能是建立在它之上的一个在线服务(例如TSO),将是一个不错的选择。另一种在线服务是。

是的,DBpedia可能是解决此类问题的好选择。你必须

  • 挤压DBpedia类别结构,以获得正确的粒度(例如,Pink Floyd列在
    Capitol Records Artisters
    和许多其他类别下,但不直接列在
    Music
    下)。也许选择几个大的类别,试着找出你的概念是否被间接地列在其中
  • 规范文本;爱因斯坦被列为
    Albert Einstein
    ,而不是
    Einstein
  • 处理由于描述多个概念和属于多个顶级类别的概念的术语而产生的歧义
  • 这些问题可能可以通过机器学习来解决,但我只看到,如果您从运行的文本中提取这些术语以及相关的特性,这些问题是如何解决的。但在这种情况下,您也可以将整个文本分类为步骤1中选择的类别之一

  • 将您的目录映射到DBPedia
  • 使用lucene选定的DBPedia类别编制索引,并使用类别名称标记数据
  • 搜索您的数据-标记化,规范化将由Lucene完成
    这种方法在某种程度上与KNN分类有关

    这是个问题。这是一个很好的介绍。我认为您不需要DBPedia也不需要NER,只需要一个小的带标签的训练数据集,为所有类提供足够多的带标签的示例。

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

    您可以查看查询Dbpedia的端点:

    此外,学习SPARQL的基本语法,以便从以下链接查询端点:

    实际上,命名实体识别/分类是在运行文本时完成的任务,通常使用更广泛的类别来完成。你是说通过在每个类别的子类别和文章标题中构建一个Lucene
    文档来索引所有类别吗?如果是这样,那就有点像kNN,是的。我为我的论文研究做了一些类似的事情,尽管数据不同,但确实有效。是的,你理解正确。我用它来创建维基百科分类的语义空间,非常有用。谢谢你的回复。但是我该如何对dbpedia结构进行分类呢?正如你所说,这不是我喜欢的类别。我想如果我想查询随机数据,它可以正常工作。@Madhura:DBpedia在其层次结构的顶部有类别
    Music
    Science
    。你必须使用一些图形算法来找到它们。机器学习只有在上下文中使用这些术语时才能真正帮助你,否则这是一项基本的字典查找任务,可能需要一些模糊猜测来匹配拼写错误和“爱因斯坦”与“阿尔伯特爱因斯坦”的问题。你从哪里得到你需要分类的术语?阅读文本还是只是一大堆术语?阅读文本,Thien。我将从句子中提取可能的名词和形容词,并根据这些术语对文本进行分类。我是否可以遵循任何教程来应用此模型?尝试斯坦福在线NLP课程的第3周: