天然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(天然)语言之间的相互做用的领域。天然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用天然语言进行有效通讯的各类理论和方法。天然语言处理是一门融语言学、计算机科学、数学于一体的科学。所以,这一领域的研究将涉及天然语言,即人们平常使用的语言,因此它与语言学的研究有着密切的联系,但又有重要的区别。天然语言处理并非通常地研究天然语言,而在于研制能有效地实现天然语言通讯的计算机系统,特别是其中的软件系统。于是它是计算机科学的一部分。程序员
天然语言处理技术是全部与天然语言的计算机处理有关的技术的统称,其目的是使计算机理解和接受人类用天然语言输入的指令,完成从一种语言到另外一种语言的翻译功能,天然语言处理技术的研究,能够丰富计算机知识处理的研究内容,推进人工智能技术的发展。算法
大快NLP模块是大快大数据一体化平台的一个组件,用户引用该组件能够有效进行天然语言的处理工做,如进行文章摘要,语义判别以及提升内容检索的精确度和有效性。数据库
天然语言处理现在不只做为人工智能核心课题来研究,并且也做为新一代计算机的核心课题来研究。从知识产业角度看,专家系统,数据库,知识库,计算机辅助设计系统(CAD)、计算机辅助教学系统(CAI)、计算机辅助决策系统,办公室自动化管理系统,智能机器人等,都须要用天然语言处理,具备篇章理解能力的天然语言理解系统可用于机器自动翻译、情报检索、自动标引、自动文摘、自动写故事小说等领域,均可以用咱们的工具类DKNLPBase来处理。网络
标准分词工具
方法签名:List<Term> StandardTokenizer.segment(String txt);学习
返回:分词列表。大数据
签名参数说明:txt:要分词的语句。搜索引擎
范例:下例验证一段话第5个分词是阿法狗。编码
public void testSegment() throws Exception人工智能
{
String text = "商品和服务";
List<Term> termList = DKNLPBase.segment(text);
assertEquals("商品", termList.get(0).word);
assertEquals("和", termList.get(1).word);
assertEquals("服务", termList.get(2).word);
text = "柯杰解说“李世石VS阿法狗第二局” 结局竟是这样";
termList = DKNLPBase.segment(text);
assertEquals("阿法狗", termList.get(5).word); // 可以识别"阿法狗"
}
关键词提取
方法签名:List<String> extractKeyword(String txt,int keySum);
返回:关键词列表.
签名参数说明:txt:要提取关键词的语句,keySum要提取关键词的数量
范例:给出一段话提取一个关键词是“程序员”。
public void testExtractKeyword() throws Exception
{
String content = "程序员(英文Programmer)是从事程序开发、维护的专业人员。" +
"通常将程序员分为程序设计人员和程序编码人员," +
"但二者的界限并不很是清楚,特别是在中国。" +
"软件从业人员分为初级程序员、高级程序员、系统" +
"分析员和项目经理四大类。";
List<String> keyword = DKNLPBase.extractKeyword(content, 1);
assertEquals(1, keyword.size());
assertEquals("程序员", keyword.get(0));
}
短语提取
方法签名:List<String> extractPhrase(String txt, int phSum);
返回:短语
签名参数说明:txt:要提取短语的语句,phSum短语数量
范例:给出一段文字,能表明文章的五个短语,第一个短语是算法工程师。
迈进二十一世纪,咱们已经进入了以互联网为主要标志的海量信息时代,这些海量信息大部分是以天然语言表示的。一方面,海量信息也为计算机学习人类语言提供了更多的“素材”,另外一方面,这也为天然语言处理提供了更加宽广的应用舞台。例如,做为天然语言处理的重要应用,搜索引擎逐渐成为人们获取信息的重要工具,涌现出以百度、谷歌等为表明的搜索引擎巨头;机器翻译也从实验室走入寻常百姓家,谷歌、百度等公司都提供了基于海量网络数据的机器翻译和辅助翻译工具;基于天然语言处理的中文(输入法如搜狗、微软、谷歌等输入法)成为计算机用户的必备工具;带有语音识别的计算机和手机也正大行其道,协助用户更有效地工做学习。总之,随着互联网的普及和海量信息的涌现,天然语言处理正在人们的平常生活中扮演着愈来愈重要的做用。
然而,咱们同时面临着一个严峻事实,那就是如何有效利用海量信息已成为制约信息技术发展的一个全局性瓶颈问题。天然语言处理无可避免地成为信息科学技术中长期发展的一个新的战略制高点。同时,人们逐渐意识到,单纯依靠统计方法已经没法快速有效地从海量数据中学习语言知识,只有同时充分发挥基于规则的理性主义方法和基于统计的经验主义方法的各自优点,二者互相补充,才可以更好、更快地进行天然语言处理。
天然语言处理做为一个年龄尚不足一个世纪的新兴学科,正在进行着日新月异的发展。回顾天然语言处理的发展历程,并非一路顺风,有太低谷,也有太高潮。而如今咱们正面临着新的挑战和机遇。例如,目前网络搜索引擎基本上还停留在关键词匹配,缺少深层次的天然语言处理和理解。语音识别、文字识别、问答系统、机器翻译等目前也只能达到很基本的水平。路漫漫其修远兮,天然语言处理做为一个高度交叉的新兴学科,不管是探究天然本质仍是付诸实际应用,在未来一定会有使人期待的惊喜和异常快速的发展。