语言资源的类别、搜索与搭建策略
一、引言
语言资源,本身是一个宽泛的概念,即语言+资源,语言指的是资源的限定域,资源=资+源,是资料的来源或者汇总,加在一起,也就形成了这样一种界定:任何语言单位形成的集合,都可以称为语言资源。语言资源是自然语言处理任务中的一个必不可少的组成部分,一方面语言资源是相关语言处理任务的支撑,为语言处理任务提供先验知识进行辅助,另一方面,语言处理任务也为语言资源提出了需求,并能够对语言资源的搭建、扩充起到技术性的支持作用。因此,随着自然语言处理技术的不断发展,自然语言处理需求在各个领域的不断扩张、应用,相关语言资源的构建占据了越来越为重要的地位。作者硕士期间所在的研究机构为国家语言资源监测与研究平面媒体中心,深受导师所传授的语言资源观熏陶,并在实际的学习、工作过程中,动手实践,形成了自己的一些浅薄的语言资源认识,现在写出来,供大家一起讨论。这篇文章的名称为“语言资源搜索、搭建策略”,主要介绍一些自己对语言资源的搜索,搭建过程中的一些心得。
二、语言资源的分类
前言中说到,任何语言单位的集合都可以称为语言资源,比如我有一个个人的口头禅集合,这个就可以称为一个语言资源库,在你实际生活中进行言语活动时,你其实就在使用这个语言资源库。再比如说,一个班级中的学生名单,其实也可以当作是一种语言资源,这个语言资源在进行班级学生点名、考核的时候也大有帮助。当然,此处所讨论的语言资源是从自然语言处理应用的角度上出发的。总的来说,我把它归为以下两种类型:
1、领域语料库
领域语料库,是从语料的这个角度来讲的,这里的语料,界定成文本级别(以自然语句为基础级别形成的文本集合,即可以是句子、段落、篇章等)。领域语料库,可以根据不同的划分规则而形成不同的语料类别:
1)根据所属领域,可以进一步细化成不同领域的语料库。包括金融领域语料、医药领域语料、教育领域语料、文学领域语料等等。
2)根据所属目的,可以进一步细化为:评测语料(为自然语言处理技术pk而人工构造的一些评测语料,如ACE,MUC等国际评测中所出现的如semeval2014,snli等);工具语料(指供自然语言处理技术提供资源支撑的语料)
3)根据语料加工程度的不同,可进一步分为:熟语料(指在自然语言单位上添加人工的标签标注,如经过分词、词性标注、命名实体识别、依存句法标注形成的语料),生语料(指直接收集而未经加工形成的语言资源集,如常见的微博语料,新闻语料等)
4)根据语料语种的不同,可进一步分为:单语语料和多语语料,多语语料指的是平行语料,常见于机器翻译任务中的双语对齐语料(汉-阿平行语料库,汉-英平行语料库)等
5)根据语料规模的不同,可以进一步分为:小型语料库,中型语料库,大型语料库。至于小型、中型、大型的界定,可根据实际领域语料的规模而动态调整
2、领域词库
领域词库,指以句级以下语言单位形成的语言资源库,这个层级的语言单位可以是笔画、偏旁部首、字、词、短语等。同样的,领域词库也可以进一步细分。
1)领域特征词库。这里所说的领域特征词库,指的是与领域强相关,具有领域区别能力形成的词语集合,如体育领域中常见的“篮球”、“足球”等词,文学领域常见的“令狐冲”、“鲁迅”等词,又如敏感词库等,这些词常常可作为分类特征而存在。
2)语法语义词库。语义词库的侧重点在与语言的语法层面和语义层面:
a)语法词库:北大的语法信息词典,北大的实体概念词典、Hownet语义词典这三类词典,这几个语法词库,在对词的语法功能上都做了不同的工作,对词的内部结构信息进行了详细的标注,如北大的语法信息词典,以词类为划分标准讲汉语的常用词进行了划分,并对词性、搭配(前接成分和后接成分)进行了详细的标注;Hownet语义词典从义项的角度对词的义元进行了分解和注释。
b)语义词库:这类语义词点,侧重点不在词语的内部语法结构,而在词语的整体语义上。这类词库,常见的词库有哈工大发布的同义词词林扩展版,这个词库将同义词按照语义的相近程度进行了不同层次的聚类,可以作为同义词扩展提供帮助。另一个是情感分析任务中常用的情感词典,这类词典主要公开的词典包括大连理工大学信息检索实验室公开的情感本体词库、hownet、香港中文大学、台湾清华大学公开的情感词库(具体包括情感词库、否定词库、强度词库)等。另外,工业界,有boson公开的微博情感词库(词的规模比较大,但标注信息不是很精准)。还有的,则是中文的反义词库等,这个可以参考我的github项目,里面对这些词库也有一些涉及。
三、语言资源的搜索策略
从根本上来说,语言资源的构建是受具体应用需求驱动的,有了应用的需求,才能造就璀璨夺目的语言资源文化。在上一节中说到,目前网上开源的语言资源有很多,大家根据自己的业务需求或者目的,或多或少都能找到对应的资源。而单单这个“找”字,其实有的时候,也急坏了一批人。因此,在这一小节中,我来谈谈“语言资源的搜索策略”。
语言资源的搜索策略,指针对自己应用需求,而在网络开源信息当中寻求对口资源的一种方法论。根据自己的经验,语言资源的搜索策略大致可以分成三步走策略:
1)确定自己要搜什么。不要一上来就去百度里面搜索关键词,这是最忌讳的。每次我们拿到一个语言资源需求时,应该具体想明白自己要搜的这个东西。想三个问题:
搜的这个东西是什么?
搜的这个东西样式是怎样的?
搜的这个东西的目标数量有多少?
2)确定搜索的目标地。在想好自己要搜什么的时候,接下来就想去哪儿搜的问题。其实解决去哪儿搜的问题,可以遵循以下两个原则:
一是专业词库的专业词典户优先。这个意思是,专业的语言资源有很大概率都出现在专业的网站上,例如,我想找反义词的相关词库,这是词这一维度的,而且是一类语义词,首先想到的应该是词典。这个对应的,其实就可以去找相应的词典网站,如字典网、在线反义词词典等。说到词典,其实可以想到什么地方词典最多,答案很明显,那就是有个叫“输入法词库”的东西,我们在打字的时候,其实是一个个词往外蹦出来的,因此现在的输入法有很多词库,有的还提供上传用户个人词库的接口。我github中有一个关于搜狗词库下载及转换的一个项目,可以对搜狗输入法词库中的.scel格式的词库进行下载和转码,大家可以尝试一下。话说,搜狗的词库的类别和数目真的听过。另外,可以再从百度输入法等多个输入法进行扩展。此外,如果在专业的词典户中不存在的时候,那么则可以进一步义“你的词+词典”这种检索方式在百度文库、百度网盘、新浪微盘中进行搜索。
二是特征语料的垂直网站优先。这个主要特指相关的领域特征词库或者类别语料。目前行业的发展,催生了很多行业的模范网站,这些网站对某个行业做的比较深入,直接带来一个好处就是垂直语料的集大成。这个时候,我们其实就可以在这些网站中下功夫做工作。当然,这其实分成两种类型,
a)如果针对的是句子或以上级别的语料资源的需求时,可直接就垂直网站中的对应的板块下进行采集即可,里面有个需要注意的点,就是要看充分利用网站中的各个信息,如板块信息、标签页信息等,这是网站采编人员根据自己的业务体系自动梳理出来的。
b)如果是要做词语级别的,那其实可以尝试从板块类别、标签类别、类目体系等方面入手,这个解决部分的问题,而如果需要进一步扩充的话,则可以使用a)+ b)的方式,通过收集领域语料,再借助b)中收集的词作为种子词,使用词库扩充方法进行扩充。目前扩充的方式,包括:
一基于bootstrapping+wordvector/同义词库的方式不断迭代扩充等。
二基于lda/tfidf/co-occurance/mi等特征词提取的方式不断迭代扩充。
这个步骤,最终需要形成目标标地的一个名单,可以以列表形式展现。
3)全力搜索
在完成步骤2)之后,就按图索骥吧,动用全部家当,手动,写爬虫等等。这一部分不再赘述。
四、语言资源的搭建策略
语言资源的搭建,指的是语言资源的整个搭建过程。其实是要解决四个问题,一个是语言资源的收集问题;二是语言资源的融合标准化问题;三是语言资源的动态更新问题;四是语言资源的共享与联盟问题。下面就这四点展开阐述:
1、语言资源收集的问题。上一节中说到的语言资源搜索策略中,讲述了语言资源搜索过程中的三步走策略,在这个步骤完成之后,会得到一系列的词库。这些词库可能初期不会特别完善,往往还需要人工使用启发式规则进行人工去噪的工作。
2,语言资源的融合标准化问题。通过不同方式收集起来的语言资源,往往会存在一个格式不对称的问题,这有点像知识图谱中的知识融合问题。因此,为了解决这个问题,我们通常需要制定一个标准化的语言资源格式,例如,在构建情感词表的过程当中,有的情感词表没有强度标记,有的强度值范围不一样,有的情感词表的标记不一,这个时候往往需要标准化,给定一个标准化的样式,再将不同来源的情感词按照这个标记做相应的调整。我在实际的工作过程中,常常把这种问题类别成知识图谱构建过程中的schema搭建问题,信息抽取过程中的slot-definition问题。先把规范和标准搭好,再去统一标准化。
3,语言资源的动态更新问题。知识和信息的价值,在很大程度上都在于它的一种实时性,语言资源作为一种常识性知识库,能够保证自身的一种与时俱进,将能够最大限度地发挥自身的价值。而从实践的角度上来说,语言资源的动态更新,可以靠人工去维持,去动态及时更新,也可以建立一种动态监测和更新机制,让机器自动地去更新。这类其实可以参考知识图谱更新的相关工作。
4,语言资源的共享与联盟问题。语言资源是否共享,其实是一个与业务敏感以及开源意识想结合的一种决策,有的资源因为某种业务敏感或者开源意识不够open而无法共享,当然还有其他因素成分在,不过,语言资源最好是需要共享的,这样能够最大力度的发挥语言资源在各个领域的应用。语言资源的联盟问题,更像是对开源语言资源的一种链接与互联。这类问题是对当前的资源零散、碎片化问题的一个思考,前面也说到,目前情感分析的词表有很多个,语法和语义词库也有很多个,但每个人在构建时的出发点不同,构建者也分布在不同的高校或机构当中,这些资源虽然在个数上会有增长,但随着时间的推移,这种零散化的现象将会越来越严重。
五、总结
自然语言处理,是人工智能皇冠上的一颗明珠,懂语言者得天下,语言资源在自然语言处理中扮演着举足轻重的作用,懂语言资源者,分得天下。目前开放的网络环境,对语言资源的大繁荣提供了很大的契机。语言资源构建是一门学问,也是一种手段,现在自然语言处理技术也对语言资源的构建提供了技术上的支持,如何把握语言资源搜索策略,搭建策略,重点解决语言资源的动态更新、共享与联盟问题,将是语言资源建设未来需要解决的问题。

