如何使用像fasttext这样的NLP获取文本的一般类别?

如何使用像fasttext这样的NLP获取文本的一般类别?,nlp,wikipedia,fasttext,categorization,google-natural-language,Nlp,Wikipedia,Fasttext,Categorization,Google Natural Language,我正在开发一个应用程序,我想使用自然语言处理从文本中推断一般类别。我是自然语言处理(NLP)新手 Google Natural Language API使用了一组合理的高级内容类别,如“/艺术与娱乐“,“/爱好与休闲”等: 我希望使用开源实现这一点,并希望使用一些通用类别,如维基百科高级分类: fasttext似乎是一个不错的选择,但我正在努力寻找用于培训的语料库。我确实看到了wikipedia的word vector文件,可以下载完整的wikipedia,但是我没有看到一个简单的方法来为f

我正在开发一个应用程序,我想使用自然语言处理从文本中推断一般类别。我是自然语言处理(NLP)新手

Google Natural Language API使用了一组合理的高级内容类别,如“/艺术与娱乐“,“/爱好与休闲”等:

我希望使用开源实现这一点,并希望使用一些通用类别,如维基百科高级分类:

fasttext似乎是一个不错的选择,但我正在努力寻找用于培训的语料库。我确实看到了wikipedia的word vector文件,可以下载完整的wikipedia,但是我没有看到一个简单的方法来为fasttext的文章添加分类标签


是否有一些开源工具可以识别给定文本的高级通用类别?或者是否有我可以使用的培训数据集?

我认为您试图找到的是一个已经免费培训的模型,该模型具有通用类别,您可以对文本进行分类。但这将很难找到,因为类别的性质,通常是服务类

在这一点上,我认为你有两个选择:

>P>使用像谷歌云自然语言API这样的服务,这是一个服务,它为你提供了一个已经训练了数百万个数据点的模型,你可以将它集成到你的应用程序中,只需要考虑

  • 首先需要收集一个所需的数据集,该数据集包含所有要分类的文本,以及这些文本所在的类别(或操纵数据集以根据文本添加所需的类别),然后可以使用库(如或)操纵数据并训练模型进行文本分类


  • 我想你要找到的是一个已经免费训练过的模型,它有一般的分类,你可以对文本进行分类。但这将很难找到,因为类别的性质,通常是服务类

    在这一点上,我认为你有两个选择:

    >P>使用像谷歌云自然语言API这样的服务,这是一个服务,它为你提供了一个已经训练了数百万个数据点的模型,你可以将它集成到你的应用程序中,只需要考虑

  • 首先需要收集一个所需的数据集,该数据集包含所有要分类的文本,以及这些文本所在的类别(或操纵数据集以根据文本添加所需的类别),然后可以使用库(如或)操纵数据并训练模型进行文本分类

  • 我建议使用变压器库中的“零炮分类”管道。这是非常容易使用,并有体面的准确性,因为你不需要训练任何东西自己。下面是一个交互式示例,以查看它在没有编码的情况下的功能。下面是一个示例,演示如何在Python中使用它。您可以从笔记本中复制粘贴代码

    这看起来像这样:

    # pip install transformers==3.4.0  # pip install in terminal
    from transformers import pipeline
    
    classifier = pipeline("zero-shot-classification")
    
    sequence = "I like just watching TV during the night"
    candidate_labels = ["arts", "entertainment", "politics", "economy", "cooking"]
    
    classifier(sequence, candidate_labels)
    
    # output: 
    'labels': ['entertainment', 'economy', 'politics', 'arts', 'cooking'],
    'scores': [0.939170241355896, 0.13490302860736847, 0.011731419712305069, 0.0025395064149051905, 0.00018942927999887615]
    
    如果您感兴趣,这里有。

    我建议使用变压器库中的“零炮分类”管道。这是非常容易使用,并有体面的准确性,因为你不需要训练任何东西自己。下面是一个交互式示例,以查看它在没有编码的情况下的功能。下面是一个示例,演示如何在Python中使用它。您可以从笔记本中复制粘贴代码

    这看起来像这样:

    # pip install transformers==3.4.0  # pip install in terminal
    from transformers import pipeline
    
    classifier = pipeline("zero-shot-classification")
    
    sequence = "I like just watching TV during the night"
    candidate_labels = ["arts", "entertainment", "politics", "economy", "cooking"]
    
    classifier(sequence, candidate_labels)
    
    # output: 
    'labels': ['entertainment', 'economy', 'politics', 'arts', 'cooking'],
    'scores': [0.939170241355896, 0.13490302860736847, 0.011731419712305069, 0.0025395064149051905, 0.00018942927999887615]
    

    如果您感兴趣,这里有。

    很吸引人。我会查一查。非常感谢。迷人的。我会查一查。非常感谢。