前言:
情感分析(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
后面的在整理整理,回头在更