CRF(条件随机字段)可以用来标记整个句子吗?

时间:2016-07-21 09:51:28

标签: machine-learning crf crf++

我尝试使用机器学习来标记句子 (每个句子都有一个标签,我假设句子彼此独立)。 我认为线性CRF模型适用于这种情况,但我有一些问题。

我尝试使用CRF++(我看到的其他实现似乎有类比格式)。 它使用句子作为输入,但输出标签分配给每个 令牌。如何在整个句子中使用单个标签? (我想到的黑客将分配一个重要的 仅标记测试数据中的点并将其视为输出标签 对于整个句子。)

如何使用不同长度的句子? 训练配置需要指定采用哪些令牌 分析当前令牌时的考虑因素。但是一句话可以有 大量或少量令牌,我想从句子中使用所有令牌 (不多或少),利用整个信息。

this question来看,我尝试做的事情似乎是可能的(整个序列的单个标签), 但我不知道如何格式化训练数据。

2 个答案:

答案 0 :(得分:0)

我认为你正在使用错误的工具来完成工作。要对整个句子进行分类,您可以尝试使用Facebook的快速文本。

https://github.com/facebookresearch/fastText

答案 1 :(得分:0)

Ashemah说,也许你使用的是错误的工具。如果您想标记序列,通常使用CRF,例如,一系列单词甚至一系列句子。但是,当您假设您的句子彼此独立时,您可能希望独立地查看它们中的每一个。因此,您的任务不是序列标记,而是简单的分类。为此你可以使用其他几个模型,如SVM,Naive Bayes,kNN等等。