2021全国职业院校技能大赛--基于Docker-compose编排部署sentiment-analyzer情感分析系统

前言:

情感分析(Sentiment Analysis)—机器学习自我提炼

情感分析(Sentiment Analysis)是一种常见的自然语言处理(NLP)方法的应用,它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理,利用一些情感得分指标来量化定性数据的方法。在自然语言处理中,情感分析属于典型的文本分类问题,即把需要进行情感分析的文本划分为其所属类别,现在主流的情感分析方法有两种:一种基于词典的方法,一种是基于机器学习算法的方法。基于词典的方法主要通过制定一系列的情感词典和规则,对文本拆解、关键词提取,计算情感值,最后通过情感值来作为文本的情感倾向依据。这种方法往往会忽略其词顺序、语法和句法,将这段文本仅仅看做是一个词集合,因此不能充分的表达文本语义信息。比如,“A餐厅做的菜真难吃”,“B餐厅做的菜不难吃”,关两段文本的键词提取是”难吃”,通过这种方法判定得出结论:A,B餐厅做的菜都难吃,显然结论是错误的。

实战案例——容器化部署情感分析系统

案例目标

(1)了解基础服务的容器化镜像构建。

(2)了解情感分析系统服务的容器化部署。

1.1规划节点

192.168.9.130 master 节点

192.168.9.131 node 节点

1.2 基础准备

包不能在这发,需要的主页有联系方式~

Kubernetes集群已部署完成,将提供的压缩包Sentiment-Analyzer.tar.gz上传到master节点/root目录下并解压。

1 构建sa-logic镜像

(1)编写Dockerfile

        编写yum文件

[root@master ~]# cd sentiment-analyzer/
[root@master sentiment-analyzer]# vi local.repo
[sa]
name=sa
baseurl=file:///opt/sa-repo
gpgcheck=0
enabled=1

编写Dockerfile

[root@master sentiment-analyzer]# cat Dockerfile-logic 
FROM centos:centos7.5.1804
MAINTAINER Guo
WORKDIR /root
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/local.repo
COPY sa-repo /opt/sa-repo
COPY sa-logic/requirements.txt /root/requirements.txt
COPY sa-logic/app.py /root/app.py
ADD sa-logic/python-packages.tar.gz /root
RUN yum -y install python3
RUN pip3 install --find-links=/root/python-packages -r /root/requirements.txt
EXPOSE 5000
CMD ["python3", "app.py"]

(2)构建镜像

        构建镜像:

[root@master sentiment-analyzer]# docker build -t sa-logic:v1.0 -f Dockerfile-logic .
Sending build context to Docker daemon  348.2MB
Step 1/13 : FROM centos:centos7.5.1804
 ---> cf49811e3cdb
Step 2/13 : MAINTAINER Guo
 ---> Using cache
 ---> 02855371e6e9
Step 3/13 : WORKDIR /root
 ---> Using cache
 ---> 452ef41a356d
Step 4/13 : RUN rm -rf /etc/yum.repos.d/*
 ---> Using cache
 ---> 39c82cf6edf1
Step 5/13 : COPY local.repo /etc/yum.repos.d/local.repo
 ---> Using cache
 ---> 10c3cd5c066c
Step 6/13 : COPY sa-repo /opt/sa-repo
 ---> Using cache
 ---> b6b326099da7
Step 7/13 : COPY sa-logic/requirements.txt /root/requirements.txt
 ---> Using cache
 ---> 75e961748d66
Step 8/13 : COPY sa-logic/app.py /root/app.py
 ---> Using cache
 ---> ac5de077a8d0
Step 9/13 : ADD sa-logic/python-packages.tar.gz /root
 ---> Using cache
 ---> c9c1f014253d
Step 10/13 : RUN yum -y install python3
 ---> Using cache
 ---> 5bb21dca931b
Step 11/13 : RUN pip3 install --find-links=/root/python-packages -r /root/requirements.txt
 ---> Using cache
 ---> 396b732716bb
Step 12/13 : EXPOSE 5000
 ---> Using cache
 ---> 8c08e0279108
Step 13/13 : CMD ["python3", "app.py"]
 ---> Using cache
 ---> 4af11144b511
Successfully built 4af11144b511
Successfully tagged sa-logic:v1.0

1.3 构建sa-webapp镜像

(1)编写Dockerfile

[root@master sentiment-analyzer]# cat Dockerfile-webapp 
FROM centos:centos7.5.1804
MAINTAINER Guo
WORKDIR /root
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/local.repo
COPY sa-repo /opt/sa-repo
ADD sa-webapp/go-packages.tar.gz /root
RUN yum -y install golang
RUN go build -o webapp .
EXPOSE 8080
CMD ["/root/webapp"]

(2)构建镜像

[root@master sentiment-analyzer]# docker build -t sa-webapp:v1.0 -f Dockerfile-webapp .
Sending build context to Docker daemon  348.2MB
Step 1/11 : FROM centos:centos7.5.1804
 ---> cf49811e3cdb
Step 2/11 : MAINTAINER Guo
 ---> Using cache
 ---> 02855371e6e9
Step 3/11 : WORKDIR /root
 ---> Using cache
 ---> 452ef41a356d
Step 4/11 : RUN rm -rf /etc/yum.repos.d/*
 ---> Using cache
 ---> 39c82cf6edf1
Step 5/11 : COPY local.repo /etc/yum.repos.d/local.repo
 ---> Using cache
 ---> 10c3cd5c066c
Step 6/11 : COPY sa-repo /opt/sa-repo
 ---> Using cache
 ---> b6b326099da7
Step 7/11 : ADD sa-webapp/go-packages.tar.gz /root
 ---> Using cache
 ---> 5a8c4ad14414
Step 8/11 : RUN yum -y install golang
 ---> Using cache
 ---> 1fe36d2e2728
Step 9/11 : RUN go build -o webapp .
 ---> Using cache
 ---> 3fb843836547
Step 10/11 : EXPOSE 8080
 ---> Using cache
 ---> 97dda96366e0
Step 11/11 : CMD ["/root/webapp"]
 ---> Using cache
 ---> f9d451bf0cfb
Successfully built f9d451bf0cfb
Successfully tagged sa-webapp:v1.0

后面的在整理整理,回头在更

上一篇:Jetpack Compose——Switch、CheckBox、RadioButton简单介绍


下一篇:Dockerfile&Docker-Compose