语言资源的类别、搜索与搭建策略相关推荐

  1. 中文自然语言处理语言资源项目(ChineseNLPcorpus)

    ChineseNLPcorpus An collection of Chinese nlp corpus including basic Chinese syntactic wordset, sema ...

  2. python语言编程环境-python3编程环境搭建

    python语言介绍 随着人工智能浪潮的再次到来,也让python语言更加的流行,看看近几年的编程语言排行榜吧,你就知道python有多火:学习一门流行度高的语言意味着有更多的志同道合者.更多的学习资 ...

  3. ABP从入门到精通(5):.扩展国际化语言资源

    ABP的有些组件使用的该组件自带的语言包资源,所以在有些时候会因为我们当前使用的语言对应的语言包不全,而造成日志一直记录WARN.ABP给我们提供了扩展语言包资源的接口,可以解决这个问题. 以下示例代 ...

  4. 致力语言资源建设、常识推理的自然语言处理螺丝钉

    作者简介 刘焕勇, Liu Huanyong,2017年硕士毕业,目前就职于中国科学院软件研究所,专注金融.情报两大领域,从事事件抽取.事件演化.情感分析.事理(知识)图谱.常识推理.语言资源构建与应 ...

  5. Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具)

    Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具) 在Android发展前景相当好的情况下,本人最近搜集了一些关于Android的相关资源,当然包含以前发布的博客内容,进行了一 ...

  6. 真全!GitHub上出现了一个353种语言资源的汇总

    来源:AI科技评论本文约1200字,建议阅读5分钟随着AI技术的迅猛发展,机器翻译技术的出现让拯救濒危语言成为可能. 据联合国科教文组织统计 世上现存的7000+种语言,超过四百种濒临灭绝 全世界平均 ...

  7. C 语言资源大全中文版

    C 语言资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome:XXX 系列的资源整理.[awesome-c](https://notabug.org/koz.ross/awe ...

  8. 自然语言处理语言资源项目

    项目地址:https://github.com/liuhuanyong/LanguageResources 致力于利用web公开信息,采用爬虫脚本,加工处理形成语言资源包括词汇知识库,领域语料等语言资 ...

  9. MFC多国语言——资源副本

    此随笔主要参考了http://www.cnblogs.com/xianyunhe/archive/2011/09/02/2163842.html 为软件提供多国语言的支持的具体实现方法有很多,但基本原 ...

最新文章

  1. 基于Linux的视频传输系统(上大学时參加的一个大赛的论文)
  2. 【项目实践】从零开始学习Deep SORT+YOLO V3进行多目标跟踪(附注释项目代码)...
  3. javascript使用缓存计算来提高应用程序性能
  4. 成功解决 keras\callbacks.py:999: UserWarning: `epsilon` argument is deprecated and will be removed, use
  5. POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...
  6. 固定收益证券(fixed income)
  7. Keycloak SSO集成到jBPM和Drools Workbench中
  8. 任正非采访的数据分析解读
  9. metinfo mysql off_利用Sqlmap测试MetInfo企业网站管理系统MySql注入漏洞
  10. android怎么设置iphone字体,冲浪阅读:安卓、苹果手机字体怎么改
  11. MyEclipse 2014 之 安装JDK 7 与JRE 7 (二)
  12. 如何去掉图片上的logo
  13. 优化设计和计算机辅助,湿式空冷器优化设计和计算机辅助计算
  14. divi 相关主题推荐
  15. windows下修改磁盘扇区数据
  16. CSS超基础,快速入门
  17. 用 ECharts 做出漂亮的数据统计图
  18. 软件测试新标准ISO29119的是是非非
  19. 基于Redis的频次控制能力实现
  20. dnf服务器未响应怎么解决方法,科技知识:DNF地下城与勇士程序未响应怎么办——一招搞定...

热门文章

  1. 设有n个正整数,将他们连接成一排,组成一个最大的多位整数
  2. 西安下雪了,做了一个室内温度计
  3. 听说有人不了解柔性数组
  4. 为什么需要超过48k的采样音频?
  5. python进程池pool_python多任务--进程池Pool
  6. 多布局怎么搭建_怎么制作网页?网页制作基本步骤
  7. 浙江省计算机二级aoa成绩,浙江省计算机二级AOAEXCEL函数列表
  8. python循环套循环_零基础学python 14 循环套循环:循环的嵌套
  9. Chapter4-2_Speech_Synthesis(More than Tacotron)
  10. python web开发 网络编程 HTTP协议、Web服务器、WSGI接口