# bert-utils
本文基于Google开源的[BERT](https://github.com/google-research/bert)代码进行了进一步的简化,方便生成句向量与做文本分类
---
***** New July 1st, 2019 *****
+ 修改句向量`graph`文件的生成方式,提升句向量启动速度。不再每次以临时文件的方式生成,首次执行extract_feature.py时会创建`tmp/result/graph`,
再次执行时直接读取该文件,如果`args.py`文件内容有修改,需要删除`tmp/result/graph`文件
+ 修复同时启动两个进程生成句向量时代码报错的bug
+ 修改文本匹配数据集为QA_corpus,该份数据相比于蚂蚁金服的数据更有权威性
---
1、下载BERT中文模型
下载地址: https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip
2、把下载好的模型添加到当前目录下
3、句向量生成
生成句向量不需要做fine tune,使用预先训练好的模型即可,可参考`extract_feature.py`的`main`方法,注意参数必须是一个list。
首次生成句向量时需要加载graph,并在output_dir路径下生成一个新的graph文件,因此速度比较慢,再次调用速度会很快
```
from bert.extrac_feature import BertVector
bv = BertVector()
bv.encode(['今天天气不错'])
```
4、文本分类
文本分类需要做fine tune,首先把数据准备好存放在`data`目录下,训练集的名字必须为`train.csv`,验证集的名字必须为`dev.csv`,测试集的名字必须为`test.csv`,
必须先调用`set_mode`方法,可参考`similarity.py`的`main`方法,
训练:
```
from similarity import BertSim
import tensorflow as tf
bs = BertSim()
bs.set_mode(tf.estimator.ModeKeys.TRAIN)
bs.train()
```
验证:
```
from similarity import BertSim
import tensorflow as tf
bs = BertSim()
bs.set_mode(tf.estimator.ModeKeys.EVAL)
bs.eval()
```
测试:
```
from similarity import BertSim
import tensorflow as tf
bs = BertSim()
bs.set_mode(tf.estimator.ModeKeys.PREDICT)
bs.test()
```
5、DEMO中自带了QA_corpus数据集,这里给出[地址](http://icrc.hitsz.edu.cn/info/1037/1162.htm),
该份数据的生成方式请参阅附件中的论文`The BQ Corpus.pdf`
没有合适的资源?快使用搜索试试~ 我知道了~
一行代码使用BERT生成句向量,BERT做文本分类、文本相似度计算
5星 · 超过95%的资源 需积分: 48 118 下载量 150 浏览量
2019-11-03
18:33:01
上传
评论 12
收藏 2.97MB GZ 举报
温馨提示
共17个文件
py:9个
csv:3个
pdf:1个
一行代码使用BERT生成句向量,BERT做文本分类、文本相似度计算
资源推荐
资源详情
资源评论
收起资源包目录
283.bert-utils__terrifyzhao.tar.gz (17个子文件)
283.bert-utils__terrifyzhao
similarity.py 28KB
tokenization.py 11KB
extract_feature.py 14KB
data
train.csv 7.11MB
dev.csv 725KB
test.csv 728KB
LICENSE 11KB
__init__.py 631B
graph.py 5KB
args.py 776B
requirements.txt 112B
optimization.py 6KB
.gitignore 98B
bert_vec.py 2KB
README.md 2KB
modeling.py 38KB
The BQ Corpus.pdf 317KB
共 17 条
- 1
资源评论
- _Meilinger_2021-06-03不错,是有用的资源,能够直接生成句向量。
AI研究院
- 粉丝: 71
- 资源: 702
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功