# NPLVisualizationTools **Repository Path**: lxiaomin/NPLVisualizationTools ## Basic Information - **Project Name**: NPLVisualizationTools - **Description**: NLP项目,主要是功能的集成。api 文档在doc目录下。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2018-01-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NPLVisualizationTools 自然语言处理与可视化分析工具 - 词法分析结果可视化模块 该模块是显示用户在输入一段文本后,平台后端进行分词处理并返回此文本规格化的分词结果。为了能够使用户更加容易理解分词结果,需要对该结果进行可视化呈现,将词序列以及词的词性用特定的序号或者颜色进行标注,并可以按照词性筛选一类词序列,便于用户关注主要词序列。若用户想得知某个词的详细信息,可以点击该词后参照详情栏的说明。 - 句法分析结果可视化模块 该模块是显示用户在输入一段文本后,平台后端进行依存句法分析、词行标注等处理后,返回该句JSON格式化的分析结果,并对该结果进行可视化处理呈现给用户。其中包括词与词之间的语法展示,如显式且明确地展示主谓关系等,并且需要标注词序列的词性,便于理解。 - 词法/句法批处理模块 该模块在词法或是句法分析中有着相似之处,它允许用户批量上传文件或者是输入网页URL的形式来调用词法/句法分析的接口,而不局限于API中的字符串调用,可以更灵活地应对各种不同的业务场景。同样的,平台后端处理完成返回的结果,既可以通过上述可视化模块进行渲染,又可以通过文件的形式提供给用户下载。 - 词法/句法API模拟调用模块 许多用户可能没有太多时间阅读繁琐的API文档,故本平台添加了词法/句法API模拟调用的功能。以固定选项的方式供用户选择一些参数,比如词法中应可以选择是否过滤标点或者过滤停用词等。并且为了接口的灵活性与可扩展性,对数据返回的格式也可以指定,如JSON、XML等。由于数据传输基于HTTP协议,所以既要给用户看到请求的数据,也要让用户看到平台处理后的响应数据。 - 词云模块 词云是把已做频率排序的词汇,按照词频从大到小的顺序排列。词频的大小决定其字号的大小,同时代表着该词的重要性,也被称为文字云。在语篇分析中,用户可能关注的是一长串文本中出现频率较高的“关键字”,而词云则是对这些“关键字”赋予视觉化的展示。大部分的低频、低质的词汇会被词云所过滤,这样一来,用户可以非常清晰地看到一段文本的高频词汇。本模块需预一部分词云蒙版,也需提供给用户自行上传图片蒙版的权限。 - 词频统计模块 与词云类似,也是对文本中词汇的统计。而本模块注重的是按词性统计。在调用分词接口后,按照词性来统计频率。本模块提供以饼状图、柱状图、折线图的形式,直观地展示统计的结果。 - 实体抽取模块 实体,即命名实体(Named Entity),即包括了机构名称,常见姓名和地名等有其特殊意义的名词。本模块对用户指定文本中出现的实体进行提取并归类,利用节点图的形式展示。 - 主题抽取 主题是一段长文本所要表达的意图,在发现抽象主题的自然语言处理任务经常被使用到。平台后端调用已训练好的主题模型预测该文本的中心主题。在实际场景中,一段长文本所要表达的主题往往不止一个,所以本模块应给出多个不同主题的概率,并以雷达图、仪表图的形式展示。 - 情感识别模块 本平台中的情感识别模块针对于用户输入的一段文本,判断该文本的情感倾向是正面的还是负面的,是一个极性的情感判断。作为一个二分类问题的自然语言处理任务,在应用中需要判断一些应用场景,来给出情感偏向于积极还是消极。由于是一个概率问题,故本模块应以饼状图的的方式来展示结果。 - 文本相似度计算模块 文本相似度即两段文本之间相似的程度,在自然语言处理的场景中,通常使用余弦相似度来衡量向量空间模型的空间距离。本模块与上述模块不同的地方是,需要增加一个用户输入,用以比较原文本,并以柱状图的形式呈现余弦相似度给用户,表示范围应在[-1,1]。 - 微博爬虫模块 本模块是微博分析模块的数据基础。通过模拟用户浏览微博,爬取微博页面并按照一定的格式存储到MySQL数据库,由微博信息爬取于博主信息爬取两部分组成。 - 微博分析模块 本模块是对本平台提供接口的一个综合应用。爬取的微博信息用于可视化展示,包括了微博内容可视化、转发/原创时间轴可视化、发布微博频率可视化、微博词云可视化、主题与情感走向可视化等。而博主信息则包括了博主本人信息、博主关注的人的信息,用于分析该博主的社交网络与兴趣圈,挖掘潜在的用户数据。 - API文档模块 API文档则是对本平台暴露给用户的RESTful接口输入与输出的详细说明。一方面可以详细地给用户介绍每个接口采用的HTTP动词、需要提交的字段、返回数据字段的格式与解释。另一方面,又可以给用户介绍其内部所使用的自然语言处理的算法,让平台内部实现细节对用户透明,使平台可用性更强。 - 主题管理模块 由上述主题模型的概念可知,主题模型需要通过大量的训练才能够识别越来越准确。所以,每次训练的结果平台都应该保存,并以增量更新模型的方式,使得用户可以按照时间观测主题的变化。另外,主题训练的数据由新闻爬虫爬取。在本模块中可以控制更新新闻语料库的时机。 - 新词管理模块 本平台所使用的字典难免会跟不上当前日新月异的互联网时代,所以在词法分析模块中,平台提供了一个新词建议的入口,用户在前端提交新词后,在后端的新词管理模块中能予以显示。经过运维人员核查词汇符合实情后,添加到自定义字典中。 - 词典文件管理模块 本模块主要是对自然语言处理中所使用的字典管理。可以动态地添加、删除字典,以满足管理的需要。 ## 项目截图 ![](doc/1.png) ![](doc/2.png) ![](doc/3.png) ![](doc/4.png) ![](doc/5.png) ![](doc/6.png) ![](doc/7.png) ![](doc/8.png) ![](doc/9.png)