问题标签 [crfsuite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6735 浏览

scikit-learn - 在 Keras 中使用 CRF 的 LSTM

我真的不明白如何结合 sklearn_crfsuite 和 Keras。

我必须制作一个经典的 LSTM,而不是最后一个 Activation,我使用 sklearn_crfsuite?

有人有例子吗?

谢谢,

0 投票
1 回答
1445 浏览

machine-learning - 如何在 python crfsuite 中使用 Conll 2003 语料库

我已经下载了 Conll 2003 语料库(“eng.train”)。我想用它来使用 python crfsuite 训练来提取实体。但我不知道如何加载这个文件进行训练。

我找到了这个例子,但它不适用于英语。

同样在未来,我想培训 POS 或位置以外的新实体。我该如何添加这些。

还请建议如何处理多个单词。

0 投票
1 回答
139 浏览

python - CRFSuite 有多少训练数据?

嗨,我正在使用 crfsuite 训练一个 crf,其中包含一些我使用拉丁文本的示例数据。我用 O、PERSON 和 PLACE 标记了训练数据。当测试我的训练模型时,我得到的所有预测都是 O。我怀疑这是因为我没有足够的训练数据。我的训练基于 3760 字节。(我知道这是一点点!-它会使 CRF 不起作用吗?)

0 投票
0 回答
401 浏览

keras - 使用 CRF 进行多元二进制序列预测

这个问题是这个问题的延伸,侧重于 LSTM 而不是 CRF。不幸的是,我对 CRF 没有任何经验,这就是我问这些问题的原因。

问题:

我想预测多个非独立组的二进制信号序列。我的数据集比较小(每组约 1000 条记录),所以我想在这里尝试一个 CRF 模型。

可用数据:

我有一个包含以下变量的数据集:

  1. 时间戳
  2. 团体
  3. 表示活动的二进制信号

group_a_activity使用这个数据集,我想预测group_b_activity它是 0 还是 1。

请注意,这些组被认为是互相关的,并且可以从时间戳中提取额外的特征——为简单起见,我们可以假设我们从时间戳中提取的只有 1 个特征。

到目前为止我所拥有的:

这是您可以在自己的机器上复制的数据设置。

在我们进入 CRF 部分之前,我怀疑我不能从多任务学习的角度来解决这个问题(通过一个模型预测 A 和 B 的模式),因此我将不得不预测每一个他们分别。

现在是 CRF 部分。我找到了一些相关的例子(这里是一个),但它们都倾向于根据先验序列预测单个类值。

这是我在这里使用 CRF 的尝试:

看来我确实设法让它工作,但我不确定我是否正确地接近它。我将在问题部分提出我的问题,但首先,这是使用keras_contrib包的另一种方法:

问题:

我的主要问题是我是否正确构建了两个 CRF 模型。让我担心的是(1)没有很多关于 CRF 模型的文档,(2)CRF 主要用于预测给定序列的单个标签,(3)输入特征是嵌套的,(4)当以多任务方式使用,我不确定它是否有效。

我还有一些额外的问题:

  1. CRF 适合这个问题吗?
  2. 这两种方法(一种基于pycrfuite,一种基于keras_contrib)有何不同,它们的优点/缺点是什么?
  3. 从更一般的意义上说,将 CRF 和 LSTM 模型合二为一有什么好处(就像这里讨论的那样)

非常感谢!

0 投票
0 回答
369 浏览

python - TypeError: 'numpy.int32' object is not iterable - 使用 sklearn_crfsuite 时出错

crf.fit(X_train, y_train) 不运行并显示上述错误。此外,当我运行 labels2 = list(crf.classes_) 我得到 NoneType 对象不可迭代。之前没用过crfsuite,网上也找不到满意的资料。

需要注意的几件事:csv 文件有 NO None 类型,是一个简单的数据集,仅由数字(包括标签)组成,最后一列是标签。使用 CRF,因为它是一个多标签顺序问题。

我希望最终代码能给我 F1 分数,但我无法通过培训:/

0 投票
1 回答
69 浏览

c++ - 无法用crfsuite的C++ API编译一个非常简单的Tagger示例

我已经从源代码(https://github.com/downloads/chokkan/crfsuite/crfsuite-0.12.tar.gz)正确安装了crfsuite。但是当我尝试编译一个非常简单的代码时,似乎我错过了一些东西。

这是代码:

这是要编译的命令行:

和错误:

路径正确 ( /usr/local/lib, /usr/local/include)

0 投票
1 回答
223 浏览

python - sklearn-crfsuite 如何处理字符串?

我一直在关注sklearn-crfsuite 教程

用于训练 CRF 模型的特征示例如下所示。

如何sklearn-crfsuite将字符串转换melbourne为浮点数,因为 CRF 的特征应该只是浮点数。文档中的任何地方都没有提到这一点。

0 投票
1 回答
2330 浏览

python - 如何使用词嵌入作为 CRF (sklearn-crfsuite) 模型训练的特征

我想开发一个 NER 模型,我想在其中使用词嵌入功能来训练 CRF 模型。代码在没有词嵌入功能的情况下完美运行,但是当我将嵌入作为 CRF 训练的功能插入时,收到错误消息。这是我的代码片段的一部分:

当我想训练 CRF 模型时,我收到了以下错误消息:

TypeError: only size-1 arrays can be converted to Python scalars

谁能建议我如何使用词嵌入向量来训练 CRF 模型?

0 投票
1 回答
433 浏览

nlp - 在简历 (NER) 中标记自定义实体

我如何为自定义命名实体执行 NER。例如,如果我想确定特定单词是否是简历中的技能。如果(Java,c++)出现在我的文本中,我应该能够将它们标记为技能。我不想在自定义语料库中使用 spacy。我想创建数据集,例如单词将是我的特征,标签(技能)将是我的因变量。

处理这些问题的最佳方法是什么。

0 投票
1 回答
47 浏览

python - 我的 sklearn_crfsuite 模型没有学到任何东西

我正在尝试按照此处的教程创建注释预测模型,但我的模型没有学到任何东西。这是我的训练数据和标签的示例:

-1:word.lower()': '\nreference...n \n \n \n \n \n \n \n \n0\ntable\n1\n:\nairbrake\ncas\nmessages\n', '-1:word.istitle()': False, '-1:word.isupper()': False, '-1:postag': 'POS', '-1:postag[:2]': 'PO ', '+1:word.lower()': 'issue', '+1:word.istitle()': False, '+1:word. isupper()': True, '+1:postag': 'POS', '+1:postag[:2]': 'PO'}, {'bias': 1.0, 'word.lower()': '问题','word [-3:]':'SUE','word [-2:]':'UE','word.isupper()':真,'word.istitle()':假,' word.isdigit()':假,'postag':'POS','postag[:2]':'PO','w_emb_0':-1.220 4882,'w_emb_1':0.8920707,'w_emb_2':-3。
y_train = ['O', 'O', 'O'...'I-data-ca-s_message-type'....'B-data-ca-s_message-type']

这是模型定义和训练:

`

`

不幸的是,我的模型没有学到任何东西: