idNet
1.0.0
該軟件包支持使用使用KERAS構建的多層感知器進行通用的語言標識( LID )和方言標識( DID )。 DID還使用Scikit-Learn支持線性SVM分類器。
加載模型:
from idNet import idNet_Enrich
lid = idNet_Enrich("Path to model file", s3_bucket)
did = idNet_Enrich("Path to model file", s3_bucket)
S3_Bucket取一個含有可選S3存儲桶的str來加載模型。模型文件名必須包含必要的前綴。
一旦加載了蓋模型,它就會具有以下屬性:
方法 | 描述 |
---|---|
LID.N_FEATURES | 模型中的功能數量(即,哈希垃圾箱) |
LID.N_CLASSES | 模型中的語言數量 |
lid.lang_mappings | {“ iso_code”的字典:“ Lagenchal_name”}所有ISO 639-3代碼的映射 |
LID.langs | 當前模型中存在的語言的ISO 639-3代碼列表 |
一旦加載了DID模型,它就會具有以下屬性:
方法 | 描述 |
---|---|
dod.n_features | 用於學習模型的語法中的功能數量 |
dod.n_classes | 模型中的國家數量 |
did.country_mappings | {“ iso_code”的字典:“ country_name”}所有使用的國家代碼的映射 |
做了 | 當前模型中存在的區域方言(國家級別)的國家代碼列表 |
加載模型執行以下任務:
方法 | 描述 |
---|---|
LID.PREDICT(數據) | 採用一系列字符串或單個字符串;返回一系列預測的語言代碼 |
DID.預測(數據) | 採用一系列字符串或單個字符串;返回一系列預測的國家代碼 |
注意:模型文件名需要包括“ .did”/。lid”和“ .mlp”/“。svm”,因為此信息用於確定模型類型!
要培訓新模型,需要準備培訓數據。此過程是自動化的;有關方向和腳本,請參見Data_did和data_lid目錄。
from idNet import idNet_Train
id = idNet_train()
爭論 | 類型 | 描述 |
---|---|---|
類型 | (str) | 是使用語言還是方言標識 |
輸入 | (str) | 輸入文件夾的路徑 |
輸出 | (str) | 輸出文件夾的路徑 |
s3 = false | (布爾) | 如果為true,請使用boto3與S3桶進行交互 |
s3_bucket =“” | (str) | S3存儲桶名稱為字符串 |
暱稱=“語言” | (str) | 保存 /加載模型的暱稱 |
divide_data = true | (布爾) | 如果是真的,請爬網;如果false,只需加載 |
test_samples = 20 | (int) | 每個類用於測試的文件數量 |
閾值= 100 | (int) | 在模型中包括語言/國家之前所需的文件數量 |
samples_per_epoch = 5 | (int) | 每個訓練時期使用的樣品數量 |
語言=“” | (str) | 為此,指定當前模型的語言 |
lid_sample_size = 200 | (int) | 對於蓋子,每個樣本允許的字符數 |
did_sample_size = 1 | (int) | 對於做的是,合併的100個單詞樣本的數量 |
preannotate_cxg = false | (布爾) | 對於做,如果真正豐富並保存所有CXG矢量 |
preannotated_cxg = false | (布爾) | 對於DID,如果True只需加載富含富含的CXG載體 |
cxg_workers = 1 | (int) | 對於DID,如果預先添加數據集,則需要使用的工人數量 |
class_constraints = [] | (Strs列表) | 限制類數的選項 |
merge_dict = {} | (dict) | 原始:新名稱鍵 |
id.train()
爭論 | 類型 | 描述 |
---|---|---|
model_type =“ MLP” | (str) | MLP或SVM |
lid_features = 524288 | (int) | 字符n-gram功能的數量允許,僅哈希 |
lid_ngrams =(1,3) | (INT元組) | n-gram範圍到哈希 |
did_grammar =“ .grammar.p” | (str) | C2XG語法的名稱用於註釋 |
c2xg_workers = 1 | (int) | 對於DID,C2XG富集的工人數量 |
mlp_sizes =(300,300,300) | (INT元組) | 大小和層數;例如,每個神經元的3層3層 |
cross_val = false | (布爾) | 是否使用交叉驗證而不是持有的測試集 |
輟學= 0.25 | (漂浮) | 適用於每一層的輟學量 |
激活=“ relu” | (str) | 激活的類型;只是將名字傳遞給Keras |
優化器=“ SGD” | (str) | 優化算法的類型;只是將名字傳遞給Keras |