条件随机场CRF(Conditional Random Field)是一种概率图模型,用于在给定输入随机变量的条件下,预测输出随机变量的联合概率分布。CRF的特点是假设输出随机变量构成马尔可夫随机场。可用于不同的预测问题,主要应用于标注问题中,其中最典型的是线性链(linear chain)。
配置组件
方式一:可视化方式
在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  | 否  | 1  | 过滤特征的参数,算法只保留出现次数大于等于freq的特征。  | 
iterations  | 否  | 100  | 优化的最大迭代次数。  | 
l1Weight  | 否  | 1.0  | L1正则的参数权重。  | 
l2Weight  | 否  | 1.0  | L2正则的参数权重。  | 
epsilon  | 否  | 0.0001  | 收敛误差。L-BFGS的终止条件,即两次迭代之间log-likelihood的差。  | 
lbfgsStep  | 否  | 10  | lbfgs优化过程中的历史长度,仅对lbfgs有效。  | 
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
否
prediction_result
输出表中result列名
scoreColName
否
prediction_score
输出表中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列为可选列。