首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

自然语言处理系列五》新词发现与短语提取》短语提取

  • 25-03-04 04:42
  • 2041
  • 6648
blog.csdn.net

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】

文章目录

  • 自然语言处理系列五
    • 新词发现与短语提取
      • 短语提取
  • 总结

自然语言处理系列五

新词发现与短语提取

新词发现是一个非常重要的NLP课题。在处理文本对象时,非常关键的问题在于“切词”这个环节,几乎所有的后续结果都依赖第一步的切词。因此切词的准确性在很大程度上影响着后续的处理,切词结果的不同,也就影响了特征的提取,跟数据挖掘一样,特征提取的好坏特别重要,不论用什么算法,特征好数据好结果才会好。
短语提取是指从文章中提取典型的、有代表性的短语,期望能够表达文章的关键内容。关键短语抽取对于文章理解、搜索、分类、聚类都很重要。而高质量的关键短语抽取算法,还能有效助力构建知识图谱。
本章对新词发现和短语提取的算法原理进行介绍,并用开源工具代码演示其功能。

之前我们已经介绍过新词发现的算法原理进行介绍,并用开源工具代码演示其功能。
自然语言处理系列四——新词发现与短语提取——新词发现
接下来开始对短语提取的算法原理进行介绍,并用开源工具代码演示其功能。

短语提取

短语提取是指从文章中提取典型的、有代表性的短语,期望能够表达文章的关键内容。短语抽取对于文章理解、搜索、分类、聚类都很重要。而高质量的短语抽取算法,还能有效助力构建知识图谱。常见的短语提取方法分为无监督 (unsupervised)和有监督 (supervised)。整体抽取流程则分为2个步骤:(1) candidate generation,得到候选短语集合;(2) keyphrase scoring,对候选短语进行打分。

  1. 无监督方法
    无监督的方法由于其不需要数据标注及普适性,得到了大范围的应用。
    1)基于统计的方法
    基于TFIDF的方法是最基本的版本,在得到候选短语集合的基础上(如,利用POS tags抽取noun phrases (NP)),使用term frequency, inverse document frequency对候选短语进行打分,选择高分短语作为关键短语。YAKE除了利用term frequency, term position,还利用了更多基于统计学的特征,希望能更好地表示短语的上下文信息和短语在文章中发挥的作用。
    2)基于图网络的方法
    TextRank是第一个基于图网络的关键短语抽取算法。该方法首先根据POS tags抽取候选短语,然后使用候选短语作为节点,创建图网络。两个候选短语如果共现于一定的窗口内,则在节点之间创建一条边,建立节点间的关联。使用PageRank算法更新该图网络,直至达到收敛条件。此后,各种基于图网络的改进算法不断被提出,该类算法也逐渐成为无监督关键短语抽取中应用最广泛的算法。SingleRank在TextRank之上为节点间的边引入了权重。PositionRank通过引入短语的位置信息,创建一个biased weighted PageRank,从而提供了更准确的关键短语抽取能力。
    3)基于embedding的方法
    这类方法利用embedding来表达文章和短语在各个层次的信息(如:字、语法、语义等)。EmbedRank首先利用POS tags抽取候选短语,然后计算候选短语embedding和文章embedding的cosine similarity,利用相似度将候选短语排序,得到关键的短语。

  2. 有监督方法
    虽然需要花费很多精力进行数据标注,但有监督方法在各个特定任务和数据集上,通常能够取得更好的效果。
    1)传统的方法
    KEA是较早期的算法,利用特征向量表示候选短语,如:tf-idf分数和初次出现在文章中的位置信息,使用Naïve Bayes作为分类,对候选短语进行打分和分类。CeKE在对学术论文进行关键短语抽取时,通过使用论文的引用关系,引入更多特征信息,从而进一步提升了效果。RankingSVM使用learning to rank来建模该问题,将训练过程抽象为拟合ranking函数。TopicCoRank是无监督方法TopicRank的有监督扩展。该方法在basic topic graph之外,结合了第二个图网络。
    CRF是序列标注的经典算法,利用语言学、文章结果等各种来源特征表示文章,通过序列标注,得到文章的关键短语。
    2)基于深度学习的方法
    RNN使用了双层RNN结构,通过两层hidden layer来表征信息,并且利用序列标注的 方法,输出最终的结果。CopyRNN使用encoder-decoder结构进行关键短语抽取。首先,训练数据被转换为text-keyphrase pairs,然后训练基于RNN的encoder-decoder网络,学习从源数据 (sentence)到目标数据 (keyphrase)的映射关系。CorrRNN同样适用encoder-decoder结构,但是额外引入了两种限制条件:
    (1)Keyphrases应该尽量覆盖文章的多个不同话题;
    (2) Keyphrases应该彼此之间尽量不一样,保证多样性。
    短语提取是NLP的一个基础任务,对于内容理解、搜索、推荐等各种下游任务,都非常重要。统计学、语法、句法、语义等多来源特征被引入和使用,用来抽取候选短语和对短语进行打分。随着预训练模型的发展,各种知识图谱的构建,更多外部知识和信息能够被引入,从而促进短语提取算法的效果提升。同时,更好的短语提取系统又能反哺各项任务,比如:知识图谱的构建,最终整体形成闭环,促进各项技术的进步。

  3. HanLP工具的短语提取代码示例
    HanLP工具提供了短语提取的功能,代码如下:

