Ce projet est basé sur Pytorch et TorchText, et vise à fournir un cadre d'apprentissage en profondeur de base pour les tâches liées au traitement du langage naturel.
Pour des instructions et des tutoriels détaillés, veuillez vous référer à la documentation du projet: LightNLP-Cookbook
pip install lightNLPIl est recommandé d'utiliser des sources nationales à installer, comme l'utilisation de la commande suivante:
pip install -i https://pypi.douban.com/simple/ lightNLPÉtant donné que certaines bibliothèques telles que Pytorch et TorchText ne sont pas dans la source PYPI ou ont uniquement des versions plus anciennes, nous devons installer certaines bibliothèques séparément.
Veuillez utiliser la dernière version de Pytorch!
Pour une installation spécifique, veuillez vous référer au site officiel de Pytorch pour sélectionner la version qui vous convient en fonction de la plate-forme, de la méthode d'installation, de la version Python et de la version CUDA.
Utilisez la commande suivante pour installer la dernière version de TorchText:
pip install https://github.com/pytorch/text/archive/master.zipBio
Les exemples de données de formation sont les suivants:
清 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('另一个很酷的事情是,通过框架我们可以停止并在稍后恢复训练。'))
Résultats de la prédiction:
[{'end': 15, 'entity': '我们', 'start': 14, 'type': 'Person'}]
Exécutez la commande suivante à partir de la ligne de commande, où E:TesttensorBoard est modifié pour être le chemin de stockage de journal pendant la formation du modèle, et la spécification du port est facultative:
tensorboard --logdir=E: T est t ensorBoard --port=2019Vous pouvez voir des effets similaires:

ner_model . deploy ( host = "localhost" , port = 2020 , debug = False ) Tous les paramètres sont facultatifs. host est par défaut à localhost . port sera automatiquement appliqué pour un port inactif au système par le programme, et debug ne sera pas activé par défaut.
Vous pouvez utiliser Postman ou écrire un programme pour le tester, comme indiqué dans la figure ci-dessous: 

scalar de la perte et du score et graph de chaque modèle (il existe actuellement certains bogues dans la fonction add_graph de SummaryWriter dans Pytorch, il ne peut donc pas être ajouté pour le moment.). name . Si ce projet vous est utile, donnez-moi une récompense ~