Este paquete admite una arquitectura generalizada para la identificación del lenguaje ( LID ) y la identificación del dialecto ( DID ) utilizando un perceptrón de múltiples capas construido con keras. DID también admite un clasificador SVM lineal usando Scikit-Learn.
Para cargar un modelo:
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 toma un STR que contiene un cubo S3 opcional para cargar el modelo. El nombre de archivo del modelo debe contener los prefijos necesarios.
Una vez que se carga un modelo de tapa, tiene las siguientes propiedades:
Método | Descripción |
---|---|
lid.n_features | Número de características en el modelo (es decir, contenedores de hash) |
lid.n_classes | Número de idiomas en el modelo |
lid.lang_mappings | Diccionario de {"ISO_CODE": "Language_Name"} Mapeaciones para todos los códigos ISO 639-3 |
lid.langs | Lista de códigos ISO 639-3 para idiomas presentes en el modelo actual |
Una vez que se carga un modelo DID, tiene las siguientes propiedades:
Método | Descripción |
---|---|
did.n_features | Número de características en la gramática utilizada para aprender el modelo |
did.n_classes | Número de países en el modelo |
did.country_mappings | Diccionario de {"ISO_CODE": "Country_Name"} Mapeaciones para todos los códigos de país utilizados |
did.Countries | Lista de códigos de país para dialectos regionales (a nivel de país) presente en el modelo actual |
Los modelos cargados realizan las siguientes tareas:
Método | Descripción |
---|---|
Lid.Predict (datos) | Toma una variedad de cuerdas o cuerdas individuales; Devuelve la matriz de códigos de idioma pronosticados |
Did.Predict (datos) | Toma una variedad de cuerdas o cuerdas individuales; Devuelve la matriz de códigos de país predichos |
Nota: Los nombres de archivo modelo deben incluir ".did"/". Lid" y ".mlp"/". SVM" porque esta información se utiliza para determinar el tipo de modelo.
Para capacitar a nuevos modelos, los datos de capacitación deben estar preparados. Este proceso está automatizado; Consulte los directorios data_did y data_lid para obtener direcciones y scripts.
from idNet import idNet_Train
id = idNet_train()
Argumento | Tipo | Descripción |
---|---|---|
tipo | (str) | Si trabajar con el lenguaje o la identificación del dialecto |
aporte | (str) | Ruta a la carpeta de entrada |
producción | (str) | Carpeta de ruta a salida |
S3 = falso | (booleano) | Si es cierto, use Boto3 para interactuar con S3 Bucket |
s3_bucket = "" | (str) | S3 Nombre del cubo como cadena |
apodo = "lenguaje" | (str) | El apodo para guardar / cargar modelos |
divide_data = verdadero | (booleano) | Si es cierto, rastree para el conjunto de datos; Si es falso, solo cargalo |
test_samples = 20 | (int) | El número de archivos para cada clase que se utilizará para las pruebas |
umbral = 100 | (int) | El número de archivos requeridos antes del idioma/país se incluye en el modelo |
muestras_per_epoch = 5 | (int) | Número de muestras para usar por época de entrenamiento |
lenguaje = "" | (str) | Para DID, especifica el lenguaje del modelo actual |
lid_sample_size = 200 | (int) | Para la tapa, el número de caracteres para permitir por muestra |
did_sample_size = 1 | (int) | Para DID, el número de muestras de 100 palabras para combinar |
preannotate_cxg = falso | (booleano) | Para lo hizo, si verdadero enriquece y guarda todos los vectores CXG |
preannotated_cxg = falso | (booleano) | Para lo hizo, si verdadero solo cargue vectores CXG pre-enriquecidos |
cxg_workers = 1 | (int) | Para el conjunto de datos de pre-enriquecedor, el número de trabajadores para usar |
class_constraints = [] | (Lista de STR) | Opción para restringir el número de clases |
merge_dict = {} | (dict) | Original: New Name Keys |
id.train()
Argumento | Tipo | Descripción |
---|---|---|
model_type = "mlp" | (str) | MLP o SVM |
lid_feature = 524288 | (int) | Número de características de caracteres n-gram para permitir, hash solo |
lid_ngrams = (1,3) | (Tuple de Ints) | Rango de n-gramos a hash |
did_grammar = ".grammar.p" | (str) | Nombre de la gramática C2XG para usar para la anotación |
c2xg_workers = 1 | (int) | Para DID, número de trabajadores para enriquecimientos C2XG |
mlp_sizes = (300, 300, 300) | (Tuple de Ints) | Tamaño y número de capas; por ejemplo, 3 capas a 300 neuronas cada una |
cross_val = falso | (booleano) | Si se debe usar validación cruzada en lugar de un conjunto de pruebas mantenidas |
abandonado = 0.25 | (flotar) | La cantidad de abandono para aplicar a cada capa |
activación = "Relu" | (str) | El tipo de activación; Solo pasa el nombre a Keras |
optimizador = "SGD" | (str) | El tipo de algoritmo de optimización; Solo pasa el nombre a Keras |