小米自然语言处理工程师招聘条件与自己的对应整理
- 计算机或数学相关专业,硕士及以上学历
- 熟悉自然语言处理领域基础理论和常用方法
- 基础理论
- 自然语言理解(NLU):NLU 是要理解给定文本的含义,文本内每个单词的特性与结构需要被理解。在理解结构的基础上,NLU 要理解自然语言中的以下几个歧义性:
- 词法歧义性:单词有多重含义
- 句法歧义性:语句有多重解析树
- 语义歧义性:句子有多重含义
- 回指歧义性(Anaphoric Ambiguity):之前提到的短语或单词在后面句子中有不同的含义。
- 自然语言生成(NLG):NLG 是从结构化数据中以可读地方式自动生成文本的过程,难以处理是自然语言生成的主要问题。自然语言生成可被分为三个阶段:
- 文本规划:完成结构化数据中基础内容的规划。
- 语句规划:从结构化数据中组合语句,来表达信息流。
- 实现:产生语法通顺的语句来表达文本。
- 聊天机器人:能通过聊天 app、聊天窗口或语音唤醒 app 进行交流的计算机程序。
- 特点:成本低、高效且持续工作
- 图灵测试:如果一个人(代号C)使用测试对象皆理解的语言去询问两个他不能看见的对象任意一串问题。对象为:一个是正常思维的人(代号B)、一个是机器(代号A)。如果经过若干询问以后,C不能得出实质的区别来分辨A与B的不同,则此机器A通过图灵测试。
- 自然语言理解(NLU):NLU 是要理解给定文本的含义,文本内每个单词的特性与结构需要被理解。在理解结构的基础上,NLU 要理解自然语言中的以下几个歧义性:
- 常用方法
- 基于规则
- 基于深度学习
- 神经网络
- 词性标记
- 词语切分
- 实体命名识别
- 目的提取
- 循环神经网络
- 机器翻译
- 问答系统
- 图像描述
- 递归神经网络
- 句子解析
- 情感分析
- 释义检测
- 关系分类
- 物体识别
- 卷积神经网络
- 句子/文本分类
- 关心提取和分类
- 垃圾邮件检测
- 搜索词条的归类
- 语义关系提取
- 神经网络
- NLP步骤
-
- 基础理论
-
-
-
- 语句分割 - 在给定文本中辨识语句边界,即一个语句的结束和另一个语句的开始。语句通常以标点符号「.」结束。
- 标记化 - 辨识不同的词、数字及其他标点符号。
- 词干提取 - 将一个词还原为词干。
- 词性标注 - 标出语句中每一个词的词性,比如名词或副词。
- 语法分析 - 将给定文本的部分按类划分。
- 命名实体识别 - 找出给定文本中的人物、地点、时间等。
- 指代消解 - 根据一个语
-
-
-
-
-
- 句的前句和后句界定该句中给定词之间的关系。
-
-
- 在以下多个NLP领域有深入研究:分词、语义分析、词性分析、意图识别、知识图谱、文本内容理解、对话管理等
- 熟练掌握Java、Python、scala等语言中的至少一种,有Tensorflow、Spark、Hive等实际工作经验
- Java
- 基础语法
- 前端
- 数据库
- 正则表达式
- Java
- 扎实的编程能力,熟悉计算机的基础理论,对数据结构和算法设计有深刻的理解
- 有限状态自动机(finite-state automaton,简称FSA):正则表达式是描述有限状态自动机的一种方法,有限状态自动机是计算工作的理论基础。
- baa+!的FSA和匹配的状态转移表
- baa+!的FSA和匹配的状态转移表
- 有限状态自动机(finite-state automaton,简称FSA):正则表达式是描述有限状态自动机的一种方法,有限状态自动机是计算工作的理论基础。
-
-
- FSA的五个参数
- Q:N种状态q0,q1...,qn的有限集合
- Σ:有限的输入符号字母表
- q0:初始状态
- F:终极状态的集合,F∈Q
- δ(q, i):状态之间的转移函数或转移矩阵。给定一个状态q∈Q和一个输入符号i∈Σ,δ(q, i)返回一个新的状态q‘∈Q,因此,δ(q, i)是从Q×Σ到Q的一个关系。
- FSA的五个参数
- 非确定的有限自动机(non-deterministicFSA或NFSA)
- 和FSA的唯一区别:自返圈在状态2,难以判断是沿着自返圈回到2还是继续往前进入状态3。
- 对比图:
-
-
-
- 解决方法:
- 回退:每当我们走到这样的选择点时,我们可以做一个记号(marker),记录下在输入中的什么位置以及自动机处于什么状态。当确认我们确实是做了错误的选择时,可以退回去并试探其他的路径。
- 前瞻:我们可以在输入中向前看,以帮助判定应该选择哪一条路径。
- 并行:每当我们走到选择点时,我们可以并行的查找每一条不同的路径。
- 解决方法:
-
-
- 隐马尔可夫模型