问题标签 [crf++]

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 回答
2091 浏览

matlab - 有条件随机场(CRF)和马尔可夫随机场(MRF)的实用教程吗?

我已经开始在短期内阅读 MRF 和 CRF;但是,我在理解这些概念方面有很多困难。任何人都可以建议一些在线资源以进行理论和基本理解吗?我很难理解这两个概念的数学。

此外,我想在实现过程中尝试查看这两个图形模型的每个阶段,以便更好地理解进一步的实现和利用。是否有任何关于该领域的实用教程正在使用 Matlab/其他编程语言实现?

如果有人知道,我将不胜感激,请指导我,因为我很困惑,不知道如何从头开始。

您的帮助将不胜感激。谢谢...

0 投票
1 回答
536 浏览

crf - CRF++ 模板文件和句子语法

我正在尝试使用 CRF++ 将产品字符串解析为各种属性类,以便我可以执行类似于此问题的产品匹配。

然而,我遇到的一个问题是,当产品字符串中的单词顺序尚未在训练文件中看到时,CRF 无法准确预测标签。

例如,我只是使用一个词袋模板文件:

我运行crf_learn包括以下示例训练数据:

使用此训练数据时,模型将测试字符串“panasonic digital monitor 17 inch”正确解析为正确的输出标签。但是,当我在诸如“panasonic monitor digital 17 inch”之类的字符串上使用该模型时,该模型无法识别正确的标签,而是将“digital”和“monitor”的标签更改为如下所示:

但是,我需要的是以下内容:

这是我的模板文件的问题,还是 CRF 本身就受语法限制?或者我可以以某种方式修改模板文件或训练数据列以捕获/忽略产品字符串中单词的顺序?

0 投票
0 回答
817 浏览

python - CRFSuite vs CRF++ 参数和结果

如何在 CRFSuite 中模拟基本 CRF++ 模型的结果?

我使用 CRF++ 已经有一段时间了,结果非常有希望,但是我最近切换到带有 Python 实现的 CRFSuite 以将模型投入生产。也就是说,我无法复制到使用简单参数在 CRFSuite 中使用 CRF++ 获得的结果。

我创建的模型尽可能简单,只有一个特征(当前单词):

CRFSuite 模型基于此示例 - https://github.com/scrapinghub/python-crfsuite/blob/master/examples/CoNLL%202002.ipynb

我正在使用 CRF++ 的默认参数,但即使修改 CRFSuite 的参数以匹配这些参数,也无法获得相同的结果。

我用于 CRFSuite 的参数是(来自手册):

这应该与 CRF++ 中的默认参数相同(我会发布手册但没有足够的代表 - 搜索 CRF++ 文档)。

我错过了什么吗?谢谢!

0 投票
1 回答
235 浏览

crf - 如何使用 CRF++ 在两个数据集上训练 CRF?

我有两个数据集:数据集 A 和数据集 B。我想使用CRF++mirror)在数据集 A 上训练条件随机场(CRF),然后在数据集 B 上训练 CRF。是否可以使用 CRF++ 来实现?

我不想同时在两个数据集上训练 CRF。

0 投票
1 回答
181 浏览

crf++ - 如何在 crf++ 中为 biagrams 创建模板文件

我有以下格式的火车文件。
word(column0),其对应的 biagram(column 1-21) 和 word(column 22)。

例如 ,我必须创建一个模板,以便基于
biagram
,模型可以预测(单词at)最后一栏)

0 投票
1 回答
432 浏览

linux - 使用CRF+0.58训练NE模型失败

当我使用 CRF++0.58 对 NE 进行建模时,程序出现问题:

