• 快速了解掌握中文自然语言处理


    NLP是什么

         在计算机领域, NLP(Natural Language Processing),也就是人们常说的「自然语言处理」,就是研究如何让计算机读懂人类语言。这包括,既要能让计算机理解自然语言文本的意义,也能以自然语言文本来表达给定的深层的意图、思想等所以,这项技术往往体现了人工智能的最高任务与境界,也就是说,只有当计算机具备了理解自然语言的能力时,机器才算实现了真正的智能但是,由于中文词语是由汉字千变万化组成的,所以中文领域的「自然语言处理」显得尤为复杂。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。自然语言处理(NLP)是计算机科学,人工智能语言学关注计算机和人类(自然)语言之间的相互作用的领域。

        专注于「自然语言处理」领域多年,  NLP 的技术和服务一直伴随着大快的发展而不断进步。从自动翻译、情报检索、自动标引、自动文摘、自动写故事小说等领域,都可以用我们的工具类DKNLPBase来处理,NLP 技术已不再单纯的停留在概念层面而是逐步渗透并成功应用在大快的各个领域中

     

    为什么需要NLP

        举个例子,日常生活中,我们总会碰到一些不知道怎么读的生僻字, 这时往往就会去搜索引擎搜索,比如“4 个又念什么”。我们发现,搜索结果一定是向你展示“ 4 个又组成的字”是怎样的,并一旁附上拼音及注释等,而不是“ 4 个又念什么”这几个孤零零的词或者其表面的匹配结果。

     

    这其实就是NLP技术的一个体现了。通过这项技术,人们不必花费大量心力去学习和了解难懂的计算机语言,而是用自己最习惯的语言来使用计算机,并进一步了解这背后的意义

    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短语数量
    范例:给出一段文字,能代表文章的五个短语,第一个短语是算法工程师。

     

        

    NLP在最近几年取得了很好的进展,但还有许多的难题需要去解决,所以大快在积极的尝试不过也正是这样有挑战的问题,才能让更多有才华的人投身到大快来推动它的发展。

  • 相关阅读:
    2018-9-28-WPF-自定义-TextBoxView-的-Margin-大小
    2018-6-24-WPF-使用RPC调用其他进程
    2018-6-24-WPF-使用RPC调用其他进程
    2019-9-2-通过命令行使用微信
    2019-9-2-通过命令行使用微信
    2019-9-2-git-需要知道的1000个问题
    2019-9-2-git-需要知道的1000个问题
    pip install 安装出现问题:UnicodeEncodeError: 'ascii' codec can't encode characters in position XX的解决办法
    Java 使用Redis缓存工具的图文详细方法
    0基础学编程,我想给你这 5 个建议
  • 原文地址:https://www.cnblogs.com/adnb34g/p/8651495.html
Copyright © 2020-2023  润新知