Machine learning 基于示例学习用关键词标记句子

Machine learning 基于示例学习用关键词标记句子,machine-learning,nlp,Machine Learning,Nlp,我有一组(~50k个元素)小文本片段(通常是一个或两个句子),每个片段都带有一组从~5k个单词列表中选择的关键字 我将如何实现一个系统,从这个例子中学习,然后可以用相同的关键字集标记新句子?我不需要代码,我只是在寻找一些关于如何实现这一点的指针和方法/论文/可能的想法。根据您的描述,您正在寻找某种形式的监督学习。这类方法有很多,例如朴素贝叶斯分类器、支持向量机(SVM)、k近邻(kNN)等 对于文本的数字表示,您可以选择一包单词或频率列表(基本上,每个文本都由一个向量表示,该向量位于一个由所有单

我有一组(~50k个元素)小文本片段(通常是一个或两个句子),每个片段都带有一组从~5k个单词列表中选择的关键字


我将如何实现一个系统,从这个例子中学习,然后可以用相同的关键字集标记新句子?我不需要代码,我只是在寻找一些关于如何实现这一点的指针和方法/论文/可能的想法。

根据您的描述,您正在寻找某种形式的监督学习。这类方法有很多,例如朴素贝叶斯分类器、支持向量机(SVM)、k近邻(kNN)等

对于文本的数字表示,您可以选择一包单词或频率列表(基本上,每个文本都由一个向量表示,该向量位于一个由所有单词组成的高维向量空间中)


顺便说一句,用一个关键字标记文本(一个分类任务)要比将它们分配到五个关键字(可能的类的数量以组合方式爆炸)容易得多。

如果我理解你的意思,你需要的是一对文档的相似性度量。我最近一直在使用它对文档进行聚类,效果非常好。我认为这里可以使用TF-IDF值,并为每个文档的相应TF-IDF值计算a

  • TF-IDF计算
  • TF-IDF
    代表
    术语频率-逆文档频率
    。以下是如何计算的定义:

    Compute TF-IDF values for all words in all documents                                    
        - TF-IDF score of a word W in document D is
    
                 TF-IDF(W, D) = TF(W, D) * IDF(W) 
    
          where TF(W, D) is frequency of word W in document D
                IDF(W) = log(N/(2 + #W))
                N  - number of documents
                #W - number of documents that contain word W
       
        - words contained in the title will count twice (means more important)
        - normalize TF-IDF values: sum of all TF-IDF(W, D)^2 in a document should be 1.
    
    根据您使用的技术,这可以通过不同的方式实现。我已经使用一个嵌套字典在Python中实现了它。首先我使用文档名
    D
    作为关键字,然后对于每个文档
    D
    我有一个嵌套字典,其中单词
    W
    作为关键字,每个单词W都有一个相应的数值,即计算出的
    TF-IDF

  • 相似性计算
  • 假设您已经计算了
    TF-IDF
    值,并且希望比较两个文档
    W1
    W2
    的相似程度。为此,我们需要使用一些相似性度量。有很多选择,每一个都有优点和缺点。在这种情况下,IMO,和将工作良好。这两个函数都将
    TF-IDF
    和两个文档的名称
    W1
    W2
    作为其参数,并且它将返回一个数值,指示这两个文档的相似程度

    计算两个文档之间的相似性后,您将获得一个数值。值越大,两个文档
    W1
    W2
    越相似。现在,根据您想要实现的目标,我们有两种场景

    • 如果希望一个文档仅分配最相似文档的标记,则将其与所有其他文档进行比较,并将最相似文档的标记分配给新文档
    • 您可以设置一些阈值,并且可以指定与相关文档的相似度大于阈值的文档的所有标记。如果设置
      threshold=0.7
      ,则所有文档W将具有所有已标记文档的标签
      V
      ,其
      相似性(W,V)>0.7
    我希望有帮助


    祝你好运:)

    我真的认为值得用一个例子详细说明一下,因为我不确定你指的是什么。5K单词很多,包含了大部分口语(!);选择关键词的依据是什么?这些句子已经被手动标记为描述它们的最相关关键词,即“今天的日落非常美丽”的句子可能被标记为“日落自然”。每个句子都有1到10个标签,可能的关键字总数约为5k。现在我想训练一些基于这些例子的东西,学习如何标记新的看不见的句子。你想要什么样的结果?一个简单的解决方案将为不同标签的所有单词打分,并在某种程度上标记“jabberwock今天非常漂亮”如果你没有其他类似的例子,那就和日落一样。@roganjosh 5000个单词在大多数语言中都比一个6岁的单语儿童少。我很感激你的回答,但我已经熟悉监督学习和向量空间模型。正如您提到的,分配单个类比分配多个类容易得多,所以我希望有一些具体的指针可以帮助我处理这个问题。如果你知道,欢迎参考解决这个问题的文献。