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,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线.回顾她的学习历程,她为期望入门自然语言处理的初学者列出了一份学习资源清单. ...
随机推荐
- Sql Server 查询性能查看
dbcc dropcleanbuffers --清除buffer pool里的数据页面 dbcc freeproccache --清除memtoleave和buffer pool里的执行计划内存 se ...
- void 0 与 undefined
偶然看到一个问题:为什么有的编程规范要求用 void 0 代替 undefined? 如果不知道这个答案的小伙伴,第一反应就要问void 0是什么鬼? void 0 void是JavaScript的一 ...
- (26)改变自动扫描的包【从零开始学Spring Boot】
在开发中我们知道Spring Boot默认会扫描启动类同包以及子包下的注解,那么如何进行改变这种扫描包的方式呢,原理很简单就是: @ComponentScan注解进行指定要扫描的包以及要扫描的类. 接 ...
- 使用大白菜U盘进入PE后再次重启电脑会留后门的清理方法
使用大白菜U盘进入PE后再次重启电脑会留后门,这个后门主要是自动下载安装一些软件,比如金山毒霸等. 清除方法: 1.每次用完PE重启前,清理以下地方: ①c:\Windows\xxxxx.exe(查看 ...
- HDU 3537
翻硬币游戏,纯.. 注意要判重 #include <iostream> #include <cstdio> #include <cstring> #include ...
- HDU 3002
无向图最小割. #include <iostream> #include <cstdio> #include <cstring> using namespace s ...
- logistic regression model
logistic regression model LR softmax classification Fly logistic regression model loss fuction softm ...
- java SE与java EE , java ME之间的关系
question: Which one should I install when I want to start learning Java? I'm going to start with som ...
- 邮箱smtpserver及port收集
网易 163邮箱 POP3:pop.126.com SMTP:smtp.126.com SMTPport号:25 126邮箱 POP3:pop.126.com SMTP:smtp.126.co ...
- 64bit Centos6.4搭建hadoop-2.5.1
64bit Centos6.4搭建hadoop-2.5.1 1.分布式环境搭建 採用4台安装Linux环境的机器来构建一个小规模的分布式集群. 当中有一台机器是Master节点,即名称节点,另外三台是 ...