ML:自然语言处理NLP面试题

转载 2015年03月23日 10:01:12

自然语言处理的三个里程碑:

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.自然语言处理中的前向匹配常被用于分词。

遥远的古巴比伦

前向匹配分词结果为

遥远的|古巴|比伦

前向匹配分词结果为:

遥|远的|古|巴比伦

要求写出前向匹配的接口及实现方法。


总结:
就摘抄这么多了,反正也做不完!

win32下的系统日志钩子示例程序(Delphi 版)

{    win9X,NT,w2k 中的系统日志钩子示例程序(Delphi 版)    -----------------------------------------------------   ...
  • njhhack
  • njhhack
  • 2001-06-27 20:33:00
  • 790

百度NLP实习生面试总结

2014年8月29号上午11点半面试的百度NLP,职位是情感分析。对面试的
  • wusecaiyun
  • wusecaiyun
  • 2014-08-30 23:05:13
  • 3715

2016面试整理--来源牛客网

马上国庆节了,首先祝大家最后都能有个满意的offer,国庆几天好好养精蓄锐。 我经常在牛客群里水群,应该不少人看我眼熟的。 本人是一个杭州渣硕,本科也很一般,和21...
  • Watson2016
  • Watson2016
  • 2016-11-02 22:33:38
  • 2927

《助理来也》NLP公司电话面试

《助理来也》NLP公司电话面试第一次面试,感觉这个公司很靠谱,因为中午有事,HR说五点然后改到6点,面试官6点整给我打电话,瞬间就感觉对这个公司好评满满。可能因为是初创公司,面的基本内容可能和公司需要...
  • qq_26101209
  • qq_26101209
  • 2017-03-14 14:51:39
  • 647

对自然语言处理nlp的一点感想

自然语言处理(nlp)作为计算机的一个研究方向存在已久,但是最近人工智能这一波热潮又让nlp重新得到巨大关注。由于处理对象是语言这一种人类特有的沟通工具以及其丰富巨大的信息量,给人一种错觉--似乎这是...
  • u013709443
  • u013709443
  • 2018-02-20 05:06:34
  • 258

百度历年笔试面试题

摘自七月算法 http://ask.julyedu.com/question/456 1、用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。2、用C语言实现函数void...
  • lansatiankongxxc
  • lansatiankongxxc
  • 2015-05-28 15:27:29
  • 1721

记360公司一次自然语言数据挖掘(北京)失败面试经历

这段时间正是大四的学生决定是否读研还是工作的时候了,作为学渣,没有保研资格,继续选择读研只能选择考研,可真正纠结的事情是:现在都9月24号了,我还在外面实习,连学校都不在,至今还有几学分的课没修够,我...
  • u011747505
  • u011747505
  • 2015-09-25 09:38:09
  • 2263

致自己-面试总结(机器学习、数据挖掘、自然语言处理、==)

先声明一下:一个offer也没拿到。       今年三月份开始找实习,因为本身是机器学习方向,再加上现在大数据吵的这么火,所以就想找数据挖掘方向的工作,投简历的时候什么也投,回过头来看看自己投的岗...
  • WangYouJin321
  • WangYouJin321
  • 2016-05-21 22:00:04
  • 3672

奇虎360自然语言处理面试总结

奇虎360面试主要考察的知识点: 1.机器学习常用的分类算法,Logistic回归,SVM,Decision Tree,随机森林等相关分类算法的原理,公式推导,模型评价,模型调参。模型使用场景 2...
  • qq_28935065
  • qq_28935065
  • 2018-01-16 15:04:22
  • 330

2015百度机器学习/数据挖掘工程师+自然语言处理工程师笔试题目

1.new 和 malloc 的区别。new 返回指定类型的指针,并且可以自动计算所需要大小。 比如:   int *p;    p = new int; //返回类型为int* 类型(整数型指针)...
  • u013207865
  • u013207865
  • 2016-04-20 18:28:16
  • 1878
收藏助手
不良信息举报
您举报文章:ML:自然语言处理NLP面试题
举报原因:
原因补充:

(最多只允许输入30个字)