在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:lac开源软件地址:https://gitee.com/baidu/lac开源软件介绍:工具介绍LAC全称Lexical Analysis of Chinese,是百度自然语言处理部研发的一款联合的词法分析工具,实现中文分词、词性标注、专名识别等功能。该工具具有以下特点与优势:
安装与使用在此我们主要介绍Python安装与使用,其他语言使用: 安装说明代码兼容Python2/3
功能与使用分词
from LAC import LAC# 装载分词模型lac = LAC(mode='seg')# 单个样本输入,输入为Unicode编码的字符串text = u"LAC是个优秀的分词工具"seg_result = lac.run(text)# 批量样本输入, 输入为多个句子组成的list,平均速率会更快texts = [u"LAC是个优秀的分词工具", u"百度是一家高科技公司"]seg_result = lac.run(texts)
【单样本】:seg_result = [LAC, 是, 个, 优秀, 的, 分词, 工具]【批量样本】:seg_result = [[LAC, 是, 个, 优秀, 的, 分词, 工具], [百度, 是, 一家, 高科技, 公司]] 词性标注与实体识别
from LAC import LAC# 装载LAC模型lac = LAC(mode='lac')# 单个样本输入,输入为Unicode编码的字符串text = u"LAC是个优秀的分词工具"lac_result = lac.run(text)# 批量样本输入, 输入为多个句子组成的list,平均速率更快texts = [u"LAC是个优秀的分词工具", u"百度是一家高科技公司"]lac_result = lac.run(texts)
【单样本】: lac_result = ([百度, 是, 一家, 高科技, 公司], [ORG, v, m, n, n])【批量样本】:lac_result = [ ([百度, 是, 一家, 高科技, 公司], [ORG, v, m, n, n]), ([LAC, 是, 个, 优秀, 的, 分词, 工具], [nz, v, q, a, u, n, n]) ] 词性和专名类别标签集合如下表,其中我们将最常用的4个专名类别标记为大写的形式:
定制化功能在模型输出的基础上,LAC还支持用户配置定制化的切分结果和专名类型输出。当模型预测匹配到词典的中的item时,会用定制化的结果替代原有结果。为了实现更加精确的匹配,我们支持以由多个单词组成的长片段作为一个item。 我们通过装载词典文件的形式实现该功能,词典文件每行表示一个定制化的item,由一个单词或多个连续的单词组成,每个单词后使用'/'表示标签,如果没有'/'标签则会使用模型默认的标签。每个item单词数越多,干预效果会越精准。
春天/SEASON花/n 开/v秋天的风落 阳
from LAC import LAClac = LAC()# 装载干预词典, sep参数表示词典文件采用的分隔符,为None时默认使用空格或制表符'\t'lac.load_customization('custom.txt', sep=None)# 干预后结果custom_result = lac.run(u"春天的花开秋天的风以及冬天的落阳")
春天/TIME 的/u 花开/v 秋天/TIME 的/u 风/n 以及/c 冬天/TIME 的/u 落阳/n
春天/SEASON 的/u 花/n 开/v 秋天的风/n 以及/c 冬天/TIME 的/u 落/n 阳/n 增量训练我们也提供了增量训练的接口,用户可以使用自己的数据,进行增量训练,首先需要将数据转换为模型输入的格式,并且所有数据文件均为"UTF-8"编码: 1. 分词训练
LAC 是 个 优秀 的 分词 工具 。百度 是 一家 高科技 公司 。春天 的 花开 秋天 的 风 以及 冬天 的 落阳 。
from LAC import LAC# 选择使用分词模型lac = LAC(mode = 'seg')# 训练和测试数据集,格式一致train_file = "./data/seg_train.tsv"test_file = "./data/seg_test.tsv"lac.train(model_save_dir='./my_seg_model/',train_data=train_file, test_data=test_file)# 使用自己训练好的模型my_lac = LAC(model_path='my_seg_model') 2. 词法分析训练
LAC/nz 是/v 个/q 优秀/a 的/u 分词/n 工具/n 。/w百度/ORG 是/v 一家/m 高科技/n 公司/n 。/w春天/TIME 的/u 花开/v 秋天/TIME 的/u 风/n 以及/c 冬天/TIME 的/u 落阳/n 。/w
from LAC import LAC# 选择使用默认的词法分析模型lac = LAC()# 训练和测试数据集,格式一致train_file = "./data/lac_train.tsv"test_file = "./data/lac_test.tsv"lac.train(model_save_dir='./my_lac_model/',train_data=train_file, test_data=test_file)# 使用自己训练好的模型my_lac = LAC(model_path='my_lac_model') 文件结构.├── python # Python调用的脚本├── c++ # C++调用的代码├── java # Java调用的代码├── Android # Android调用的示例├── README.md # 本文件└── CMakeList.txt # 编译C++和Java调用的脚本 在论文中引用LAC如果您的学术工作成果中使用了LAC,请您增加下述引用。我们非常欣慰LAC能够对您的学术工作带来帮助。 @article{jiao2018LAC, title={Chinese Lexical Analysis with Deep Bi-GRU-CRF Network}, author={Jiao, Zhenyu and Sun, Shuqi and Sun, Ke}, journal={arXiv preprint arXiv:1807.01882}, year={2018}, url={https://arxiv.org/abs/1807.01882}} 贡献代码我们欢迎开发者向LAC贡献代码。如果您开发了新功能,发现了bug……欢迎提交Pull request与issue到Github。 |
请发表评论