文章目录
1. 自然语言处理
1.1 概念
自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。
来源:维基百科
1.2 基本任务
- 词法分析(Lexical Analysis):对自然语言进行词汇层面的分析,是NLP基础性工作
- 分词(Word Segmentation/Tokenization):对没有明显边界的文本进行切分,得到词序列
- 新词发现(New Words Identification):找出文本中具有新形势、新意义或是新用法的词
- 形态分析(Morphological Analysis):分析单词的形态组成,包括词干(Sterms)、词根(Roots)、词缀(Prefixes and Suffixes)等
- 词性标注(Part-of-speech Tagging):确定文本中每个词的词性。词性包括动词(Verb)、名词(Noun)、代词(pronoun)等
- 拼写校正(Spelling Correction):找出拼写错误的词并进行纠正
- 句子分析(Sentence Analysis):对自然语言进行句子层面的分析,包括句法分析和其他句子级别的分析任务
- 组块分析(Chunking):标出句子中的短语块,例如名词短语(NP),动词短语(VP)等
- 超级标签标注(Super Tagging):给每个句子中的每个词标注上超级标签,超级标签是句法树中与该词相关的树形结构
- 成分句法分析(Constituency Parsing):分析句子的成分,给出一棵树由终结符和非终结符构成的句法树
- 依存句法分析(Dependency Parsing):分析句子中词与词之间的依存关系,给一棵由词语依存关系构成的依存句法树
- 语言模型(Language Modeling):对给定的一个句子进行打分,该分数代表句子合理性(流畅度)的程度
- 语种识别(Language Identification):给定一段文本,确定该文本属于哪个语种
- 句子边界检测(Sentence Boundary Detection):给没有明显句子边界的文本加边界
- 语义分析(Semantic Analysis):对给定文本进行分析和理解,形成能勾够表达语义的形式化表示或分布式表示
- 词义消歧(Word Sense Disambiguation):对有歧义的词,确定其准确的词义
- 语义角色标注(Semantic Role Labeling):标注句子中的语义角色类标,语义角色,语义角色包括施事、受事、影响等
- 抽象语义表示分析(Abstract Meaning Representation Parsing):AMR是一种抽象语义表示形式,AMR parser把句子解析成AMR结构
- 一阶谓词逻辑演算(First Order Predicate Calculus):使用一阶谓词逻辑系统表达语义
- 框架语义分析(Frame Semantic Parsing):根据框架语义学的观点,对句子进行语义分析
- 词汇/句子/段落的向量化表示(Word/Sentence/Paragraph Vector):研究词汇、句子、段落的向量化方法,向量的性质和应用
- 信息抽取(Information Extraction):从无结构文本中抽取结构化的信息
- 命名实体识别(Named Entity Recognition):从文本中识别出命名实体,实体一般包括人名、地名、机构名、时间、日期、货币、百分比等
- 实体消歧(Entity Disambiguation):确定实体指代的现实世界中的对象
- 术语抽取(Terminology/Giossary Extraction):从文本中确定术语
- 共指消解(Coreference Resolution):确定不同实体的等价描述,包括代词消解和名词消解
- 关系抽取(Relationship Extraction):确定文本中两个实体之间的关系类型
- 事件抽取(Event Extraction):从无结构的文本中抽取结构化事件
- 情感分析(Sentiment Analysis):对文本的主观性情绪进行提取
- 意图识别(Intent Detection):对话系统中的一个重要模块,对用户给定的对话内容进行分析,识别用户意图
- 槽位填充(Slot Filling):对话系统中的一个重要模块,从对话内容中分析出于用户意图相关的有效信息
- 顶层任务(High-level Tasks):直接面向普通用户,提供自然语言处理产品服务的系统级任务,会用到多个层面的自然语言处理技术
- 机器翻译(Machine Translation):通过计算机自动化的把一种语言翻译成另外一种语言
- 文本摘要(Text summarization/Simplication):对较长文本进行内容梗概的提取
- 问答系统(Question-Answering Systerm):针对用户提出的问题,系统给出相应的答案
- 对话系统(Dialogue Systerm):能够与用户进行聊天对话,从对话中捕获用户的意图,并分析执行
- 阅读理解(Reading Comprehension):机器阅读完一篇文章后,给定一些文章相关问题,机器能够回答
- 自动文章分级(Automatic Essay Grading):给定一篇文章,对文章的质量进行打分或分级
来源:CSDN
1.3 发展方向
- 独立于任务的NLP数据增强
- 用于NLP的Few-shot learning
- 用于NLP的迁移学习
- 多任务学习
- 跨语言学习
- 独立于任务的架构提升
来源:机器之心
2. 计算机视觉
2.1 概念
计算机视觉(英语:Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。
来源:维基百科
计算机视觉(CV)是指机器感知环境的能力(机器能对环境和其中的刺激进行可视化分析的学科)。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。
来源:机器之心
2.2 基本任务
- 目标识别——即如字面所说的检测图像中包含的物体或目标。ILSVRC 2016对目标检测的定义为输出单个物体或对象的边界框与标签。这与分类/定位任务不同,目标检测将分类和定位技术应用到一张图像的多个目标而不是一个主要的目标
- 目标追踪——即在给定的场景中追踪感兴趣的一个或多个特定目标的过程,在视频和现实世界的交互中(通常是从追踪初始的目标检测开始的)有很多应用,且对于自动驾驶而言非常重要——也是很重要的研究领域。
- 分类/定位——图像分类任务通常是指为整张图像分配特定的标签而定位是指找到识别目标在图像中出现的位置,通常这种位置信息将由对象周围的一些边界框表示出来。
对计算机视觉领域影响最大的技术之一就是卷积神经网络(CNN)的发展,从2012年的AlexNet,到YOLO、ResNet、VGGNet、GAN,都不断在对目前的技术进行突破。另一些传统的经典算法则有隐马尔科夫模型(HMM)、主动形状模型(ASM)、支持向量机(SVM)、Adaboost、主成分分析(PCA)、粒子滤波器(particle filter)等。
2.3 发展方向
- one-shot 学习和zero-shot 学习的发展可能会帮助计算机视觉领域取得显著的进步,从而能在没有大数据的情况下也能执行任务。
- 根据识别出来的物体或人来确定场景背后的含义是计算机视觉的一个发展方向。
- 未来肯定会将计算机视觉集成到机器人(比如自动驾驶汽车、SLAM 技术),甚至整合到人类的身体上。
3. 数据挖掘
3.1 概念
数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。
3.2 基本任务
数据挖掘涉及的常见的任务有:
- 数据表征(Data characterization)-是对目标类数据的一般特征或特征的总结。对应于用户指定类的数据通常通过数据库查询收集。例如,要研究上一年销售额增长10%的软件产品的特征,可以通过执行SQL查询来收集与此类产品相关的数据。
- 异常检测(Outlier Analysis)–数据库可能包含不符合数据一般行为或模型的数据对象,这些数据对象即被成为异常值。大多数数据挖掘方法将异常值视为噪声或异常。但是,在诸如欺诈检测等应用中,罕见事件可能比更常见的事件更有价值。异常值数据的分析被称为异常值挖掘。
- 关联规则学习(Mining Frequent Patterns, Associations, and Correlations)–搜索变量之间的关系。例如,一个超市可能会收集顾客购买习惯的数据。运用关联规则学习,超市可以确定哪些产品经常一起买,并利用这些信息帮助营销。这有时被称为市场购物篮分析。
- 聚类–是在未知数据的结构下,发现数据的类别与结构。聚类算法基于最大化类内相似性和最小化类间相似性的原则对对象进行聚类或分组。也就是说,形成对象集群,使得集群内的对象彼此之间具有较高的相似性,但与其他集群中的对象非常不相似。每个形成的集群都可以被视为一类对象,从中可以派生出规则。聚类还可以促进分类的形成,也就是将观察组织成一个将类似事件归类在一起的类的层次结构。
- 分类–分类是查找描述和区分数据类别或概念的模型(或函数)的过程,目的是为了能够使用模型来预测类别标签未知的对象的类别。例如,一个电子邮件程序可能试图将一个电子邮件分类为“合法的”或“垃圾邮件”。
- 回归–试图找到能够以最小误差对该数据建模的函数。回归分析是最常用于数字预测的统计方法,但也存在其他方法。预测还可以根据现有数据确定趋势。
- 数据演化分析(Data evolution analysis)-描述并建模其行为随时间变化的对象的规则或趋势。虽然这可能包括时间相关数据的表征,区分,关联和相关分析,分类,预测或聚类,但这种分析的明显特征包括时间序列数据分析,序列或周期性模式匹配以及基于相似性的数据分析。
来源:Han J.; Kamber M.; Pei J. (2011). Data mining: concepts and techniques. Morgan Kaufman.
3.3 拓展
许多人将数据挖掘视为另一个常用术语——数据知识发现(knowledge discovery from data,KDD)——的同义词,而另一些人则认为数据挖掘仅仅是知识发现过程中的一个重要步骤。知识发现过程一般被分类为以下步骤:
- 数据清理(Data cleaning):去除噪音和不一致的数据;
- 数据集成(Data integration):可以将多个数据源组合在一起
- 数据选择(Data selection):从数据库中检索与分析任务相关的数据
- 数据转换(Data transformation):通过执行汇总或汇总操作将数据转换并合并为适合数据挖掘的格式
- 数据挖掘(Data mining):一种应用智能方法提取数据模式的重要过程
- 模式评估(Pattern evaluation)根据兴趣度量来确定代表知识的真正感兴趣的模式
- 知识表示(Knowledge presentation):使用可视化和知识表示技术向用户展示所获取的知识
来源:机器之心
数据挖掘领域的十大经典算法,包括C4.5,CART树,K-means算法,KNN算法,朴素贝叶斯,关联规则算法,AdaBoost算法,支持向量机,EM算法,PageRank算法。
3.4 发展方向
数据挖掘是一类十分适合商业化的技术,它有助于公司获取基于知识的信息、可以帮助企业在运营和生产中及时调整、有助于决策过程并且便于自动预测趋势和行为,以及自动发现隐藏模式。基于这些特点,更快速、更高度的定制化以及轻量级的数据挖掘应用软件/算法是一个发展方向。
4. 专家系统
专家系统(ES)是人工智能最活跃和最广泛的领域之一。专家系统定义为:使用人类专家推理的计算机模型来处理现实世界中需要专家作出解释的复杂问题,并得出与专家相同的结论。简言之,如图1所示,专家系统可视作“知识库(knowledge base)”和“推理机(inference machine)” 的结合。
来源:cnki

4.1 知识库系统
知识库系统的主要工作是搜集人类的知识,将之有系统地表达或模块化,使计算机可以进行推论、解决问题。知识库中包含两种型态:
一是知识本身,即对物质及概念作实体的分析,并确认彼此之间的关系;
二是人类专家所特有的经验法则、判断力与直觉。知识库与传统数据库在信息的组织、并入、执行等步 骤与方法均有所不同,概括来说,知识库所包含的是可做决策的知识,而传统数据库的内容则是未经处理过的数据, 必须经由检索、解释等过程才能实际被应用。
4.2 推理机
推理机的是由算法或决策策略来进行与知识库内各项专门知识的推论,依据使用者的问题来推得正确的答案。推理机的问题解决算法可以区分为3个层次:
①一般途径:利用任意检索(Blind Search)随意寻找可能的答案,或利用启发式检索(Heuristic Search)尝试寻找最有可能的答案;
②控制策略:有前推式(Forward Chaining)、回溯式(Backward Chaining)及双向式(Bi-directional)三种。前推式是从已知的条件中寻找答案,利用数据逐步推出结论;回溯式则先设定目标,再证目标成立;
③额外的思考技巧:用来处理知识库内数个概念间的不确定性,一般使用模糊逻辑(Fuzzy Logic)来进行演算。推理机会根据知识库、使用者的问题及问题的复杂度来决定适用推论层次。
4.3 专家系统类别
常用的专家系统一般可以分为5类,分别是:
①基于规则的专家系统:利用一系列规则来表示专家知识;
②基于框架的专家系统:这是对基于规则专家系统的自然推广,利用面向对象的编程思想来描述数据结构;
③基于案例的专家系统:采用以前的案例求解当前问题的技术;
④基于模型的专家系统:通过模型清晰定义、设计原理概念和标准化知识库;
⑤基于网络的专家系统:将人机交互定位在网络(Internet)层次。
[描述来源:Zhang Yudong, Wu Lenan, & Wang Shuihua. (2010). Survey on development of expert system. Computer Engineering and Applications,46(19), 43-47.
5. 机器学习
机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。
来源:Mitchell, T. (1997). Machine Learning. McGraw Hill.
5.1 按学习形式分类
机器学习可以根据有无监督分为:
- 监督式学习(supervised learning)和无监督学习(unsupervised learning),在前者中计算机会得到训练数据和目标结果,学习目的是根据反馈学习能够将输入映射到输出的规则,当不是每一个输入都有一一对应的目标结果或目标结果的形式有限时,监督式学习又可以分为半监督学习(semi-supervised learning)、主动学习(active learning)、强化学习(reinforcement learning)。
- 在无监督学习中,训练集没有人为标注的结果,计算机需要自己发现输入数据中的结构规律。
5.2 按学习任务分类
根据学习任务的不同将其分为:
- 分类(classification),即训练一个模型根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类;
- 回归(regression),即研究两个或多个变量间的相关关系;聚类(clustering),即将输入分成不同的组别或者更多的子集(subset),与分类学习不同的是聚类学习一半一般是无监督的;
- 概率密度估计(density estimation)估计输入数据的分布;
- 降维(dimensionality reduction),即将输入数据映射到维度更低的空间中从而降低学习任务的复杂度。
5.3 按学习策略分类
- 机械学习(Rote learning):学习者无需知识转换和任何推理,直接吸取环境所提供的信息。想象你有的一个C语言的Hashmap,以环境信息为key值,以目标动作为value值,根据以往的key-value信息对来直接调整Hashmap里的值。一个典型应用例子是第二篇会介绍的一个机器学习历程中的重要事件-Samuel的跳棋程序。
- 示例学习(Learning from instruction):学习者吸取环境所提供的信息,将知识转换成内部可使用的表示形式,并将新知识和旧知识有机地结合。整个过程环境仍需要做大量工作,而推理过程占小部分。
- 类比学习(Learning by analogy):学习者利用两个不同领域中(源域和目标域)的知识相似性,通过类比,从源域的知识推导出目标域的相应知识。类比学习相比与机械学系和示例学习,要求更多的推理。人类科学技术发展过程中,许多科学发现就是通过类比学习实现的,例如著名的卢瑟福类比就是通过将原子结构(目标域)同太阳系(源域)作类比,揭示了原子结构的奥秘。另外,机器学习中重要的迁移学习也是基于该策略
- 基于解释的学习(Explanation-based learning,EBL):分两步走,先构造一个解释来说明为什么某个例子满足目标概念,然后将解释推广为目标概念的一个满足可操作准则的充分条件。这种学习方式我感觉很接近程序猿(比如我自己)找程序bug和优化代码的常用方法。而事实上,EBL也是被广泛应用于知识库求精和改善系统的性能
- 归纳学习:学习者通过环境提供某概念的一些实例或反例,通过归纳推理出该概念的一般描述。这种学习的推理工作量远多于示教学习和演绎学习,因为环境并不提供一般性概念描述(如公理)。从某种程度上说,归纳学习的推理量也比类比学习大,因为没有一个类似的概念可以作为"源概念"加以取用。归纳学习是最基本的,发展也较为成熟的学习方法,在人工智能领域中已经得到广泛的研究和应用。
5.4 按应用领域分类
- 自然语言处理=文本处理+机器学习:在自然语言处理技术中,大量使用了编译原理相关的技术,比如词法分析,语法分析等等(我记得本科上编译原理这门课的时候,一起听课还有中文学院的同学)。除此之外,在语义理解这个层面,则广泛使用了机器学习等技术
- 计算机视觉=图像处理+机器学习:与自然语言处理类似的划分,图像处理技术用于将图像处理为适合进入机器学习模型中的输入,机器学习则负责从图像中识别出相关的模式
- 机器人=机械控制+机器学习:传统的机器人,比如仿真步行的腿足式机器人,实现方法依赖于硬件平台和传统运动控制方法,其中硬件平台包括高水平的液压元件与机电系统,运动控制方法包括二次规划(Quatratic Programming)和模型预测控制(Receding Horizon Control),波斯顿动力就是业界领先的标杆。而目前实验室中的运动控制通常是采用机器学习(主要是强化学习)来实现的,比如OpenAI在他的OpenAI Gym上有很多用于机器人模拟训练的仿真环境,用于评测不同的强化学习算法。总的来说,目前机器学习在真实环境中的机械机器人上还是难堪重任
- 自动程序设计=程序语言处理+机器学习:程序也就是计算机语言,它与自然语言对应。自动程序设计只需要用户陈述他的问题而不必提出精确的解题算法,应用机器学习能够在语义层面上更好地实现这个从“需求”到“程序”的过程。
- 智能搜索=信息索引算法+机器学习:搜索引擎从一代的简单文本索引,到二代的基于超文本链接的page rank,再到现在三代应用上考虑因素更多也更加全面的机器学习,相信30岁以上的程序猿们对搜索引擎的这个发展都有有目共睹
- 数据挖掘=数据库+机器学习:用机器学习的方法而不是人工规则的方法去数据库中“挖掘”到有效信息
- 专家系统=专家水平的知识+机器学习:一部分置信度很高的专家水平的知识作为先验知识,结合机器学习进行更准确的推理和判断
5.5 按获取知识的表示形式分类
- 代数表达式参数:学习的目标是调节一个固定函数形式的代数表达式参数或系数来到达一个理想的性能,以游戏AI设计为例,当敌我双方的状态满足条件{a攻击比+b护甲比+c*血量比>1}时就逃跑,通过数据的调优,获取一个合适的a,b,c
- 决策树:主要是针对决策树模型,学习的目标是学习每个节点的划分属性和阈值
- 形式文法:主要是在自然语言或者程序语言学习领域,学习目标是该语言的形式文法
- 产生式规则:更多是用于专家系统,表达式是P->Q,形式很简单,但它并不是简单的if/then语句:if的条件是精确匹配,而产生式规则的前件(P)可以是模糊匹配;then的执行是立即确定会执行的,而产生式规则的后件(Q)并不是满足前件就立即执行,能否执行还取决于冲突消解策略,比如同时满足多个规则之后的优先级选择
- 形式逻辑表达式:基本成分是命题、谓词、变量、约束变量范围的语句,及嵌入的逻辑表达式。基本成分可以理解成我们看论文时经常看到的数学公式,而嵌入的逻辑表达式则是其中的“where, n=0,1,2...”
- 图和网络:生成的是一个图结构,有的系统采用图匹配方法来有效地比较和索引知识
- 框架和模式:每个框架包含一组槽,用于描述事物(概念和个体)的各个方面,感觉可以理解成一个类或者hashmap结构
- 计算机程序:主要是针对自动程序设计,学习的目的在于取得一种能实现特定过程的能力,而不是为了推断该过程的内部结构
- 神经网络:主要是针对神经网络模型的应用场景中
- 多种形式组合。以上几种表示形式的组合
来源:csdn
Comments | NOTHING