Ltp
语言技术平台(LanguageTechnologyPlatform,LTP)是哈工大社会计算与信息检索研究中心历时十年开发的一整套中文语言处理系统。LTP制定了基于XML的语言处理结果表示,并在此基础上提供了一整套自底向上的丰富而且高效的中文语言处理模块(包括词法、句法、语义等6项中文处理核心技术),以及基于动态链接库(DynamicLinkLibrary,DLL)的应用程序接口,可视化工具,并且能够以网络服务(WebService)的形式进行使用。
开发单位:哈尔滨工业大学服务方式REST云服务分析功能分词、词性标注、命名实体识别、依存句法分析、语义角色标注、语义依存分析反馈格式plain、xml、json、conll
1、技术平台简介
ltp框架
语言技术平台(LanguageTechnologyPlatform,LTP)是哈工大社会计算与信息检索研究中心历时十年研制的一整套开放中文自然语言处理系统。LTP制定了基于XML的语言处理结果表示,并在此基础上提供了一整套自底向上的丰富、高效、高精度的中文自然语言处理模块(包括词法、句法、语义等5项中文处理核心技术,在多次国内外技术评测中获得优异成绩,特别是获得CoNLL2009国际句法和语义分析联合评测的第一名),应用程序接口,可视化工具,以及能够以网络服务使用的语言技术云。学术版LTP已共享给500多家研究机构免费使用,百度、腾讯、华为、金山等企业付费使用LTP商业版本。2010年,LTP荣获行业最高奖--“钱伟长中文信息处理科学技术一等奖”。
2、分析功能
分词
中文分词(WordSegmentation,WS)指的是将汉字序列切分成词序列。因为在汉语中,词是承载语义的最基本的单元。分词是信息检索、文本分类、情感分析等多项中文自然语言处理任务的基础。例句:国务院总理*调研上海外高桥时提出,支持上海积极探索新机制。分词:国务院/总理/*/调研/上海/外高桥/时/提出/,/支持/上海/积极/探索/新/机制/。
词性标注
词性标注(Part-of-speechTagging,POS)是给句子中每个词一个词性类别的任务。这里的词性类别可能是名词、动词、形容词或其他。下面的句子是一个词性标注的例子。其中,v代表动词、n代表名词、c代表连词、d代表副词、wp代表标点符号。词性标注效果:国务院/ni总理/n*/nh调研/v上海/ns外高桥/ns时/n提出/v,/wp支持/v上海/ns积极/a探索/v新/a机制/n。/wp
命名实体识别
命名实体识别(NamedEntityRecognition,NER)是在句子的词序列中定位并识别人名、地名、机构名等实体的任务。例句:国务院(机构名)总理*(人名)调研上海外高桥(地名)时提出,支持上海(地名)积极探索新机制。
依存句法分析
依存句法
依存语法(DependencyParsing,DP)通过分析语言单位内成分之间的依存关系揭示其句法结构。直观来讲,依存句法分析识别句子中的“主谓宾”、“定状补”这些语法成分,并分析各成分之间的关系。
语义角色标注
语义角色标注
语义角色标注(SemanticRoleLabeling,SRL)是一种浅层的语义分析技术,标注句子中某些短语为给定谓词的论元(语义角色),如施事、受事、时间和地点等。其能够对问答系统、信息抽取和机器翻译等应用产生推动作用。
语义依存分析
语义依存分析
语义依存分析(SemanticDependencyParsing,SDP),分析句子各个语言单位之间的语义关联,并将语义关联以依存结构呈现。使用语义依存刻画句子语义,好处在于不需要去抽象词汇本身,而是通过词汇所承受的语义框架来描述该词汇,而论元的数目相对词汇来说数量总是少了很多的。语义依存分析目标是跨越句子表层句法结构的束缚,直接获取深层的语义信息。
3、语言云
语言云使用的特点
语言云新版API是REST风格的WEBAPI调用服务,RESTAPI服务有诸多优点,这使得它越来越流行。应用于语言云服务中,主要有如下特点:免SDK安装:RESTAPI的调用无须用户下载SDK,使得语言分析更为便捷。结果表示格式丰富:API提供了包括PLAIN/XML/JSON/CONLL等多种格式的结果表示。且返回结果容易扩展,便于进行二次开发。支持JavaScript调用:语言云支持JavaScript以JSON-P回调的方式调用API,使得返回结果可以嵌入到Web页面或者宿主Web应用中。请求方式多样:语言云提供了HTTPGET和HTTPPOST两种方式的调用接口。用户认证简洁:API_KEY取代了旧版email:token的认证方式,作为用户的统一授权方式。
参数集
- api_key用户注册语言云服务后获得的认证标识
- text待分析的文本。请以UTF-8格式编码,GET方式最大10K,POST方式最大20K
- pattern用以指定分析模式,可选值包括ws(分词),pos(词性标注),ner(命名实体识别),dp(依存句法分析),sdp(语义依存分析),srl(语义角色标注),all(全部任务)plain格式中不允许指定全部任务
- format用以指定结果格式类型,可选值包括xml(XML格式),json(JSON格式),conll(CONLL格式),plain(简洁文本格式)在指定pattern为all条件下,指定format为xml或json,返回结果将包含sdp结果,但conll格式不会包含sdp结果;
- xml_input用以指定输入text是否是xml格式,可选值为false(默认值),true仅限POST方式
- has_key用以指定json结果中是否含有键值,可选值包括true(含有键值,默认),false(不含有键值)配合format=json使用
- only_ner用以指定plain格式中是否只需要ner列表,可选值包括false(默认值)和true配合pattern=ner&format=plain使用
- callback用以指定JavaScript调用中所使用的回调函数名称配合format=json使用
4、调用说明
1.关于如何自定义分词
语言云允许用户自定义分词,并在此基础上进行更深层次的语言分析。用户需指定参数xml_input=true,分词结果需要以XML的表示方式指定在text参数中。用户必须使用POST方式开展此项功能。
2.一次性分析大量文本的处理
语言云支持一次性分析较大规模的文本。但也做了一些限制。GET方式每次最多携带10K大小文本,POST方式每次最多携带20K大小文本,且只支持UTF-8格式。超出限制,系统将会向您返回错误信息并提示您进行缩减。在语言云默认的设定中,依靠换行符对文本进行划分段落,表现的结果是含有多个para对象。在GET方式中,由于URL对特殊字符的限制,将换行符直接放在URL中可能会有错误。所以强烈建议用户不要在文本中携带换行符,推荐只输入一段话,并且依靠结尾标点来划分句子。如果您确实需要分段,语言云提供给您三种途径:第一,使用POST方式;第二,使用%0A替代换行符作为分割段落的标志;第三,GET方式中,事先对文本进行urlencode再发送请求。同样,请尽量不要在GET方式的参数text中携带其他特殊字符。如果必须携带且该字符可进行urlencode,请使用%加字符的ASCII码替代或者直接进行urlencode。譬如:'&'字符使用'%26'替代。否则,请删除该特殊字符以获得正确结果。
3.关于使用JSON格式进行二次开发的重要说明
Json格式是语言云着重推荐使用的返回格式。如果以上结果表示依然不能满足您的需要,您需要从中提取出对自己有用的分析信息,json无疑是您的首选。在各编程语言中,几乎都有提供json格式的解析库。在语言云返回的json格式中,是以段落级、句子级、单词级的递进层次关系标识的,段落级别和句子级别并没有进行键值名标识,因而须采用数组下标方式获取信息。比如说,p代表json结果,在python中,获取第一段第二句第三个单词的词性信息,获取方式类似于p。如果您的文本中没有明显的划分段落的标志,默认只有一个段落,句子依靠标点符号进行划分。
上一篇:托马斯·特兰斯特勒默
下一篇:2019年中国北京世界园艺博览会
推荐阅读