问题标签 [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 回答
3598 浏览

python - 带有(python)crfsuite的自定义功能函数

到目前为止,我只阅读了有关 CRF 的理论,并想在我的硕士论文中使用 python crfsuite 从食谱中提取成分。感谢您的每一次帮助。

据我了解,我可以通过下图的形式给crfsuite提供训练数据,其中w[0]提供当前单词的标识,w[i]是相对于i的世界,pos[i]是它的一部分相对于 i 的-​​of-speech-tag。

训练数据格式

然后 crfsuite 在给定属性的基础上训练自己的特征函数。

但我找不到提供自定义特征函数的方法,例如“w[i] 在字典中”(例如食谱成分字典)或“在句子中是否定”(例如“不是”,或“不”)。

一般来说,好的教程很受欢迎,因为手册(https://python-crfsuite.readthedocs.io/en/latest/http://www.chokkan.org/software/crfsuite/manual.html)不是初学者 -从我的角度来看很友好

0 投票
1 回答
2091 浏览

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

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

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

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

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

0 投票
3 回答
1684 浏览

python - 如何使用 CRFSuite 为 CRF 模型准备训练语料库

我需要以下格式的数据

我所拥有的只是 txt 文件,我需要这些数据用于 NER 任务的 CRF 模型。我打算为 python 使用 crf 套件,但不太了解如何标记训练数据。我可以对它进行 pos-tag,但是如何添加命名实体,因为我需要使用 2 个自定义标签来标记训练数据。

0 投票
1 回答
1639 浏览

python - 如何将句子列表转换为 IOB 格式,将句子分隔保存在输出中

我有一些 txt 文件,我需要将其转换为 CRF 模型的 IOB 格式。

使用 nltk tree2conlltags 我可以将标记化的、贴过标签的文本转换为我需要的 IOB 格式。

像这样

但问题是,作为输出,我得到一个单词作为一个元素,但我需要一个句子作为元素。

我也尝试首先将文本分成句子,然后将它们标记化,所以我将保存句子 boundAries,但 nltk pos tagger 不接受列表类型数据。

也许有全新的方法来获得我需要的格式或

0 投票
1 回答
90 浏览

nlp - CRF 模型在复数上训练,而不是在单数上工作

我制作了一个 CRF 模型。我的数据集有 24 个类,此时我刚刚开始,所以我的训练数据只有 1200 个标记/语料库。我已经训练了模型。在我的训练数据中,我使用了复数形式的标记,例如地址、照片、州、国家等。

现在在测试时,如果我给这个模型以句子形式的复数标记,那么它工作得很好,但是如果我以单数形式输入我的句子,比如照片、状态等,那么它不会给它分配任何标签。

crf 的这种行为看起来很奇怪。我已经探索了NER 特征工厂并使用了一些引理特征,但它也没有用。分享我austen.prop的模型形成。

最后四个功能是通过阅读添加的NER Feature Factory。如果有人可以帮助我解决这个问题,那么我将不胜感激。

0 投票
2 回答
186 浏览

python - 我可以将 3-gram txt 转换为 crf 套件的 iob

txt 是这种 3-gram 格式:

我希望它采用 crfsuite 用于培训的格式,例如:

如果我可以使用 python 转换它,将不胜感激

0 投票
0 回答
516 浏览

python - 如何在python中将csv转换为IOB格式

我有一个 csv 文件,我想将其转换为 IOB 格式,以便使用 crfsuite 对其进行训练。我正在使用 python,我是新手。这是csv文件的部分数据

csv文件的数据

这就是我想要的样子..我认为这是 IOB 格式

当我在终端上运行以下代码时

错误:

0 投票
1 回答
536 浏览

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

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

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

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

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

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

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

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

0 投票
1 回答
683 浏览

tensorflow - 如何在张量流线性链CRF中正确传递transition_params的初始值

我正在尝试在我的工作中使用线性链 CRF。我借助了 -- https://github.com/tensorflow/tensorflow/tree/r1.0/tensorflow/contrib/crf中提供的示例使用代码

我的问题是如何在“crf_log_likelihood()”中提供一些“transition_params”的初始值。例如,为了具体示例,我想用标准随机正态分布对其进行初始化。在api doc中,我看到“transition_params”实际上可以作为输入参数传递。在方法内部,我看到如果没有传递“transition_params”,它是通过使用 name =“transitions”执行“vs.get_variable()”来获得的。

那么在创建“crf_log_likelihood”操作之前,我应该做类似的事情吗?类似于 -- transition_params = vs.get_variable("transitions", [num_tags, num_tags], initializer=tf.random_normal_initializer()) -- 然后将 "crf_log_likelihood()" 的调用更改为 "log_likelihood, transition_params = tf.contrib .crf.crf_log_likelihood(unary_scores,y_t,sequence_lengths_t,transition_params)”?

0 投票
0 回答
120 浏览

probability - Mallet, probabilities of labels

I'm trying to use the Mallet Simple Tagger (http://mallet.cs.umass.edu/sequences.php) for detecting specific kinds of words in texts (specifically, prominent words). I'm running it with following standard commands:

for training

for testing

After testing I get a list of labels as a result (0 or 1 for each word in the training set). I would like to know, is it somehow possible to output a probability of a label (not the label itself)?

Thank you