精华内容
下载资源
问答
  • 基于谭松波老师的酒店评论数据集的中文文本情感分析,二分类问题 数据集标签有pos和neg,分别2000条txt文本 选择RNN、LSTM和Bi-LSTM作为模型,借助Keras搭建训练 主要工具包版本为TensorFlow 2.0.0、Keras 2.3.1和...
  • 3、情感分析停用词表 4、结巴分词自定义词典 5、常用语词典,包括流行新词,网络流行词,手机词汇,粤语,潮语潮词、阿里巴巴-通讯产品词汇等 ## 手机评论数据 1、HTC手机评论,包括打分,共302篇1-5...
  • 中文情感分析语料

    千次阅读 2017-11-03 16:20:12
    中文情感分析语料库 http://blog.leanote.com/post/doubleseven/%E4%B8%AD%E6%96%87%E6%83%85%E6%84%9F%E5%88%86%E6%9E%90%E8%AF%AD%E6%96%99%E5%BA%93 中文情感分析语料库非常少,这五个中文...

    中文情感分析语料库

    http://blog.leanote.com/post/doubleseven/%E4%B8%AD%E6%96%87%E6%83%85%E6%84%9F%E5%88%86%E6%9E%90%E8%AF%AD%E6%96%99%E5%BA%93


    中文情感分析的语料库非常少,这五个中文语料库是我在网上的搜集的。


     

     

     

    数据集1:情感挖掘的酒店评论语料

    URL:http://www.nlpir.org/?action-viewnews-itemid-77

    说明:谭松波收集整理了一个较大规模的酒店评论语料。语料规模为10000篇。语料从携程网上自动采集,并经过整理而成。为了方便起见,语料被整理成4个子集: 1.ChnSentiCorp-Htl-ba-2000: 平衡语料,正负类各1000篇。

    1. ChnSentiCorp-Htl-ba-4000: 平衡语料,正负类各2000篇。
    2. ChnSentiCorp-Htl-ba-6000: 平衡语料,正负类各3000篇。

    4.ChnSentiCorp-Htl-unba-10000: 非平衡语料,正类为7000篇。

     


     

     

    数据集2:2012年CCF自然语言处理与中文计算会议:中文微博情感分析测评数据

    URL:http://tcci.ccf.org.cn/conference/2012/pages/page10_dl.html

    说明:数据来自腾讯微博 1。评测数据全集包括 20 个话题,每个话题采集大约 1000

    条微博,共约 20000 条微博。数据采用xml格式,已经预先切分好句子。每条句子的所有标注信息都包含在<sentence>元素的属性中。其中opinionated表示是否观点句,polarity表示句子情感倾向。

     


     

    数据集3:中文情感挖掘语料-ChnSentiCorp

    URL :http://www.datatang.com/data/14614

    说明:语料库涉及3个领域:酒店、电脑(笔记本)与书籍

    去重后语料:

       1.ChnSentiCorp-Htl-del-4000: 平衡语料,正负类各2000篇。

       2.ChnSentiCorp-NB-del-4000: 平衡语料,正负类各2000篇。

       3.ChnSentiCorp-BK-del-4000: 平衡语料,正负类各2000篇。

     

     


     

    数据集4:豆瓣网影评情感测试语料

    URL:http://www.datatang.com/data/13539

    说明:影评来自豆瓣网对电影《ICE AGE3》的评论,评分标准均按照5 stars评分在网页中有标注。语料至527页。每页20条短评。 共计11323条评论。数据格式:HTML

     


     

    数据集5:SemEval-2016

    URL:http://alt.qcri.org/semeval2016/task5/index.php?id=data-and-tools

    说明:移动手机,数码产品评论数据,分为训练数据和测试数据

     

    训练数据

    测试数据

    评论文档数

    句子级数

    评论文档数

    句子级数

    移动手机

    140

    6330

    140

    5784

    数码产品

    60

    3191

    60

    2556


    展开全文
  • 这是覃建波老师的酒店评论数据集,是公认的情感分析语料数据,做中文自然语言处理情感分析所用。
  • 中文情感分析语料

    2018-01-30 13:44:08
    该资源包含计算机,酒店,蒙牛,热水器,手机,书籍,等方面,已分好类,有标签。总共将近30000条。还有搜狗新闻分类,和tr-croup-answer
  • 数据分析
  • 短文本情感分析语料,某外卖平台收集的用户评价,正负各8000条,共16000条
  • 说明:谭松波收集整理了一个较大规模的酒店评论语料语料规模为10000篇。语料从携程网上自动采集,并经过整理而成。为了方便起见,语料被整理成4个子集: 1. ChnSentiCorp-Htl-ba-2000: 平衡语料,正负类各1000篇。...
  • 情感极性分析,即情感分类,对带有主观情感色彩的文本进行分析、归纳。情感极性分析主要有两种分类方法:基于情感知识的方法和基于机器学习的方法。基于情感知识的方法通过一些已有的情感词典计算文本的情感极性...

    情感极性分析,即情感分类,对带有主观情感色彩的文本进行分析、归纳。情感极性分析主要有两种分类方法:基于情感知识的方法和基于机器学习的方法。基于情感知识的方法通过一些已有的情感词典计算文本的情感极性(正向或负向),其方法是统计文本中出现的正、负向情感词数目或情感词的情感值来判断文本情感类别;基于机器学习的方法利用机器学习算法训练已标注情感类别的训练数据集训练分类模型,再通过分类模型预测文本所属情感分类。本文采用机器学习方法实现对酒店评论数据的情感分类,利用Python语言实现情感分类模型的构建和预测,不包含理论部分,旨在通过实践一步步了解、实现中文情感极性分析。

    1 开发环境准备

    1.1 Python环境

    在python官网https://www.python.org/downloads/ 下载计算机对应的python版本,本人使用的是Python2.7.13的版本。后面,因为想要使用CNN算法与SVM算法结果进行比对,使用到了Tensorflow模块,而此模块在Windows系统中只有Python35版本,因此又加装了Python3.5的版本,即一台电脑同时存在连个python版本,可以分开使用。

    在本实例中前面直到SVM算法的实现都在Python27下完成,仅CNN算法在Python35下完成,特此说明。

    1.2 第三方模块

    本实例代码的实现使用到了多个著名的第三方模块,主要模块如下所示:

    2)Gensim

    用于主题模型、文档索引和大型语料相似度索引的python库,主要用于自然语言处理(NLP)和信息检索(IR)。下载地址:https://pypi.python.org/pypi/gensim

    本实例中的维基中文语料处理和中文词向量模型构建需要用到该模块。

    3)Pandas

    用于高效处理大型数据集、执行数据分析任务的python库,是基于Numpy的工具包。下载地址:https://pypi.python.org/pypi/pandas/0.20.1

    5)Scikit-learn

    用于机器学习的python工具包,python模块引用名字为sklearn,安装前还需要Numpy和Scipy两个Python库。官网地址:http://scikit-learn.org/stable/

    6)Matplotlib

    Matplotlib是一个python的图形框架,用于绘制二维图形。下载地址:https://pypi.python.org/pypi/matplotlib

    2 数据获取

    2.1 停用词词典

    2.2 正负向语料库

    文本从http://www.datatang.com/data/11936 下载“有关中文情感挖掘的酒店评论语料”作为训练集与测试集,该语料包含了4种语料子集,本文选用正负各1000的平衡语料(ChnSentiCorp_htl_ba_2000)作为数据集进行分析。

    3 数据预处理

    3.1 正负向语料预处理

    下载并解压ChnSentiCorp_htl_ba_2000.rar文件,得到的文件夹中包含neg(负向语料)和pos(正向语料)两个文件夹,而文件夹中的每一篇评论为一个txt文档,为了方便之后的操作,需要把正向和负向评论分别规整到对应的一个txt文件中,即正向语料的集合文档(命名为2000_pos.txt)和负向语料的集合文档(命名为2000_neg.txt)。

    具体Python实现代码如下所示:

    233da896226a

    1_process--文档处理代码

    运行完成后得到2000_pos.txt和2000_neg.txt两个文本文件,分别存放正向评论和负向评论,每篇评论为一行。文档部分截图如下所示:

    233da896226a

    酒店评论截图

    3.2 中文文本分词

    本文采用结巴分词分别对正向语料和负向语料进行分词处理。特别注意,在执行代码前需要把txt源文件手动转化成UTF-8格式,否则会报中文编码的错误。在进行分词前,需要对文本进行去除数字、字母和特殊符号的处理,使用python自带的string和re模块可以实现,其中string模块用于处理字符串操作,re模块用于正则表达式处理。

    具体实现代码如下所示:

    233da896226a

    2_cutsentence--结巴分词代码

    处理完成后,得到2000_pos_cut.txt和2000_neg_cut.txt两个txt文件,分别存放正负向语料分词后的结果。分词结果部分截图如下所示:

    233da896226a

    分词结果截图

    3.3 去停用词

    分词完成后,即可读取停用词表中的停用词,对分词后的正负向语料进行匹配并去除停用词。去除停用词的步骤非常简单,主要有两个:

    1)读取停用词表;

    2)遍历分词后的句子,将每个词丢到此表中进行匹配,若停用词表存在则替换为空。

    具体实现代码如下所示:

    233da896226a

    3_stopword--去除停用词代码

    根据代码所示,停用词表的获取使用到了python特有的广播形式,一句代码即可搞定:

    stopkey = [w.strip() for w in codecs.open('data\stopWord.txt', 'r', encoding='utf-8').readlines()]

    读取出的每一个停用词必须要经过去符号处理即w.strip(),因为读取出的停用词还包含有换行符和制表符,如果不处理则匹配不上。代码执行完成后,得到2000_neg_cut_stopword.txt和2000_pos_cut_stopword.txt两个txt文件。

    由于去停用词的步骤是在句子分词后执行的,因此通常与分词操作在同一个代码段中进行,即在句子分词操作完成后直接调用去停用词的函数,并得到去停用词后的结果,再写入结果文件中。本文是为了便于步骤的理解将两者分开为两个代码文件执行,各位可根据自己的需求进行调整。

    3.4 获取特征词向量

    根据以上步骤得到了正负向语料的特征词文本,而模型的输入必须是数值型数据,因此需要将每条由词语组合而成的语句转化为一个数值型向量。常见的转化算法有Bag of Words(BOW)、TF-IDF、Word2Vec。本文采用Word2Vec词向量模型将语料转换为词向量。

    由于特征词向量的抽取是基于已经训练好的词向量模型,而wiki中文语料是公认的大型中文语料,本文拟从wiki中文语料生成的词向量中抽取本文语料的特征词向量。Wiki中文语料的Word2vec模型训练在之前写过的一篇文章“利用Python实现wiki中文语料的word2vec模型构建” 中做了详尽的描述,在此不赘述。即本文从文章最后得到的wiki.zh.text.vector中抽取特征词向量作为模型的输入。

    获取特征词向量的主要步骤如下:

    1)读取模型词向量矩阵;

    2)遍历语句中的每个词,从模型词向量矩阵中抽取当前词的数值向量,一条语句即可得到一个二维矩阵,行数为词的个数,列数为模型设定的维度;

    3)根据得到的矩阵计算矩阵均值作为当前语句的特征词向量;

    4)全部语句计算完成后,拼接语句类别代表的值,写入csv文件中。

    主要代码如下图所示:

    233da896226a

    4_getwordvecs--获取词向量代码

    代码执行完成后,得到一个名为2000_data.csv的文件,第一列为类别对应的数值(1-pos, 0-neg),第二列开始为数值向量,每一行代表一条评论。结果的部分截图如下所示:

    233da896226a

    词向量截图

    3.5 降维

    Word2vec模型设定了400的维度进行训练,得到的词向量为400维,本文采用PCA算法对结果进行降维。具体实现代码如下所示:

    233da896226a

    5_pca_svm--PCA降维代码

    运行代码,根据结果图发现前100维就能够较好的包含原始数据的绝大部分内容,因此选定前100维作为模型的输入。

    233da896226a

    PCA维度解释结果图

    4 分类模型构建

    本文采用支持向量机(SVM)作为本次实验的中文文本分类模型,其他分类模型采用相同的分析流程,在此不赘述。

    支持向量机(SVM)是一种有监督的机器学习模型。本文首先采用经典的机器学习算法SVM作为分类器算法,通过计算测试集的预测精度和ROC曲线来验证分类器的有效性,一般来说ROC曲线的面积(AUC)越大模型的表现越好。

    首先使用SVM作为分类器算法,随后利用matplotlib和metric库来构建ROC曲线。具体python代码如下所示:

    233da896226a

    5_pca_svm--SVM代码

    运行代码,得到Test Accuracy: 0.88,即本次实验测试集的预测准确率为88%,ROC曲线如下图所示。

    233da896226a

    ROC曲线图

    至此,利用Pyhon对酒店评论进行中文情感极性分析的流程与方法全部介绍完毕,代码和数据已上传至本人的GitHub仓库,data文件夹中包含停用词表stopWord.txt和测试集ChnSentiCorp_htl_ba_2000,还可采用其他分类模型进行分类,欢迎各位朋友批评指正、共同学习!

    展开全文
  • python 情感分析 语料

    2017-08-31 16:48:49
    构造该资源的宗旨是在情感计算领域,为中文文本情感分析和倾向性分析提供一个便捷可靠的辅助手段。中文情感词汇本体可以用于解决多类别情感分类的问题,同时也可以用于解决一般的倾向性分析的问题。
  • 包含情感词(积极,消极,程度词,主张词),情感词典(大连理工,HowNet),中文情感挖掘酒店评论语料
  • 中文5大领域情感分析语料,包含服装、酒店、网购、洗发水等5个领域的评价,各个领域正负各2000条数据。
  • 文章目录一、Snownlp 简介SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和...

    不甘心的时候,就是在进步;痛苦的时候,就是在成长。

    文章目录

    一、Snownlp 简介

    SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode编码。# 安装

    pip install snownlp -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

    二、Snownlp 特性中文分词(Character-Based Generative Model)

    词性标注(TnT 3-gram 隐马)

    情感分析(官网没有介绍具体原理,但是指明购物类的评论的准确率较高,其实是因为它的语料库主要是购物方面的)

    文本分类(原理是朴素贝叶斯)

    转换成拼音 (Trie树实现的最大匹配)

    繁体转简体 (Trie树实现的最大匹配)

    提取文本关键词(TextRank算法)

    提取文本摘要(TextRank算法)

    tf,idf

    Tokenization(分割成句子)

    文本相似(BM25)

    三、Snownlp库的基本使用from snownlp import SnowNLP

    word = u'这个姑娘真好看'

    s = SnowNLP(word)

    print(s.words) # 分词

    print(list(s.tags)) # 词性标注

    print(s.sentiments) # 情感分数

    print(s.pinyin) # 拼音

    print(SnowNLP(u'蒹葭蒼蒼,白露為霜。所謂伊人,在水一方。').han) # 繁体字转简体

    运行结果如下:

    ['这个', '姑娘', '真', '好看']

    [('这个', 'r'), ('姑娘', 'n'), ('真', 'd'), ('好看', 'a')]

    0.9002381975487243

    ['zhe', 'ge', 'gu', 'niang', 'zhen', 'hao', 'kan']

    蒹葭苍苍,白露为霜。所谓伊人,在水一方。from snownlp import SnowNLP

    text = u'''

    自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。

    它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。

    自然语言处理是一门融语言学、计算机科学、数学于一体的科学。

    因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,

    所以它与语言学的研究有着密切的联系,但又有重要的区别。

    自然语言处理并不是一般地研究自然语言,

    而在于研制能有效地实现自然语言通信的计算机系统,

    特别是其中的软件系统。因而它是计算机科学的一部分。

    '''

    s = SnowNLP(text)

    print(s.keywords(limit=3)) # 关键词提取

    print('--------------------------------')

    summary = s.summary(limit=4) # 文本概括

    for i in summary:

    print(i)

    print('--------------------------------')

    print(s.sentences) # 句子

    运行结果如下:

    ['语言', '自然', '计算机']

    --------------------------------

    因而它是计算机科学的一部分

    自然语言处理是计算机科学领域与人工智能领域中的一个重要方向

    自然语言处理是一门融语言学、计算机科学、数学于一体的科学

    所以它与语言学的研究有着密切的联系

    --------------------------------

    ['自然语言处理是计算机科学领域与人工智能领域中的一个重要方向', '它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法', '自然语言处理是一门融语言学、计算机科学、数学于一体的科学', '因此', '这一领域的研究将涉及自然语言', '即人们日常使用的语言', '所以它与语言学的研究有着密切的联系', '但又有重要的区别', '自然语言处理并不是一般地研究自然语言', '而在于研制能有效地实现自然语言通信的计算机系统', '特别是其中的软件系统', '因而它是计算机科学的一部分']

    Process finished with exit code 0# 评价词语对文本的重要程度

    # TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。

    # TF词频越大越重要,但是文中会的“的”,“你”等无意义词频很大,却信息量几乎为0,这种情况导致单纯看词频评价词语重要性是不准确的。因此加入了idf

    # IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t越重要

    # TF-IDF综合起来,才能准确的综合的评价一词对文本的重要性。

    from snownlp import SnowNLP

    s = SnowNLP([[u'这篇', u'文章', u'写得', u'不错'],

    [u'那篇', u'论文', u'好'],

    [u'这个', u'东西', u'好吃']])

    print(s.tf) # tf 意思是词频(Term Frequency)

    print('---------------------------------------------------')

    print(s.idf) # idf 意思是逆文本频率指数(Inverse Document Frequency)

    print('-----------------------------------------------------')

    # 文本相似度

    print(s.sim([u'文章']))

    print(s.sim([u'好']))

    运行结果如下:

    [{'这篇': 1, '文章': 1, '写得': 1, '不错': 1}, {'那篇': 1, '论文': 1, '好': 1}, {'这个': 1, '东西': 1, '好吃': 1}]

    ---------------------------------------------------

    {'这篇': 0.5108256237659907, '文章': 0.5108256237659907, '写得': 0.5108256237659907, '不错': 0.5108256237659907, '那篇': 0.5108256237659907, '论文': 0.5108256237659907, '好': 0.5108256237659907, '这个': 0.5108256237659907, '东西': 0.5108256237659907, '好吃': 0.5108256237659907}

    -----------------------------------------------------

    [0.4686473612532025, 0, 0]

    [0, 0.5348959411162205, 0]# 关于训练

    # 现在提供训练的包括分词,词性标注,情感分析,都是用的snownlp库自带的原始文件 以分词为例 分词在snownlp/seg目录下

    from snownlp import seg

    sentiment.train('neg.txt', 'pos.txt')

    seg.save('seg.marshal')

    # 这样训练好的文件就保存为seg.marshal了,之后修改snownlp/seg/__init__.py里的data_path指向刚训练好的文件即可

    四、NLP测试

    1. 获取数据

    爬取部分好评、中评和差评数据,分别保存到三个txt里。

    2. 处理数据from pathlib import Path

    import pandas as pd

    # 获取当前目录下 存储好评 中评 差评数据的txt

    p = Path(r'D:\python\pycharm2020\program\数据分析\中文情感分析')

    review_txt = list(p.glob('**/*.txt'))

    all_data = pd.DataFrame()

    for item in review_txt:

    emotion = item.stem # 获取文件名 除后缀的部分

    with Path(item).open(mode='r') as f:

    con = f.read().split('\n')

    data = pd.DataFrame({'评论内容': con, '标签': [emotion] * len(con)})

    all_data = all_data.append(data)

    all_data.to_excel('评论数据.xlsx', index=False)

    3. NLP测试from snownlp import SnowNLP

    import pandas as pd

    import re

    df = pd.read_excel('评论数据.xlsx')

    content = df['评论内容']

    # 去除一些无用的字符 只提取出中文出来

    content = [' '.join(re.findall('[\u4e00-\u9fa5]+', item, re.S)) for item in content]

    # 对每条评论进行情感打分

    scores = [SnowNLP(i).sentiments for i in content]

    emotions = []

    # 根据分数来划定好评 中评 差评

    for i in scores:

    if i >= 0.75:

    emotions.append('好评')

    elif 0.45 <= i < 0.75:

    emotions.append('中评')

    else:

    emotions.append('差评')

    df['情感分数'] = scores

    df['情感'] = emotions

    df.to_excel('NLP测试后数据.xlsx')import pandas as pd

    # 计算预测准确率

    df = pd.read_excel('NLP测试后数据.xlsx')

    # 看准确率 通过Snownlp情感打分 设置梯度得出的情感 好评 中评 差评 与实际标签相比较

    data = df[df['标签'] == df['情感']]

    print('准确率为:{:.3%}'.format(len(data) / len(df)))

    运行结果如下:

    准确率为:72.292%

    Process finished with exit code 0准确率还可以,但还不算高,分析原因可能为如下方面:

    因为只是做练习、熟悉Snownlp库的基本使用,通过情感打分和设置梯度来判断情感,没有自己构建该领域的语料库,如果构建了相关语料库,替换默认语料库,准确率会高很多。所以语料库是非常关键的,如果要正式进行文本挖掘,建议要构建自己的语料库。

    这个商品下的评论,中评、差评的界限比较模糊,每条评论的标签用的是爬取时默认标签:属于什么评论,没有人工去看,会有相当的误差。

    对文本的处理也只是滤掉其他字符,提取中文。

    展开全文
  • 情感分析是NLP中的一大分支,无论在学术界还是工业界都有广泛的研究,在SemEval语义分析会议中有单独的情感分析任务分支,其中最难的一个任务叫做ABSA:Aspect-Based Sentiment Analysis,面向方面的情感分析....

    1.背景

    情感分析是NLP中的一大分支,无论在学术界还是工业界都有广泛的研究,在SemEval语义分析会议中有单独的情感分析任务分支,其中最难的一个任务叫做ABSA:Aspect-Based Sentiment Analysis,面向方面的情感分析。举例来说,就是对以下句子,

    新版本英雄的皮肤很不错,但是游戏经常出现掉线

    要能识别出这样的情感标注结果:<英雄,视觉性,正面>,<游戏,稳定性,负面>

    而其中,[英雄,游戏]为实体(entity),[视觉性,稳定性]为方面(aspect),ABSA的任务就是识别句子中关于某些实体的某些方面的正负面情感。

    从Semeval 2015的结果来看,目前没有任何技术能够做到无监督解决这一任务,既然需要监督学习就少不了标注。如果借助现有的工具来提高标注效率在工程上具有重要意义。

    本文主要介绍如何利用BRAT进行针对ABSA问题的语料标注,后续如何利用这些标注构建模型来解决ABSA问题将在随后的文章中介绍。本系列的所有的工作都来自WeTest舆情团队的努力成果(http://wetest.qq.com/bee/)。

    2.BRAT简介

    BRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的标注结果能够把无结构化的原始文本结构化,供计算机处理。利用该工具可以方便的获得各项NLP任务需要的标注语料。以下是利用该工具进行命名实体识别任务的标注例子:

    第一步:安装BRAT

    brat的安装非常简单,只需要unix-like系统和web server支持cgi环境即可,具体安装流程官网写的很清楚,http://brat.nlplab.org/installation.html,需要注意的是web server下各个路径的权限需要设置好,python需要支持sqlite

    第二步:标注配置

    brat通过配置文件来决定对语料的标注可以满足何种任务,包括四个文件

    • annotation.conf: annotation type configuration
    • visual.conf: annotation display configuration
    • tools.conf: annotation tool configuration
    • kb_shortcuts.conf: keyboard shortcut tool configuration

    一般只需要修改annotation.conf即可,该文件用于对标注的数据结构进行配置,典型的配置如下:

    [entities]	 
    英雄
    技能
    
    [relations]
    同盟	Arg1:英雄, Arg2:英雄
    拥有	Arg1:英雄, Arg2:技能
    
    [events]	 
    1v1	Participant1:英雄, Participant2:英雄
    
    [attributes]	 
    攻击力	Arg:<ENTITY>, Value:1|2|3|4|5

     每个文件需要包含四类模块:entities、relations、events、attributes。各个模块都可以定义为空,其中

    entities用来定义标注的实体名称,其格式为每行一个实体类型,比如:人名、地名、英雄名、技能名等

    relations用来定义实体间的关系,格式为每行定义一种关系,第一列为关系类型,随后是用逗号分隔的ArgN:实体名,用来表示关系的各个相关者。比如例子中,同盟关系是存在于英雄之间

    events用来定义事件,每行定义一类事件,第一列为事件名,随后是用逗号分隔的Participant:实体名,用来表示事件的各个参与者。比如例子中,1v1事件需要多个英雄参加

    attributes用来定义属性,每行一个属性,第一列为属性名,随后用逗号分隔的Arg:<模块类型>, Value:属性值,注意属性值可以有多个,比如例子中,定义了实体类型可以有攻击力,值从1-3

    特别说明:brat本身是不支持中文的,如果在配置文件里定义中文会报错,解决办法是修改./server/src/projectconfig.py文件的第163行,加上中文支持即可:

    n  = re.sub(u'[^a-zA-Z\u4e00-\u9fa5<>,0-9_-]', '_', n)

    第三步:导入数据

    brat将需要标注的数据放在data目录下,每个子文件是一个项目,可以看到默认有examples和tutorials两个目录。里面放了各种教程和实例项目,你可以自己定义自己的项目,比如data/project/bee/,每个项目里需要至少包含一个txt文件和一个ann文件,其中ann是标注结果写入的文件,txt是标注数据文件,另外自定义的配置文件也要放在项目目录中,否则系统会采用默认的配置

    第四步:标注数据

    接下来就可以对语料进行标注了,在第一步安装完成以后就应该可以在webserver配置的地址访问到brat的首页,默认情况下会提示你选择项目路径,如

    你可以根据你的项目路径定位到需要标注的文本文件,打开后,默认加载之前的标注结果,此时你可以对文本进行标注(注意要先登录)

    标注的方法很简单直观,首先选中需要标注的一段文本,然后会弹出对该段文本的标注类型:

    这里可以选择实体类型、事件类型和属性,

    对于两个标注后的部分,可以从一端拖动到另一端,实现关系的标注:

    3.ABSA标注结构

    以上就是使用BRAT进行标注的方法,对于ABSA问题,需要标注各个文本片段的<实体,方面,情感值>,特别的对与semeval 2015中的ABSA问题的slot2,还需要标注文本的观点片段,而我们利用BRAT解决这一标注的方案是:

    定义实体为<实体,方面>对

    定义实体具有属性<情感>,其值域是[正面,负面,中立]

    因此annotation.conf里的内容如下:

    [entities]
    角色,操作感
    角色,视觉
    
    [relations]
    [events]
    
    [attributes]
    情感    Arg:<ENTITY>, Value:正面|负面|中立

     为了便于可视,我还特别定义的视觉配置visual.conf(这一部分规则不在此详述,感兴趣请参考官网说明):

    [labels]
    [drawing]
    SPAN_DEFAULT    fgColor:black, bgColor:lightgreen, borderColor:darken
    ARC_DEFAULT color:black, arrowHead:triangle-5
    角色,操作感 bgColor:#ffccaa
    情感    

     最终的标注效果如下:

    由此便可以对各个片段进行ABSA任务的标注,最终生成的标注结果格式如下:

    T2	角色,操作感 23 32	艾瑞克,手感很不错
    A2	情感 T2 正面
    T3	角色,操作感 36 44	操作一般的用沃尔
    A3	情感 T3 中立
    T4	角色,操作感 44 54	操作不错的可以用隆多
    A4	情感 T4 中立
    T5	角色,操作感 59 66	SG的精髓是准
    A5	情感 T5 负面
    T1	角色,视觉 1091 1102	猛龙时期的啊,发型够吊
    A1	情感 T1 正面

     以上是对标注工具BRAT进行ABSA问题的标注全过程,目前brat官网上并没有关于情感任务的标注实例,故而有此文章帮助需要的人减少学习成本。本文和后续的ABSA研究工作主要用于WeTest舆情系统的风向标功能以及后续新增功能,详情请见http://wetest.qq.com/bee/?action=DataOverview&tag=overview

    著于2015/11/11

    展开全文
  • 讨论中文情感分析的研究现状。而本文将要从微博的符号、词语等粒度上,用情感分析的方法对微博文本进行分类。 虽然研究者在文本挖掘展开了越来越多的研究,但是对各个领域的深入挖掘依然处在探索阶段。而微博,作为...
  • 中文情感分析语料库大全-带下载地址
  • 毕业设计:微博语料中文情感分析

    千次阅读 2020-12-19 08:35:00
    向AI转型的程序员都关注了这个号????????????人工智能大数据与深度学习 公众号:datayx微博的强大影响力已经深深的吸引了更多的人加入。而对微博的情感分析,不仅可以获取网民...
  • 情感分析语料.rar

    2019-10-18 15:59:14
    谭松波整理的中文酒店评论语料。数据规模有10000篇,每条评论已经标注好情感方向。
  • 情感分析语料库——情感词典(中文英文)转

    万次阅读 多人点赞 2019-05-23 14:23:45
    情感分析资源 (转) 中文的http://wenku.baidu.com/view/819b90d676eeaeaad1f3306e.html 情感词典 1.知网的情感词典 -http://www.keenage.com/html/c_bulletin_2007.htm 由知网发布的词典,包括中文情感词典和...
  • Chinese-sentiment-analysis-with-Doc2Vec简介中文语料情感分析基本步骤如下:爬取相关的语料或者下载相关语料(本文使用了对于宾馆评价的相关语料作为例子)将语料进行预处理并分词用某种量化的表达形式来对语料...
  • 情感分析语料

    千次阅读 2018-03-22 17:36:27
    因为项目要求,主要先收集英文的语料库来进行模型的训练。一、英文1.(可下载) 康奈尔大学(Cornell)提供的影评数据集 - http://www.cs.cornell.edu/people/pabo/movie-review-data/由电影评论组成,其中持肯定和否定...
  • 1.背景情感分析是NLP中的一大分支,无论在学术界还是工业界都有广泛的研究,在SemEval语义分析会议中有单独的情感分析任务分支,其中最难的一个任务叫做ABSA:Aspect-Based Sentiment Analysis,面向方面的情感分析...
  • 本资源为自己人工标记的微博语料,分为消极pos.txt,积极neg.txt 各60000条,适用于机器学习情感分析,训练数据原数据
  • 共22000条酒店评论情感分析语料,包括pos积极语料,neg消极语料

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,306
精华内容 1,722
关键字:

中文语料情感分析