package com.chongdianleme.job;
import com.hankcs.hanlp.HanLP;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
/**
 * Created by 充电了么App - 陈敬雷
 * 充电了么App官网:http://chongdianleme.com/
 * 充电了么App - 专注上班族职业技能提升充电学习的在线教育平台
 * HanLP短语提取功能,开源地址:https://github.com/hankcs/HanLP
*/
public class PhraseExtract {
    public static void main(String[] args) {
        String content = "分布式机器学习实战(人工智能科学与技术丛书)作者陈敬雷,责任编辑赵佳霓,此书深入浅出,逐步讲解分布式机器学习的框架及应用配套个性化推荐算法系统、人脸识别、对话机器人等实战项目,并有以下名人陈兴茂,梅一多,杨正洪,刘冬冬,龙旭东联袂推荐:" +
                "——陈兴茂 猎聘CTO\n" +
                "——梅一多 博士 上海市青年拔尖人才,中基凌云科技有限公司联合创始人\n" +
                "——杨正洪 博士 中央财经大学财税大数据实验室首席科学家\n" +
                "——刘冬冬 首席数据官联盟创始人\n" +
                "——龙旭东 北京掌游智慧科技有限公司董事长";
        List<String> phraseList = extractPhrase(content,6);
        System.out.println(StringUtils.join(phraseList,","));
    }
    /**
     * HanLP短语提取
     * @param content
     * @return
     */
    public static List<String> extractPhrase(String content,int size){
        List<String> phraseList = HanLP.extractPhrase(content, size);
        return phraseList;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

总结

此文章有对应的配套视频,其它更多精彩文章请大家下载充电了么app,可获取千万免费好课和文章,配套新书教材请看陈敬雷新书:《分布式机器学习实战》(人工智能科学与技术丛书)

【新书介绍】
《分布式机器学习实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】
新书特色:深入浅出,逐步讲解分布式机器学习的框架及应用配套个性化推荐算法系统、人脸识别、对话机器人等实战项目

【新书介绍视频】
分布式机器学习实战(人工智能科学与技术丛书)新书【陈敬雷】

视频特色:重点对新书进行介绍,最新前沿技术热点剖析,技术职业规划建议!听完此课你对人工智能领域将有一个崭新的技术视野!职业发展也将有更加清晰的认识!

【精品课程】
《分布式机器学习实战》大数据人工智能AI专家级精品课程

【免费体验视频】:
人工智能百万年薪成长路线/从Python到最新热点技术

从Python编程零基础小白入门到人工智能高级实战系列课

视频特色: 本系列专家级精品课有对应的配套书籍《分布式机器学习实战》,精品课和书籍可以互补式学习,彼此相互补充,大大提高了学习效率。本系列课和书籍是以分布式机器学习为主线,并对其依赖的大数据技术做了详细介绍,之后对目前主流的分布式机器学习框架和算法进行重点讲解,本系列课和书籍侧重实战,最后讲几个工业级的系统实战项目给大家。 课程核心内容有互联网公司大数据和人工智能那些事、大数据算法系统架构、大数据基础、Python编程、Java编程、Scala编程、Docker容器、Mahout分布式机器学习平台、Spark分布式机器学习平台、分布式深度学习框架和神经网络算法、自然语言处理算法、工业级完整系统实战(推荐算法系统实战、人脸识别实战、对话机器人实战)、就业/面试技巧/职业生涯规划/职业晋升指导等内容。

【充电了么公司介绍】

充电了么App是专注上班族职业培训充电学习的在线教育平台。

专注工作职业技能提升和学习,提高工作效率,带来经济效益!今天你充电了么?

充电了么官网
http://www.chongdianleme.com/

充电了么App官网下载地址
https://a.app.qq.com/o/simple.jsp?pkgname=com.charged.app

功能特色如下:

【全行业职位】 - 专注职场上班族职业技能提升

覆盖所有行业和职位,不管你是上班族,高管,还是创业都有你要学习的视频和文章。其中大数据智能AI、区块链、深度学习是互联网一线工业级的实战经验。

除了专业技能学习,还有通用职场技能,比如企业管理、股权激励和设计、职业生涯规划、社交礼仪、沟通技巧、演讲技巧、开会技巧、发邮件技巧、工作压力如何放松、人脉关系等等,全方位提高你的专业水平和整体素质。

【牛人课堂】 - 学习牛人的工作经验

1.智能个性化引擎:

海量视频课程,覆盖所有行业、所有职位,通过不同行业职位的技能词偏好挖掘分析,智能匹配你目前职位最感兴趣的技能学习课程。

2.听课全网搜索

输入关键词搜索海量视频课程,应有尽有,总有适合你的课程。

3.听课播放详情

视频播放详情,除了播放当前视频,更有相关视频课程和文章阅读,对某个技能知识点强化,让你轻松成为某个领域的资深专家。

【精品阅读】 - 技能文章兴趣阅读

1.个性化阅读引擎:

千万级文章阅读,覆盖所有行业、所有职位,通过不同行业职位的技能词偏好挖掘分析,智能匹配你目前职位最感兴趣的技能学习文章。

2.阅读全网搜索

输入关键词搜索海量文章阅读,应有尽有,总有你感兴趣的技能学习文章。

【机器人老师】 - 个人提升趣味学习

基于搜索引擎和智能深度学习训练,为您打造更懂你的机器人老师,用自然语言和机器人老师聊天学习,寓教于乐,高效学习,快乐人生。

【精短课程】 - 高效学习知识

海量精短牛人课程,满足你的时间碎片化学习,快速提高某个技能知识点。

上一篇:自然语言处理系列四》新词发现与短语提取》新词发现
下一篇:自然语言处理系列六》中文分词》中文分词原理

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览63151 人正在系统学习中
注:本文转载自blog.csdn.net的陈敬雷-充电了么-CEO兼CTO的文章"https://blog.csdn.net/weixin_52610848/article/details/113524234"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top