1

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

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

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

这个问题看来,我正在尝试做的事情是可能的(整个序列的单个标签),但我不知道如何为此格式化训练数据。

4

2 回答 2

0

正如 Ashemah 所说,也许您使用了错误的工具。如果您想标记序列,例如单词序列甚至句子序列,则通常使用 CRF。但是,当您假设您的句子彼此独立时,您可能希望独立查看每个句子。因此,您的任务不是序列标记,而是简单的分类。为此,您可以使用其他几种模型,例如 SVM、朴素贝叶斯、kNN 等等。

于 2018-02-07T09:31:28.177 回答
0

我认为您使用了错误的工具来完成这项工作。要对整个句子进行分类,您可以尝试使用 Facebook 的 fasttext 之类的东西。

https://github.com/facebookresearch/fastText

于 2017-11-27T00:31:28.873 回答