本文為您介紹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列為可選列。