本文为您介绍Designer提供的条件随机场算法组件。
条件随机场CRF(conditional random field)是给定一组输入随机变量条件下,另一组输出随机变量条件的概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场可用于不同的预测问题,主要应用于标注问题中,其中最典型的是线性链(linear chain)。详情请参见wiki。
组件配置
您可以使用以下任意一种方式,配置条件随机场组件参数。
方式一:可视化方式
在Designer工作流页面配置组件参数。
页签 | 参数 | 描述 |
字段设置 | 请选择ID列 | 样本以N元组的形式存储,ID列为一条样本的唯一ID。 |
请选择特征列 | 要进行标注的单词,以及该单词所对应的特征(如果有)。 | |
请选择目标列 | 选择目标列。 | |
参数设置 | 特征生成模板 | 默认值为
。 |
低频词过滤阈值 | 默认值为1。 | |
L1正则项系数 | 默认值为1。 | |
L2正则项系数 | 默认值为0。 | |
最大迭代次数 | 默认值为100。 | |
收敛阈值 | 默认值为0.00001。 | |
执行调优 | 核心数 | 默认自动调整。 |
每个核的内存大小 | 默认自动调整。 |
方式二:PAI命令方式
使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本。
PAI -name=linearcrf
-project=algo_public
-DinputTableName=crf_input_table
-DidColName=sentence_id
-DfeatureColNames=word,f1
-DlabelColName=label
-DoutputTableName=crf_model
-Dlifecycle=28
-DcoreNum=10
参数名称 | 是否必选 | 描述 | 默认值 |
inputTableName | 是 | 输入特征数据表。 | 无 |
inputTablePartitions | 否 | 输入特征表选择的分区。 | 全表 |
featureColNames | 否 | 输入表选择的特征列。 | 默认选择全部,自动排除label列。 |
labelColName | 是 | 目标列。 | 无 |
idColName | 是 | 样本标号列。 | 无 |
outputTableName | 是 | 输出模型表。 | 无 |
outputTablePartitions | 否 | 输出模型表选择的分区。 | 全表 |
template | 否 | 算法特征生成的模板。 |
|
freq | 否 | 过滤特征的参数,算法只保留出现次数大于等于freq的特征。 | 1 |
iterations | 否 | 优化的最大迭代次数。 | 100 |
l1Weight | 否 | L1正则的参数权重。 | 1.0 |
l2Weight | 否 | L2正则的参数权重。 | 1.0 |
epsilon | 否 | 收敛误差。L-BFGS的终止条件,即两次迭代之间log-likelihood的差。 | 0.0001 |
lbfgsStep | 否 | lbfgs优化过程中的历史长度,仅对lbfgs有效。 | 10 |
threadNum | 否 | 模型训练时并行启动线程的数量。 | 3 |
lifecycle | 否 | 输出表的生命周期。 | 无 |
coreNum | 否 | 核心数。 | 自动计算 |
memSizePerCore | 否 | 内存数。 | 自动计算 |
示例
输入数据
sentence_id
word
f1
label
1
Rockwell
NNP
B-NP
1
International
NNP
I-NP
1
Corp
NNP
I-NP
1
‘s
POS
B-NP
…
…
…
…
823
Ohio
NNP
B-NP
823
grew
VBD
B-VP
823
3.8
CD
B-NP
823
%
NN
I-NP
823
.
.
O
预测算法PAI命令
PAI -name=crf_predict -project=algo_public -DinputTableName=crf_test_input_table -DmodelTableName=crf_model -DidColName=sentence_id -DfeatureColNames=word,f1 -DlabelColName=label -DoutputTableName=crf_predict_result -DdetailColName=prediction_detail -Dlifecycle=28 -DcoreNum=10
参数名称
是否必选
描述
默认值
inputTableName
是
输入特征数据表
无
inputTablePartitions
否
输入特征表选择的分区
全表
featureColNames
否
输入表选择的特征列
默认选择全部,自动排除label列。
labelColName
否
目标列
无
IdColName
是
样本标号列
无
resultColName
否
输出表中result列名
prediction_result
scoreColName
否
输出表中score列名
prediction_score
detailColName
否
输出表中detail列名
无
outputTableName
是
输出预测结果表
无
outputTablePartitions
否
输出预测结果表选择的分区
全表
modelTableName
是
算法模型表
无
modelTablePartitions
否
算法模型表选择的分区
全表
lifecycle
否
输出表的生命周期
无
coreNum
否
核心数
自动计算
memSizePerCore
否
内存数
自动计算
输出数据
sentence_id
word
f1
label
1
Confidence
NN
B-NP
1
in
IN
B-PP
1
the
DT
B-NP
1
pound
NN
I-NP
…
…
…
…
77
have
VBP
B-VP
77
announced
VBN
I-VP
77
similar
JJ
B-NP
77
increases
NNS
I-NP
77
.
.
O
说明label列为可选列。