Este proyecto se basa en Pytorch y TorchText, y tiene como objetivo proporcionar un marco básico de aprendizaje profundo para las tareas relacionadas con el procesamiento del lenguaje natural.
Para obtener instrucciones y tutoriales detallados, consulte la documentación del proyecto: Lightnlp-Cookbook
pip install lightNLPSe recomienda utilizar fuentes nacionales para instalar, como usar el siguiente comando:
pip install -i https://pypi.douban.com/simple/ lightNLPDado que algunas bibliotecas como Pytorch y TorchText no están en la fuente PYPI o solo tienen versiones más antiguas, necesitamos instalar algunas bibliotecas por separado.
¡Utilice la última versión de Pytorch!
Para una instalación específica, consulte el sitio web oficial de Pytorch para seleccionar la versión que le convenga de acuerdo con la plataforma, el método de instalación, la versión de Python y la versión CUDA.
Use el siguiente comando para instalar la última versión de TorchText:
pip install https://github.com/pytorch/text/archive/master.zipBiografía
Los ejemplos de datos de capacitación son los siguientes:
清 B_Time
明 I_Time
是 O
人 B_Person
们 I_Person
祭 O
扫 O
先 B_Person
人 I_Person
, O
怀 O
念 O
追 O
思 O
的 O
日 B_Time
子 I_Time
。 O
正 O
如 O
宋 B_Time
代 I_Time
诗 B_Person
人 I_Person
from lightnlp.sl import NER
# 创建NER对象
ner_model = NER()
train_path = '/home/lightsmile/NLP/corpus/ner/train.sample.txt'
dev_path = '/home/lightsmile/NLP/corpus/ner/test.sample.txt'
vec_path = '/home/lightsmile/NLP/embedding/char/token_vec_300.bin'
# 只需指定训练数据路径和TensorBoard日志文件路径,预训练字向量可选,开发集路径可选,模型保存路径可选(模型保存路径默认为`xx_saves`,其中xx为模型简称,如ner)。
ner_model.train(train_path, vectors_path=vec_path, dev_path=dev_path, save_path='./ner_saves', log_dir='E:/Test/tensorboard/')
# 加载模型,默认当前目录下的`ner_saves`目录
ner_model.load('./ner_saves')
# 对train_path下的测试集进行读取测试
ner_model.test(train_path)
from pprint import pprint
pprint(ner_model.predict('另一个很酷的事情是,通过框架我们可以停止并在稍后恢复训练。'))
Resultados de la predicción:
[{'end': 15, 'entity': '我们', 'start': 14, 'type': 'Person'}]
Ejecute el siguiente comando desde la línea de comando, donde E:TesttensorBoard se modifica para ser la ruta de almacenamiento de registro durante el entrenamiento del modelo, y la especificación del puerto es opcional:
tensorboard --logdir=E: T est t ensorBoard --port=2019Puedes ver efectos similares:

ner_model . deploy ( host = "localhost" , port = 2020 , debug = False ) Todos los parámetros son opcionales. host es predeterminado a localhost . El programa se aplicará automáticamente port puerto para un puerto inactivo al sistema, y debug no estará habilitado de forma predeterminada.
Puede usar Postman o escribir un programa para probarlo, como se muestra en la figura a continuación: 

scalar de pérdida y puntaje y graph de cada modelo (actualmente hay algunos errores en la función add_graph de Resumen en pytorch, por lo que no se puede agregar por el momento). name . Si este proyecto es útil para usted, por favor dame una recompensa ~