全部產品
Search
文件中心

Platform For AI:條件隨機場

更新時間:Apr 02, 2025

條件隨機場CRF(Conditional Random Field)是一種機率圖模型,用於在給定輸入隨機變數的條件下,預測輸出隨機變數的聯合機率分布。CRF的特點是假設輸出隨機變數構成馬爾可夫隨機場。可用於不同的預測問題,主要應用於標註問題中,其中最典型的是線性鏈(linear chain)。

配置組件

方式一:可視化方式

在Designer工作流程頁面添加條件隨機場組件,並在介面右側配置相關參數:

參數類型

參數

描述

欄位設定

請選擇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

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列為可選列。