(纯属为了记录自己学习的点滴过程,引用资料都附在参考列表)
1 基本概念
短语提取
在信息抽取领域,另一项重要的任务就是提取中文短语,也即固定多字词表达串的识别。短语提取经常用于搜索引擎的自动推荐,文档的简介生成等。
其颗粒度介于单词和句子之间,nlp一系列任务的颗粒度排序如下:
单词的颗粒度(分词、新词提取、关键词提取) < 短语的颗粒度(短语提取) < 句子的颗粒度(关键句提起) < 文章颗粒度(分类、聚类)
2 问题
短语的颗粒度(短语提取);
3 解决思路
利用互信息和左右信息熵,我们可以轻松地将新词提取算法拓展到短语提取。只需将新词提取时的字符替换为单词, 字符串替换为单词列表即可。为了得到单词,我们依然需要进行中文分词。 大多数时候, 停用词对短语含义表达帮助不大,所以通常在分词后过滤掉。
4 实现
from pyhanlp import *""" 短语提取"""
text = '''算法工程师算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法工程师就是利用算法处理事物的人。1职位简介算法工程师是一个非常高端的职位;专业要求:计算机、电子、通信、数学等相关专业;学历要求:本科及其以上的学历,大多数是硕士学历及其以上;语言要求:英语要求是熟练,基本上能阅读国外专业书刊;必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。2研究方向视频算法工程师、图像处理算法工程师、音频算法工程师 通信基带算法工程师3目前国内外状况目前国内从事算法研究的工程师不少,但是高级算法工程师却很少,是一个非常紧缺的专业工程师。算法工程师根据研究领域来分主要有音频/视频算法处理、图像技术方面的二维信息算法处理和通信物理层、雷达信号处理、生物医学信号处理等领域的一维信息算法处理。在计算机音视频和图形图像技术等二维信息算法处理方面目前比较先进的视频处理算法:机器视觉成为此类算法研究的核心;另外还有2D转3D算法(2D-to-3D conversion),去隔行算法(de-interlacing),运动估计运动补偿算法(Motion estimation/Motion Compensation),去噪算法(Noise Reduction),缩放算法(scaling),锐化处理算法(Sharpness),超分辨率算法(Super Resolution) 手势识别(gesture recognition) 人脸识别(face recognition)。在通信物理层等一维信息领域目前常用的算法:无线领域的RRM、RTT,传送领域的调制解调、信道均衡、信号检测、网络优化、信号分解等。另外数据挖掘、互联网搜索算法也成为当今的热门方向。算法工程师逐渐往人工智能方向发展。'''phrase_list = HanLP.extractPhrase(text, 5)
print(phrase_list)
运行结果:
[算法工程师, 算法处理, 一维信息, 算法研究, 信号处理]
5 参考文献
- 何晗《自然语言处理入门》;
- 宗成庆《统计自然语言处理》;
- 李航《统计学习方法》;