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 |