“读取训练数据:tagger.cpp(399) [feature_index_->buildFeatures(this)] 0.00s”

  1. 开发环境:
    • 红帽 linux 6.5,gcc 5.0,CRF++0.58
  2. 书面特征模板:
    • 模板
  3. 数据集:
    • Boson_train.txt
    • Boson_test.txt
    • 第一列是words,第二列是pos,第三列是NER tagger
  4. 问题:
    • 当我想训练 NER 模型时,我输入这句话“crf_learn -f 3 -c 4.0 template Boson_train crf_model”,然后我收到了这个通知,“正在读取训练数据:tagger.cpp(399) [feature_index_->buildFeatures(this )] 0.00 秒"。我不懂 C++ 语言,所以我无法解决问题。
  5. 我尝试的方法:
    • 1.更改数据集的编码类型。我使用记事本++将“没有BOM的utf-8”更改为“utf-8”。它没有用。
    • 2.将分隔符从'\t'更改为''(空格)。它没有用。
    • 3.我认为模板可能是错误的。所以我使用 crf++0.58/example/seg/template 进行测试。有效。但是这个模板很简单,所以我使用 /example/JapaneseNE/template 与我的功能模板更相似。它没有用。然后,我检查了 JapaneseNE 示例,它运行良好。所以我很困惑。有没有人可以帮助我。
  6. 模板

    • U00:%x[-2,0]
    • U01:%x[-1,0]
    • U02:%x[0,0]
    • U03:%x[1,0]
    • U04:%x[2,0]
    • U05:%x[-2,0]/%x[-1,0]/%x[0,0]
    • U06:%x[-1,0]/%x[0,0]/%x[1,0]
    • U07:%x[0,0]/%x[1,0]/%x[2,0]
    • U08:%x[-1,0]/%x[0,0]
    • U09:%x[0,0]/%x[1,0]

    • U10:%x[-2,1]/%x[0,1]

    • U11:%x[-2,1]/%x[1,1]
    • U11:%x[-1,1]/%x[0,1]
    • U12:%x[0,0]/%x[0,1]
    • U13:%x[0,1]/%x[1,1]
    • U14:%x[0,1]/%x[2,1]
    • U15:%x[-1,0]/%x[0,1]
    • U16:%x[-1,0]/%x[-1,1]
    • U17:%x[1,0]/%x[1,1]
    • U18:%x[1,0]/%x[1,1]
    • U19:%x[2,0]/%x[2,1]

    • U20:%x[-1,2]

    • U21:%x[-2,2]
    • U22:%x[0,1]/%x[-1,2]
    • U23:%x[0,1]/%x[-2,2]
    • U24:%x[0,0]/%x[-1,2]
    • U25:%x[0,0]/%x[-2,2]
    • U26:%x[-1,2]/%x[-2,2]/%x[0,1]
    • U27:%x[-2,2]/%x[0,1]/%x[1,1]
    • U28:%x[-1,1]/%x[-1,2]/%x[0,1]
    • U29:%x[-1,2]/%x[0,0]/%x[0,1]
  7. 玻色子火车
    • 浙江ns B_product_name
    • 在线 b I_product_name
    • 杭州 ns I_product_name
    • 4 m B_time
    • 月 m I_time
    • 25 m I_time
    • 日 m I_time
    • 讯 ng Out
    • ( x 出
    • 记者 n Out
    • x 输出
    • x B_person_name
    • 施宇翔 nr I_person_name
    • x 输出
    • 通讯员 n B_person_name
    • x 输出
    • 方英 nr B_person_name
    • ) x 出
    • 毒贩n出
    • 很zg出
    • “ x 出
    • 现象 nr 输出
    • ” x 出
    • , x 出
    • 用 p 出
    • 微信vn B_product_name
    • 交易n输出
    • 排气口
    • 。 x 输出
    • 没 v 出
    • 料想v出
    • 警方 n B_person_name
    • 也d出
0 投票
1 回答
801 浏览

machine-learning - 使用类别列表学习 NER

在用于培训 CRF++ 的模板中,我如何包含一个dictionary.txt用于上市公司的自定义文件,另一个用于流行欧洲食品的自定义文件,例如,或几乎任何类别。

然后为每个类别提供样本训练数据,从而了解这些特定命名实体如何在该类别的上下文中使用。
通过这种方式,我和系统可以确保它正确理解某些命名实体在文本中的结构,无论是推文还是普利策获奖新闻文章,而不是提供数百兆字节的数据。

这会很酷。模型将有一个明确的已知实体字典(不需要扩展)和一个关于这些已知实体如何在人类文本中结构化的统计方法。

PS - 只是为了清楚起见,而不是渴望正则表达式。只有当你在字典里有很多东西,很多规则和很多无聊的时间时,这些才是很酷的。

0 投票
1 回答
420 浏览

crf++ - 运行此命令 crf_learn 模板训练模型时出错?

$ crf_learn template_file train_file model_file CRF++:又一个 CRF 工具包 版权所有 (C) 2005-2013 Taku Kudo,保留所有权利。

encoder.cpp(340) [feature_index.open(templfile, trainfile)] feature_index.cpp(135) [ifs] 打开失败

模板和火车文件在我的 CFR++ 文件夹中

0 投票
2 回答
203 浏览

machine-learning - CRF++/Wapiti 包含整个句子的类别作为特征

如何将朴素贝叶斯预测的句子类别表示为 CRF++ 或 Wapiti 中的特征?

例如,如果句子 ,Tumblr merges with Yahoo.被归类为Business,那么在编写 crf 的训练文件时,我在哪里可以将标签指示Business为特征?那么模板应该如何建模呢?

火车文件应该是这样的

ORG还是只包含带有标签的类别?怎么会这样?和模板文件?

0 投票
1 回答
550 浏览

crf++ - 谁能告诉根据给定模板如何生成 CRF 特征函数?

我已经检查并了解了一些相关主题,例如: 定义 CRF++ 模板文件

我现在感到困惑的是,如果我定义的模板类似于:..... U02:%x[0,0], .....

特征函数是什么样的?

谢谢你的帮助。

帅华