Este projeto é baseado em Pytorch e Torchtext e visa fornecer uma estrutura básica de aprendizado profundo para tarefas relacionadas ao processamento de linguagem natural.
Para instruções e tutoriais detalhados, consulte a documentação do projeto: LightNLP-Cookbook
pip install lightNLPRecomenda -se usar fontes domésticas para instalar, como usar o seguinte comando:
pip install -i https://pypi.douban.com/simple/ lightNLPComo algumas bibliotecas como Pytorch e Torchtext não estão na fonte do Pypi ou apenas têm versões mais antigas, precisamos instalar algumas bibliotecas separadamente.
Por favor, use a versão mais recente do Pytorch!
Para uma instalação específica, consulte o site oficial da Pytorch para selecionar a versão que combina com você de acordo com a plataforma, o método de instalação, a versão python e a versão CUDA.
Use o comando a seguir para instalar a versão mais recente do TorchText:
pip install https://github.com/pytorch/text/archive/master.zipBio
Os exemplos de dados de treinamento são os seguintes:
清 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 previsão:
[{'end': 15, 'entity': '我们', 'start': 14, 'type': 'Person'}]
Execute o seguinte comando da linha de comando, onde E:TesttensorBoard é modificado para ser o caminho de armazenamento de log durante o treinamento do modelo, e a especificação da porta é opcional:
tensorboard --logdir=E: T est t ensorBoard --port=2019Você pode ver efeitos semelhantes:

ner_model . deploy ( host = "localhost" , port = 2020 , debug = False ) Todos os parâmetros são opcionais. host é padrão para localhost . port será aplicada automaticamente para uma porta ociosa ao sistema pelo programa, e debug não será ativado por padrão.
Você pode usar o Postman ou escrever um programa para testá -lo, conforme mostrado na figura abaixo: 

scalar de perda e pontuação e graph de cada modelo (atualmente existem alguns bugs na função Add_graph do SummaryWriter em Pytorch, por isso não pode ser adicionado por enquanto.). name . Se este projeto for útil para você, por favor me dê uma recompensa ~