尽管在长句识别上模型有待进一步优化,但是从测试集评估效果看,VI-LayoutXLM + PaddleNLP Taskflow微调得到的模型,在姓名、性别、出生年月、籍贯这类基本信息提取上,效果还是不错的,不失为实现图片简历信息抽取的一个比较好的办法。
下面,我们就通过应用创建工具实现这个模型的部署。由于VI-LayoutXLM模型还不支持whl安装,且抽取结果还有待进一步优化,这里,我们直接使用Taskflow后端调用OCR解析图片文档的能力。只对微调后的Taskflow文本抽取模型进行部署。
在使用测试图片部署效果时,使用streamlit部署有一个非常重要的注意事项,那就是streamlit默认读取的上传文件是字节流,虽然可以用st.image()
直接显示图片,但是我们在使用Taskflow的文本抽取能力时,是无法解析的。
本项目中,我们使用PIL进行中转,解决办法如下:
per_image = st.file_uploader("上传图片", type=['png', 'jpg'], label_visibility='hidden')
if per_image:
from io import BytesIO
from PIL import Image
st.image(per_image)
bytes_data = per_image.getvalue()
bytes_data = BytesIO(bytes_data)
capture_img = Image.open(bytes_data)
capture_img = capture_img.convert('RGB')
capture_img.save('temp.jpeg', quality=95)
在本项目中,我们将VI-LayoutXLM提取的图片格式简历处理后,结合原有数据标注进行了PaddleNLP的文本抽取模型微调训练,结果显示,虽然整体f1 socre>0.9+
,但是因为缺失了关键的排版顺序信息,模型在长本文的抽取效果上还有较大提升空间。后续,我们将结合针对这个问题,结合文档抽取模型的微调训练等工作,进一步研究引入OCR后,如何提升简历信息的抽取效果。
cd Your_Local_Path
git clone https://github.com/jiunting/MLARGE.git
将M-LARGE添加到PYTHONPATH
转到您的环境变量文件(.base_profile或.bashrc)
vi ~/.bashrc
vi ~/.bash_profile
并在文件中添加以下行
# set MLARGE
export PYTHONPATH= $PYTHONPATH :YOUR_PATH_MARGE/MLARGE/src
2.生成破裂和地震波形数据
地震场景和合成地震波基于以下方法
Melgar,D.,LeVeque,RJ,Dreger,DS,&Allen,RM(2016年)。 运动破裂场景和合成位移
var schema = {
string : { type : 'string' } ,
array : { type : 'array' , elemType : 'string' } ,
0. 摘要
参加了天池的一个pdf简历信息提取的比赛,这里进行回顾、整理和分享
赛题要求从pdf简历中提取出信息,比如说名字,籍贯等。这里搭建了一个BiLSTM-CRF模型,能够从PDF简历中提取出所需的信息。
模型的线上得分是0.727,排名 21/1200+
1. 赛题相关
赛题和数据:https://tianchi.aliyun.com/competition/entrance/231771...
联合建模文档的layout信息和text信息,预训练文档理解模型。
使用BERT作为backbone,加入2-D绝对位置信息,图像信息,分别捕获token在文档中的相对位置以及字体、文字方向、颜色等视觉信息。
2-D Position Embedding. 将文档页面视为坐标系统(左上为原点), 使用2张embedding table构造4种位置嵌入,横纵轴各使用1张嵌入表;
Image Embedding. 将文档页面图像分割成小图片序列,基于Faster R-CNN建
### 回答1:
我可以给你一些有关使用Docker Compose部署MySQL的指引:1.首先,在你的机器上安装Docker和Docker Compose;2.然后,创建一个docker-compose.yml文件,用来定义你的MySQL容器;3.在docker-compose.yml文件中添加MySQL配置;4.最后,使用docker-compose up命令来启动mysql容器。要使用Docker Compose部署MySQL,可以按照以下步骤进行操作:
1. 首先,在本地计算机上安装Docker和Docker Compose。
2. 创建一个新的目录,并在该目录下创建一个docker-compose.yml文件。
3. 在docker-compose.yml文件中添加以下内容:
version: '3.7'
services:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_DATABASE: your_database_name
MYSQL_USER: your_username
MYSQL_PASSWORD: your_password
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
4. 保存并关闭docker-compose.yml文件。
5. 在终端中,导航到新创建的目录并运行以下命令:`docker-compose up -d`。这将启动MySQL容器并将其运行在后台。
6. 在MySQL客户端中连接到MySQL服务器。使用以下命令连接到MySQL:
mysql -h 127.0.0.1 -P 3306 -u your_username -p
7. 在提示符下输入密码,即可连接到MySQL服务器。
这样,你就可以使用Docker Compose轻松地部署MySQL了。记得将上述步骤中的“your_root_password”、“your_database_name”、“your_username”和“your_password”替换为自己的值。好的,下面是docker-compose部署MySQL的步骤:
1. 首先,创建一个目录来存放docker-compose文件和MySQL数据文件:
mkdir mysql
cd mysql
2. 创建一个docker-compose.yml文件并打开它:
touch docker-compose.yml
vi docker-compose.yml
3. 将以下内容复制并粘贴到docker-compose.yml文件中:
version: '3.7'
services:
image: mysql:5.7
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: example
MYSQL_USER: example
MYSQL_PASSWORD: example
volumes:
- ./data:/var/lib/mysql
ports:
- "3306:3306"
这将定义一个名为“db”的MySQL容器,并指定MySQL的版本为5.7。它将使用名为“mysql”的容器名称,并将始终在失败时重新启动。它还指定了MySQL的根密码、数据库名称、用户名和密码。数据文件将存储在名为“data”的目录中,并将端口3306映射到主机上的3306端口。
4. 保存并关闭docker-compose.yml文件。
5. 运行以下命令以启动MySQL容器:
docker-compose up -d
这将启动容器并在后台运行。
6. 您可以使用以下命令检查容器是否正在运行:
docker ps
这将显示正在运行的容器列表。
现在,您已经成功地使用docker-compose部署了一个MySQL容器。
### 回答2:
在docker中运行MySQL可以使用docker-compose来进行部署,docker-compose是一个工具,可以帮助管理docker容器和服务,使得部署MySQL变得简单和可扩展。
下面是使用docker-compose部署MySQL的步骤:
1.准备docker-compose文件
在项目根目录中创建一个docker-compose.yml文件,文件中包含MySQL服务的配置信息。
version: '3'
services:
image: mysql:8
command: --default-authentication-plugin=mysql_native_password
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: mysql
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
在上面的docker-compose配置中,我们定义了一个MySQL服务,并命名为db。我们使用了官方MySQL 8镜像,MySQL_ROOT_PASSWORD是我们的root密码。我们还定义了MYSQL_DATABASE,MYSQL_USER和MYSQL_PASSWORD,以存储我们的数据库。同时我们定义了映射端口3306到主机上。
2.启动MySQL服务
在终端中进入项目目录,运行以下命令来启动MySQL服务:
docker-compose up -d
-d标志允许在后台运行。容器启动后,我们可以使用以下命令来查看正在运行的容器:
docker ps
3.连接MySQL
要连接MySQL服务器,我们需要在主机上安装MySQL客户端软件,例如MySQL Workbench。使用以下命令运行MySQL客户端:
mysql -h 127.0.0.1 -u user -p
在此命令中,我们指定了服务器的IP地址,用户名和密码。如果MySQL服务器可以正常运行,则应该可以在MySQL客户端中连接到MySQL服务。
4.使用MySQL
现在我们已经成功地部署了MySQL,并使用docker-compose创建了服务。现在可以使用该服务来创建数据库和表,插入数据等。
我们可以使用以下命令重新启动服务:
docker-compose restart
如果我们想要停止服务,则可以运行以下命令:
docker-compose down
综上所述,使用docker-compose来部署MySQL使得部署变得容易和可扩展。 它可以帮助我们节省大量的时间和资源,同时也可以在不同的开发环境中工作,这是非常有利的。
### 回答3:
Docker是一种容器化技术,在使用Docker容器部署MySQL服务时,Docker Compose可以帮助我们自动化管理Docker容器。Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。
首先,需要创建一个docker-compose.yml文件,用于定义MySQL容器的配置信息。以下是一个基本的docker-compose.yml文件示例:
version: '3'
services:
image: mysql:latest
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: mysql_password
MYSQL_DATABASE: db_name
MYSQL_USER: db_user
MYSQL_PASSWORD: db_password
ports:
- "3306:3306"
volumes:
- /docker/mysql-data:/var/lib/mysql
在上述文件中,我们给MySQL容器命名为"mysql",使用MySQL镜像库中的最新版本,设置了MySQL的登录密码、用户名、数据库名和密码,指定了MySQL服务端口为"3306",定义了一个数据卷,将主机中的/docker/mysql-data目录映射到容器中的/var/lib/mysql目录中,以持久化存储数据。
接下来,执行以下命令来启动MySQL容器:
$ docker-compose up -d
此命令会自动创建并启动MySQL容器,"db"服务名为docker-compose配置文件里的名字。"-d"参数表示容器以后台运行。
运行成功后,可以通过以下命令进入MySQL容器:
$ docker exec -it mysql bash
然后,用以下命令登录MySQL:
$ mysql -u <用户名> -p
输入MySQL管理员设置的密码即可成功登录。此时,我们使用的是互联网IP进行连接。如果要在本地连接,则需要添加docker-compose.yml文件中定义的端口,即3306。
以上是关于使用Docker Compose部署MySQL的流程。使用Docker Compose简单快捷地构建MySQL环境,可以使MySQL服务便于部署和维护,提高工作效率。