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