ML:自然语言处理NLP面试题
自然语言处理的三个里程碑:
http://blog.csdn.net/sddamoke/article/details/1419973
两个事实分别为:
一、短语结构语法不能有效地描写自然语言。
二、短语结构规则的覆盖有限。Chomsky 曾提出过这样的假设,认为对一种自然语言来说,其语法规则的数目是有限的,而据此生成的句子数目是无限的。
文中提到的三个里程碑式的进展为:
一、复杂特征集。复杂特征集又叫多重属性描写。
二、词汇主义。语言学界认为,不划分词类就无法将语法结构,即语法“不可能”根据个别的词来写规则;但是人们也注意到任何归类都会丢失个体的某些重要信息。
三、统计语言模型。这也就是语料库方法。
总结:
复杂特征集、合一语法以及词汇主义方法都是在原先理性主义框架(产生式或逻辑推理)框架下做出的重大贡献。尤其词汇主义方法的发展越来越得到语料库和统计学方法的支持,这也是经验主义和理性主义方法的相互融合。他们将成为自然语言处理技术的主流。
自然语言处理:
10k以上 北京 经验1年以下
硕士及以上 全职
职位诱惑 : 绩效奖金多 晋升空间大 优秀团队 半年调薪
-
职位描述
职位描述:
1、承担自然语言处理技术在对话、通用问答、意图理解、知识库加工管理等方向上的应用研究;
2、按照研究与项目计划,与项目组其他成员协同工作,在保证质量的前提下,按时完成研究开发任务。
任职资格:
1.学历要求:毕业于211或985院校、统招硕士以上学历,博士优先;英语4级以上。
2.工作经验: -
1年以上相关领域工作经验,熟悉自然语言处理的各项技术,有对话、通用问答、意图理解研究经验
熟悉C/C++/Python,有算法研究背景经验
英文良好,知识面广、研究能力强,熟悉并掌握自然语言处理在智能人机交互技术领域中的应用。
3.能力要求:
具有强烈的研究兴趣与学习意愿,具备较好的学习能力、问题分析能力、以及问题解决能力;
良好的沟通协调能力和团队合作意识,能够主动总结和分享自己的开发经验。
4.素质要求:
工作踏实,态度积极,能够承受工作压力,能适应严格项目管理;
责任心强,正直诚实,值得信赖。
面试笔试题:
百度校园招聘-自然语言处理工程师
原文链接:http://bishi.cnrencai.com/jingyan/1775.html
一、简答题(本题共30分)
1.简述数据库以及线程死锁产生的原理及必要条件,简述如何避免死锁。(10分)
2.请列举面向对象设计的三个基本要素及五种主要设计原则。(10分)
3.多线程如何同步。(10分)
二、算法与程序设计(本题共45分)
1.一百个灯泡排成一排,第一轮将所有灯泡打开;第二轮每隔一个灯泡关掉一个,即排在偶数的灯泡都被关掉。第三轮每隔两个灯泡,将开着的灯泡关掉,关掉的灯泡打开。以此类推,第100轮结束的时候,还有几盏灯泡亮着。编写代码实现。(15分)
2.有一个百万级的字符串集合(worddic),worddict中每个字符串的长度为2~5个汉字。对任意一个查询串(query),定义该query对worddic模糊匹配的条件为:该query内部移除最多6个连续汉字后,与worddic中某个词完全匹配。例如:worddic中有"百度公司"这个字符串,query"北京百度网络技术有限公司",该query即可通过移除6个连续字符('网络技术有限')来匹配"百度公司";
现在需要你设计一个算法来实现这样的功能:
/**@brief: query match function
*@param worddcit:字符串集合,可以在这儿自定义词典的数据结构worddic;
*@param query: query;
*@param querylen: query的长度;
*@param return: 1表示该query可以模糊匹配词典中某个字符串,-1表示其它;
*/
int check_query(const dict *worddict, const char *query, const int querylen);
要求:给出数据结构dict的设计并完成check_query函数(20分)
三、系统设计题(本题共35分)
1.拼写纠错是搜索引擎具备的一个功能,指的是自动分析用户输入的查询(query),检查是否有拼写错误,如果有,则给出正确的拼写建议。例如:把"联想手机"输错为"联想手机"。这时候搜索引擎一般会给出提示"您要找的是不是:联想手机"。
一般来说,拼写纠错主要包括了两个重要的步骤:一是识别用户输入的错误的词语;二是把错误的词语修改成正确的词语。
问题:1)在中文中,常见的错误输入是同音不同字:例如,"苹果"输错为"平果";在英文中,常见的错误输入时拼写错误,如"latest"错输为"latst"。针对以上两种在中文和英文输入中的错误,请分别给出一种解决方案。
2)用户输入的查询,常常还包含一些上下文的信息(如,"平果手机什么时候发布"),如何利用这些上下文改进纠错的效果?
百度2015校园招聘 自然语言处理工程师笔试
原文链接:http://blog.csdn.net/shymi1991/article/details/39432775
一、简答
1. new 和 malloc的区别。
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。
2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。
3,因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。
4,C++程序经常要调用C函数,而C程序只能用malloc/free管理动态内存
2. hash 冲突及解决办法。
关键字值不同的元素可能会映象到哈希表的同一地址上就会发生哈希冲突。解决办法:
1)开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定
的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字,即查找失败。
2) 再哈希法:同时构造多个不同的哈希函数。
3)链地址法:将所有哈希地址为i的元素构成一个称为同义词链的单链表,并将单链表的头指针存在哈希表的第i个单元中,因而查找、插入和删除主要在同义词链中进行。链地址法适用于经常进行插入和删除的情况。
4)建立公共溢出区:将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律填入溢出表。
二、编程
1. 实现归并排序。
2. 二叉树的S型遍历。
第一层从左到右,第二层从左到右,第三层从左到右……
3. 20亿url的存在一个文本中,一个url占一行,其中有重复,统计出url的频率。
三、系统设计
1.自然语言处理中的前向匹配常被用于分词。如
遥远的古巴比伦
前向匹配分词结果为
遥远的|古巴|比伦
前向匹配分词结果为:
遥|远的|古|巴比伦
要求写出前向匹配的接口及实现方法。
- 总结:
- 就摘抄这么多了,反正也做不完!
ML:自然语言处理NLP面试题的更多相关文章
- 自然语言处理NLP快速入门
自然语言处理NLP快速入门 https://mp.weixin.qq.com/s/J-vndnycZgwVrSlDCefHZA [导读]自然语言处理已经成为人工智能领域一个重要的分支,它研究能实现人与 ...
- 国内知名的自然语言处理(NLP)团队
工业界 腾讯人工智能实验室(Tencent AI Lab) 百度自然语言处理(Baidu NLP):对外提供了百度AI开放平台,王海峰(现任百度副总裁,AI技术平台体系AIG总负责人) 微软亚洲研究院 ...
- 自然语言处理(NLP)
苹果语音助手Siri的工作流程: 听 懂 思考 组织语言 回答 这其中每一步骤涉及的流程为: 语音识别 自然语言处理 - 语义分析 逻辑分析 - 结合业务场景与上下文 自然语言处理 - 分析结果生成自 ...
- 自然语言处理(NLP) - 数学基础(1) - 总述
正如我在<2019年总结>里说提到的, 我将开始一系列自然语言处理(NLP)的笔记. 很多人都说, AI并不难啊, 调现有库和云的API就可以啦. 然而实际上并不是这样的. 首先, AI这 ...
- 自然语言处理(NLP) - 数学基础(1) - 排列组合
正如我在<自然语言处理(NLP) - 数学基础(1) - 总述>一文中所提到的NLP所关联的概率论(Probability Theory)知识点是如此的多, 饭只能一口一口地吃了, 我们先 ...
- 自然语言处理NLP学习笔记一:概念与模型初探
前言 先来看一些demo,来一些直观的了解. 自然语言处理: 可以做中文分词,词性分析,文本摘要等,为后面的知识图谱做准备. http://xiaosi.trs.cn/demo/rs/demo 知识图 ...
- 国内外自然语言处理(NLP)研究组
国内外自然语言处理(NLP)研究组 *博客地址 http://blog.csdn.net/wangxinginnlp/article/details/44890553 *排名不分先后.收集不全,欢迎 ...
- 曼孚科技:AI自然语言处理(NLP)领域常用的16个术语
自然语言处理(NLP)是人工智能领域一个十分重要的研究方向.NLP研究的是实现人与计算机之间用自然语言进行有效沟通的各种理论与方法. 本文整理了NLP领域常用的16个术语,希望可以帮助大家更好地理解 ...
- 自然语言处理(NLP)入门学习资源清单
Melanie Tosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线.回顾她的学习历程,她为期望入门自然语言处理的初学者列出了一份学习资源清单. ...
随机推荐
- ptyhon获取app设备号、包名、activity
直接上代码: import time import os import re import sys #------------------------------------------------- ...
- 从零开始创建一个 PHP 扩展
创建一个扩展的基本步骤都有哪些.示例中,我们将实现如下功能: <?phpecho say();?> 输出内容: $ php ./test.php$ hello word 在扩展中实现一个s ...
- vue中的slot理解和使用
最近被vue 搞得一塌糊涂,理解的比较慢,工作进度进度要求太快,需求理解不明,造成了很大的压力. 在理解Vue中的Slot的时候看了网上的相关内容,看了半天没看到明白说的是什么,然后自己就安装了vue ...
- (23)Spring Boot启动加载数据CommandLineRunner【从零开始学Spring Boot】
[Spring Boot 系列博客] )前言[从零开始学Spring Boot] : http://412887952-qq-com.iteye.com/blog/2291496 )spring bo ...
- djanjo ORM 一对多、多对多
一.表操作之一对多 定义表结构:定义了UserType.两张表UserInfo,如下: from django.db import models class UserType(models.Model ...
- C++开发人脸性别识别教程(12)——加入性别识别功能
经过之前几篇博客的解说,我们已经成功搭建了MFC应用框架,并实现了主要的图像显示和人脸检測程序,在这篇博文中我们要向当中加入性别识别代码. 关于性别识别,之前已经专门拿出两篇博客的篇幅来进行解说.这里 ...
- JVM中java类的载入时机
Java虚拟机把描写叙述类的数据从Class文件载入到内存.并对数据进行校验.转换解析和初始化.终于形成能够被虚拟机直接使用的Java类型.这就是虚拟机的载入机制. 类从被载入到虚拟机内存中開始,到卸 ...
- Python面向切面编程-语法层面和functools模块
1,Python语法层面对面向切面编程的支持(方法名装饰后改变为log) __author__ = 'Administrator' import time def log(func): def wra ...
- 国外物联网平台初探(六) ——Electric Imp
公司背景 Electric Imp成立于2011年,公司设立在美国加利福尼亚州洛斯阿尔托斯和英国剑桥 公司投资者包括:富士康技术集团.PTI创投.Rampart资本.Redpoint创投 定位 Ele ...
- php添加文件到压缩文件夹
extension=php_zip.dll注释掉 <?php$filename = "test.zip"; ob_end_clean(); $zip = new ZipArc ...