lightNLP
1.0.0
本項目基於Pytorch和torchtext,旨在提供一個基礎的自然語言處理相關任務實現的深度學習框架。
有關詳細說明和教程請參閱項目文檔:lightnlp-cookbook
pip install lightNLP建議使用國內源來安裝,如使用以下命令:
pip install -i https://pypi.douban.com/simple/ lightNLP由於有些庫如pytorch、torchtext並不在pypi源中或者裡面只有比較老舊的版本,我們需要單獨安裝一些庫。
請使用最新版本的Pytorch!
具體安裝參見pytorch官網來根據平台、安裝方式、Python版本、CUDA版本來選擇適合自己的版本。
使用以下命令安裝最新版本torchtext:
pip install https://github.com/pytorch/text/archive/master.zipBIO
訓練數據示例如下:
清 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('另一个很酷的事情是,通过框架我们可以停止并在稍后恢复训练。'))
預測結果:
[{'end': 15, 'entity': '我们', 'start': 14, 'type': 'Person'}]
命令行中執行以下命令,其中E:TesttensorBoard修改為模型訓練時日誌存儲路徑,port端口指定可選:
tensorboard --logdir=E: T est t ensorBoard --port=2019可以看到類似如下效果:

ner_model . deploy ( host = "localhost" , port = 2020 , debug = False )其中所有參數都可選, host參數默認為localhost , port端口將由程序自動向系統申請空閒端口,默認不開啟debug模式。
可以使用Postman或者編寫程序進行調用測試,如下圖: 

scalar和以及各model的graph (目前Pytorch中的SummaryWriter的add_graph功能有一些bug,所以暫時添加不了了。)。 name 。 如果該項目對您有所幫助,歡迎打賞~