zoukankan      html  css  js  c++  java
  • 自然语言处理标注工具——Brat(安装、测试、使用)

    一、Brat标注工具安装

    1.安装条件:

    (1)运行于Linux系统(window系统下虚拟机内linux系统安装也可以)

    (2)目前brat最新版本(v1.3p1)仅支持python2版本运行使用(我用的是python2.7版本)

    2.建议到github网站下载最新release版本:https://github.com/nlplab/brat/release

    3.下载方式

    (1)windows系统点击zip文件下载解压

    (2)在linux系统的/var/www/html/目录下wget下载解压

    wget https://github.com/nlplab/brat/archive/refs/tags/v1.3p1.zip
    unzip brat-1.3p1.zip  # 下载后zip文件名为brat-1.3p1.zip
    mv brat-1.3p1.zip brat  # 修改文件名为brat
    

    4.安装

    (1)在/var/www/html/brat目录下执行

    ./install.sh
    

    (2)启动apache2

    service apache2 start

    (3)运行服务

    python2.7 standalone.py
    

     如果出现了以下错误:

    File "standalone.py", line 257
        except SystemExit, sts:
                         ^
      SyntaxError: invalid syntax
    

     说明需要将python3版本改为python2.7版本

    (4)原始brat配置文件没有针对中文文本的标注,需要安装后自行修改/var/www/html/brat/server/src/projectconfig.py配置文件162行,将其注释更改为如下所示:

    # n  = re.sub(r'[^a-zA-Z0-9_-]', '_', n) 
    
    n = re.sub(u'[^a-zA-Zu4e00-u9fa5<>u2014-uff1b,0-9_-]', '_', n)
    

    (5)打开浏览器,输入http://127.0.0.0:brat即可见到欢迎页面!

      点击ok开始进入使用。

    5.使用

    (1)/var/www/html/brat/目录下的data目录是供我们自己做标注时存放项目的文件夹,可以在data内mkdir一个project目录,再根据具体项目创建对应目录。

    例如我现在需要标注10份txt文件,那么我需要在project内创建项目目录后label-test将这10份txt文件放进去,但是需要注意的是,brat并不会在标注的同时帮助我们创建每个txt对应的标注结果文件,

    所以在标注之前,我们需要先一一对应创建这10份txt对应的ann文件(空的)。下面这条命令意思是找到当前目录下的txt文件并复制其名称创建一个空白的ann文件。

    find ./ -name '*.txt' | sed -e 's|.txt|.ann|g' | xargs touch
    

     利用上述的命令后,我们目录下将会有10个txt文件,10个ann文件。

    (2)标注需要配置文件,因此我们要到/var/www/html/brat/目录下找到annotation.conf以及visual.conf,复制到/var/www/html/brat/data/project/label-test/目录下

    annotation.conf是可以对标注的实体、关系、事件、属性等内容。

    visual.conf可以修改标注的颜色等。

    示例:

    annotation.conf内容:

    [entities]
    # Definition of entities.
    # Format is a simple list with one type per line.
    时间
    地点
    人名
    组织名
    公司名
    产品名
    
    [relations]
    
    
    [events]
    
    
    [attributes]
    

     注意:即使没有relations、events、attributes等内容,也不能把这几个去掉,去掉会一直报错!!

    visual.conf内容:

    [labels]
    
    
    [drawing]
    时间 bgColor:yellow
    地点 bgColor:blue, fgColor:white
    人名 bgColor:deepskyblue
    组织名 bgColor:green, fgColor:white
    公司名 bgColor:purple, fgColor:white
    产品名 bgColor:pink
    

     注意:同理,即使没有labels内容,也不要去掉[labels]。

    mayun.txt内容:

    1964年9月10日,马云出生在杭州。
    幼年的马云在人们的眼中是典型的坏孩子:叛逆、倔强、爱打架、逞强、顽皮淘气。
    马云的父亲虽然是典型的江南人,但脾气却很火暴,马云从小在父亲拳脚下长大。
    马云是看金庸的武侠小说长大的,行侠仗义、打抱不平的“侠义”情结在少年马云的内心深处早已生根、萌芽。
    

     mayun.ann内容为空,现在可以开始标注了,打开浏览器http://127.0.0.0:8001,登录后才可以进行标注。打开我们创建的目录,鼠标选中需要标注的实体,马上就会自动显示让我们标注该内容对应的类别:

     

    接着打开mayun.ann,可以看到标注的内容已经记录好了。


      若无apache2,则对其进行安装并修改配置文件

    sudo apt-get install apache2  # 安装apache2
    sudo vim /etc/apache2/apache2.conf  # 修改apache2配置
    

     将下列内容添加至配置文件中:

    <Directory /home/*/public_html>
        AllowOverride Options Indexes FileInfo Limit
        AddType application/xhtml+xml .xhtml
        AddType font/ttf .ttf
        # For CGI support
        AddHandler cgi-script .cgi
        # Comment out the line above and uncomment the line below for FastCGI
        #AddHandler fastcgi-script fcgi
    </Directory>
    

       对userdir赋权:

    sudo a2enmod userdir
    

     继续执行:

    sudo apt-get install libapache2-mod-fastcgi
    sudo a2enmod fastcgi
    sudo a2enmod rewrite
    

     重新加载apache2配置:

    sudo /etc/init.d/apache2 reload
    

     可能会遇到如下问题:

    [....] Reloading apache2 configuration (via systemctl): apache2.serviceapache2.service is not active, cannot reload.
     failed!

     解决方法:

    sudo apachectl stop
    /etc/init.d/apache2 start
    

     此时操作无误后,打开http://127.0.0.1即可看到apache默认页面。

    备注:此处针对apache2的安装配置可能有欠缺,仅供参考。

    参考链接:

    https://www.moshangxingzou.com/index.php/2019/11/27/%E6%96%87%E6%9C%AC%E6%A0%87%E6%B3%A8%E5%B7%A5%E5%85%B7brat%E9%83%A8%E7%BD%B2%E7%AC%94%E8%AE%B0/

    https://www.cnblogs.com/anai/p/11474460.html

    作者:xiaolanLin

    声明 :本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/xiaolan-Lin 欢迎各位转载,未经作者本人同意转载文章时,必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!
    致读者 :在技术这方面我还是一个新手,若文章中的表述有误,还请各位批评指点,喜欢的话支持一下点个“推荐”吧。

  • 相关阅读:
    2014 年美国程序员薪资调查
    新加坡移民生活:想出都出不来了!
    mysql命令行参数
    甲骨文创始人埃里森的10大混蛋行为:曾翻微软垃圾堆
    为什么我要称自己为Javascript程序员
    原生JavaScript练习——弹出层
    Leetcode 344 Reverse String 字符串处理
    安装 Autoconf 2.69版
    Leetcode 28 Implement strStr()
    Leetcode 67 Add Binary 大数加法+字符串处理
  • 原文地址:https://www.cnblogs.com/xiaolan-Lin/p/15377800.html
Copyright © 2011-2022 走看看