日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

用BRAT进行中文情感分析语料标注

發布時間:2023/11/28 生活经验 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用BRAT进行中文情感分析语料标注 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.背景

情感分析是NLP中的一大分支,無論在學術界還是工業界都有廣泛的研究,在SemEval語義分析會議中有單獨的情感分析任務分支,其中最難的一個任務叫做ABSA:Aspect-Based Sentiment Analysis,面向方面的情感分析。舉例來說,就是對以下句子,

新版本英雄的皮膚很不錯,但是游戲經常出現掉線

要能識別出這樣的情感標注結果:<英雄,視覺性,正面>,<游戲,穩定性,負面>

而其中,[英雄,游戲]為實體(entity),[視覺性,穩定性]為方面(aspect),ABSA的任務就是識別句子中關于某些實體的某些方面的正負面情感。

從Semeval?2015的結果來看,目前沒有任何技術能夠做到無監督解決這一任務,既然需要監督學習就少不了標注。如果借助現有的工具來提高標注效率在工程上具有重要意義。

本文主要介紹如何利用BRAT進行針對ABSA問題的語料標注,后續如何利用這些標注構建模型來解決ABSA問題將在隨后的文章中介紹。本系列的所有的工作都來自企鵝風訊團隊的努力成果

(http://fsight.qq.com)。

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]

1v1Participant1:英雄, 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?66SG的精髓是準

A5情感?T5?負面

T1角色,視覺?1091?1102猛龍時期的啊,發型夠吊

A1情感?T1?正面

?以上是對標注工具BRAT進行ABSA問題的標注全過程,目前brat官網上并沒有關于情感任務的標注實例,故而有此文章幫助需要的人減少學習成本。

總結

以上是生活随笔為你收集整理的用BRAT进行中文情感分析语料标注的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。