本文为您介绍PAI-Designer(原PAI-Studio)提供的条件随机场算法组件。

条件随机场CRF(conditional random field)是给定一组输入随机变量条件下,另一组输出随机变量条件的概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场可用于不同的预测问题,主要应用于标注问题中,其中最典型的是线性链(linear chain)。详情请参见wiki

组件配置

您可以使用以下任意一种方式,配置条件随机场组件参数。

方式一:可视化方式

在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
页签 参数 描述
字段设置 请选择ID列 样本以N元组的形式存储,ID列为一条样本的唯一ID。
请选择特征列 要进行标注的单词,以及该单词所对应的特征(如果有)。
请选择目标列 选择目标列。
参数设置 特征生成模板 默认值为
[-2:0],[-1:0],[0:0],[1:0],[2:0],[-1:0]/[0:0],
[0:0]/[1:0],[-2:1],[-1:1],[0:1],[1:1],[2:1],
[-2:1]/[-1:1],[-1:1]/[0:1],[0:1]/[1:1],[1:1]/[2:1],
[-2:1]/[-1:1]/[0:1],[-1:1]/[0:1]/[1:1],
[0:1]/[1:1]/[2:1]
低频词过滤阈值 默认值为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 算法特征生成的模板。
  • 定义
    <template .=. <template_item,<template_item,...,<template_item
    <template_item .=. [row_offset:col_index]/[row_offset:col_index]/.../[row_offset:col_index]
    row_offset .=. integer
    col_index .=. integer
  • 默认值
    [-2:0],[-1:0],[0:0],[1:0],[2:0],[-1:0]/[0:0],[0:0]/[1:0],[-2:1],[-1:1],[0:1],[1:1],[2:1],[-2:1]/[-1:1],[-1:1]/[0:1],[0:1]/[1:1],[1:1]/[2:1],[-2:1]/[-1:1]/[0:1],[-1:1]/[0:1]/[1:1],[0:1]/[1:1]/[2:1]
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列为可选列。