ELIT-NLP研究平台测试

Abstract:ELIT是一个新开放的NLP研究平台,目前提供情感分析工具,使用CNN模型。小小地测试了下这个平台,目前功能还少,不过以后估计会增加吧。

介绍

AWS与埃默里大学合作开发的基于云的NLP研究平台ELIT

  • 端到端的NLP pipeline
  • 提供网页API将平台独立,任何人可通过网络连接请求在其上大规模计算

功能 ELIT SENTIMENT VISUALIZATION

ELIT SENTIMENT VISUALIZATION

CNN模型进行情感分析:

1
2
3
4
5
graph TD
A[create matrix通过叠加每个词的词向量创建输入矩阵]-->B[input matrix into convolution and pooling把输入矩阵送入卷积层和池化层]
B-->C[match the output with attention matrix将输出与attention矩阵匹配,测量输入文档中每个n-gram的强度]
C-->D[couple the output back to softmax layer模型将attention输出反馈给softmax层]
D-->E[softmax layer judge the rate of positiveness and negativeness and neutrality判断文本中词语正负中的概率]

CNN-Sentiment Analysis

功能:单词化—>分割—>情感分析

操作步骤

ELIT SENTIMENT VISUALIZATION

ELIT tutorial

1.输入文本

2.analyze(输入文本被发送到所选的运行NLP pipeline的ELIT服务器)

3.文本被用情绪编码标注,红-消极,绿-中立,蓝-积极;不同透明度(opacity)代表情感含义的强烈程度;可将强度等级可视化,圆圈越大,情感越强烈;如:

测试结果图:

test

注:测试发现情感标注效果并不算好,机器仍不能理解语义,只是做单纯的分词和按规则、语法标注。

python获取输出结果

1
2
3
4
5
6
7
8
9
10
11
import requests

r = requests.post('https://elit.cloud/public/decode/',
data={
'text': 'I went to the cinema with my boyfriend last night. The movie is good, even better if the actor could perform better.',
'input_format': 'raw',
'tokenize': '1',
'segment': '1',
'sentiment': 'mov, twit'})

print(r.text)

以网络请求方式调用网页API,结果以json格式输出。

解码框架

解码框架

解码请求通过弹性负载平衡器(Elastic Load Balancer)确保其可伸缩性。

Reference

ELIT SENTIMENT VISUALIZATION

ELIT tutorial

项目介绍

代码地址

AWS官方博客介绍地址

Thanks!