再见北理工:忆北京研究生的编程时光

Posted Eastmount

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再见北理工:忆北京研究生的编程时光相关的知识,希望对你有一定的参考价值。

        两年前,我本科毕业写了这样一篇文章:《 回忆自己的大学四年得与失 》,感慨了自己在北理软院四年的所得所失;两年后,我离开了帝都,回到了贵州家乡,准备开启一段新的教师生涯,在此也写一篇文章纪念下吧!
        还是那句话:这篇文章是写给自己的,希望很多年之后,回想起自己北京的六年时光,也是美好的回忆。文章可能有点长,但希望大家像读小说一样耐心品读,看完之后也能温馨一笑或唏嘘摇头,闭上眼睛想想你自己的大学生活吧,很享受的!
        同时,这也是自己的第200篇原创文章,三年半的时间,说长不长,说短不短,这期间不论是考研、做项目,还是找工作、毕业设计,自己都坚持每个月至少写一篇文章,这份坚持挺让自己动容的,其中的五味陈杂,也只有自己知道,感谢一下自己吧!

        2014年7月4日,我本科毕业,研究生已经考上,在这个暑假回家的火车上,我写下了这样一段话:

       贵州众美路迢迢,未负劳心此一遭。
       搜得破书三四本,也堪将去编码了。
 


        2016年7月1日,我研究生也毕业了,乘上在北理六年时间里的最后一趟开往贵州的列车上 ,我惆怅着仿造写下这样一首诗:

        别时道一句珍重,
        不去思量,非常难忘。
        无人可以诉衷肠,那又何妨?
        留一段剪影,于心中回放。
        几十年生死,不也两茫茫。

        哎!这两首诗也是我最后放弃北京互联网工作,选择回到家乡教书的引子吧!
        目录:

  • 一.本科毕业暑假支教
  • 二.研一(上)- 课程项目
  • 三.研一(下)- 科研学车
  • 四.研二(上)- 毕设工作及面试杂谈
  • 五.研二(下)- 心之所向及选择教书
  • 六.入职体会工作感想 

       

 

一. 本科毕业暑假支教

        本科毕业那个暑假,我回到了家乡贵州,参加了遵义地区的一个大学生中学生的支教活动,给初三学子上了一周的课。虽然从小自己就梦想着成为一名老师,也没想到最后自己真的能成为了一名教师,但这七天的时间里我确实经历很多,第一次站在讲台前,第一次与学生相处,今天回想起来,自己仍然很享受这个过程。在回家的那天我晚上,我也写了一篇说说,内容如下:
      《这个暑假因为有你们》
       7天时间转瞬即逝,我一直在犹豫到底要不要写篇文章来记忆这个短暂而又珍贵的夏令营!最后还是准备写下这篇文章。不为别的,因为有你们!
       多少年后倘若我真的成为一名贵州老师,在夏令营这片土地上,我用自己的满腔热血洒下了七节课。多少年后翻阅着那本陈旧的留言本,看着你们娟娟字迹,我总会微微浮动嘴角,悄然一笑。多少年后回忆着2014年的青春纪念册,我会非常的欣慰,在这里我认识了一帮tutor、后勤、中学生志愿者和你们。
       刚刚走上讲台的我,总是害怕的。就像从小学到大学一样,每次上讲台我的腿都在颤抖,声音都在沙哑!依稀记得第一节课给你们讲了几个冷笑话把你们冷到了!后来我换成了《老湿评西游记》和《十万个冷笑话》这种相对较热的视频放给你们。很幸运能与凯爷、奇洵和子成分到一间教室,他们与我探讨很多东西。

        七天时间是短暂的,七天时间并不能让你们的学习成绩突飞猛进,我也只能讲述些做笔记、调整心态、如何利用5分钟、做题得分技巧的方法。但是我更希望你们能从我的课上得到一些欢乐,感受到一些比学习更重要的东西——情谊。
        我不断的讲述一些大学视频、初中高中同学的相处、沙画、奥斯卡最佳短片动画《纸人》、《三傻》,就是想让大家珍惜现在遇到的每一份情谊。
        其实啊!回顾我的16年学习生涯,真正学到的东西没多少,而这些情谊才是最值得回忆的,它才是一生的珍宝。
        我告诉你们因为异地高中让我失去了一些初中朋友,但是这都需要自己去把那段失去的记忆找回,很幸运!现在我还能和他们成为好朋友,到了高中、大学我很珍惜每一个认识的人。这个暑假,因为夏令营我们走到了一起!所以我倍加珍惜你们每一个人,希望你们也学会珍惜,懂得感恩。
        7月31号从四中都出来,我独自一人来到了遵义师院。漫步在师院图书馆前的走廊上,我的心情异常平静,感触颇多!静下心来的我久久无法下笔,心情异常复杂。看着两旁的花花草草,听着远方的汽车轰鸣,微风吹过,我的思绪飘荡,写下了这样一段话:当今天早上看到我们班上的6个同学时(后来又来了2个),我的心情有些凄凉,何为凄凉?因为我想到了自己的大学,想到了大学上课一个老师对着几个学生的授课经历,请原谅我也逃课;想到了思修课上老师的无人问津,何其尴尬啊!
        尽管无数次幻想着回贵州当一名大学老师,但如果成为这样一名老师,是不是会把我的梦想彻底敲碎!那时候的我又将何去何从?写到这里我想到了《当幸福来敲门》里面的一句话:我们身边总有许多人会说你这也不行,那也不行;梦想是你自己的,有梦想你就要学会自己去保护它!而我呢?我能守护住自己的梦想吗?或许吧!

        回想自己寒窗生涯,自己还真没有怎么好好静下心来写点东西。以前也写过很多周记,但还从来没有独自一人来到一个陌生的地方沉淀下来写些东西,这种感觉非常不错!正如今天给你们分享的TED讲座:Stop,look,go
        我真的不敢想象如果我以后成为了一名IT男后,每天过着忙碌的上班下班挤地铁的生活,晚上回到房间却独守空房,异地他乡的我会不会默默的在床上哭泣,是啊!很多时候我们的生活学习都是匆匆忙忙的,都不知道自己在做啥!其实有的时候停下来,静静、看看、思考,再继续前行:Stop,look,go 方能 be happy啊!
        回家的那天,当我上车离开后先宇给我发了条短信,我的心为之一颤:
        很难想象大学四年没有秀璋,我会怎样生活?
        你教会我的东西更多,从你身上我看到太多太多我需要秉持的东西。
        四年来最让我欣慰身边能有你这样的朋友,希望不止四年。
        异地他乡的生活依然要坚持做自己,多为自己着想,别让自己太累 (哎!)
        好好珍惜夏令营带给你的一切,贵阳北京什么的,只要还在地球上就总会相见。

        是啊!这个夏令营最应该感谢的就是你了。不光每天陪伴我教了我很多的东西,让我认识了这么多优秀的大学生和中学生,更重要的是在这个夏令营分享到了很多的快乐,看到了一些需要我一辈子去学习和坚持的东西。还有就是你们!
        很欣慰的是认识了我的学生,虽然班上人不多,但是你们真的很感动我,这个暑假我真的非常感动,尤其是最后一天上台表演为我献花,与我拥抱,与我合影,与我道别,七夕节祝福我!
        谁说短暂的七天不能留下宝贵的经历!
        谁说短暂的七天不能认识一群陌生的人!
        谁说程序猿只会默默的哭泣!我可以和你们分享我的欢乐与痛苦。

        最后再让我默念一遍我们班同学的名字:....
        今晚我将踏上K1252飘向远方,最后问你们个问题:我真的这么挫吗?你们让我怎样去追女生啊!你们那帮眉清目秀、水汪汪大眼睛的小女生,阳光帅气的小伙让我情何以堪啊!哈哈...心安即好!这个夏天因为有你们!因为有夏令营!不知道多少年后才再来遵义,且行且珍惜!
        这个暑假自己其实经历非常多,从上海游见到了一帮高中兄弟姐妹,南京行见WF、苏州行、杭州行,都是不错的经历,这也是自己第一次与同学出去旅游;同时遵义的支教更是让我成长很多,更加想成为一名教师~

 

二. 研一(上) - 课程项目

        转眼间研究生生涯就开启了,还是那个熟悉的校园、熟悉的专业、熟悉的伙伴。很幸运,自己和强哥、腾远、华哥他们分在了一个寝室,确实让我经历了一个异常精彩的研究生两年,原来大学生活还可以如此精彩啊,哈哈!
        由于北理软件学院专硕是两年,而且课程只有研一上半年,研一下半年学院推荐实习或待在实验室,研二是找工作和做毕业设计。所以这半年是非常繁忙的,包括各种基础课程:高级数据库、高级网络、高级软件工程、高级英语,高级马克思,高级.....呵呵~
        回过头来,大学四年我们学到的东西并没有多少,可能会点Java网站开发、或者会点Winform程序、LAMP/WAMP设计,甚至仅仅知道C语言或算法,所以,研究生这一学年我们又能从课堂上学到多少东西呢?
        但我更希望大家在本科四年期间或研究生两年中,能够培养一种自学和解决问题的能力,养成一种良好的自我学习态度,多动手去做些自己感兴趣的东西。
        其实啊,回顾自己北理这六年,我真正去做的也就这四件事:
        1.坚持写博客三年,再苦再累从未放弃,同时每每写完一篇博文,自己都能够发自内心的愉悦,似乎这世界也不过如此。
        2.在大学期间认识了好多优秀的朋友同学,和他们在一起,不论是编码、打球、DOTA2、聊天、聚餐,都很舒心;确实,生活不只有编程、不只有学习。
        3.帮助了无数的同学和陌生人,毕业设计我都帮了20多个人,而且都是无偿的,自己似乎总忍不下心来去拒绝别人,但每当看到别人的感谢或祝福,自己内心总是暖暖的,如今我已经成为了一名大学教师,我也从专业代打变成了教练,哈哈,我更希望指导别人去实现而不是盲目的帮助,毕竟“授渔”好点嘛!

        4.最后是为了贵州家乡这边的工作,放弃了很多,自己付出也挺多的,想想研究生毕业答辩前一天晚上我还在贵阳参见面试,深夜赶回北京没睡就直接答辩,这期间的多少艰辛只有自己知道,但也是非常美好的回忆吧,也希望自己的这份初心能够坚持一辈子吧!
        仅此四件事罢了。
        所以,这里我更想分享一些研一上半年我做过的三个项目,自学的一些知识,希望对你有所帮助,尤其是编程感兴趣的同学。

        <一>. Android随手拍
        首先是android项目,我们完成了一个类似微信的随手拍APP,可以拍照,图像处理,发布朋友圈,点赞评论等功能。因为本科期间对图像处理比较感兴趣,所以Android部分我也主要负责图像处理。推荐大家阅读我的相关系列文章,主要包括Android图像查看、照相、增强、旋转缩放、特效(怀旧 浮雕 素描)、添加相框等。
        [Android] 随时拍图像处理部分总结及源码分享
        MFC 图像处理相关知识

        如果你对做手机APP非常感兴趣,想学习Android,我推荐你阅读郭神的《Android第一行代码》,非常新的一本书,同时简单易懂,学习的时候一定要自己手动去写,这期间你会遇到各种各样的问题,这都需要你自己百度谷歌去解决,这样才能提升自己的能力,建议结合这本书做个自己喜欢的APP。
        郭神博客:http://blog.csdn.net/guolin_blog
        然后你可以去Github或开源网站学习比较新的Android知识,或一些框架,比如图片瀑布流显示,大量图片访问,下拉菜单刷新图片,这些都有很好的开源代码,你可以去学习,同时到最后可能需要阅读一些底层的NDK等知识。

        <二>.Learning To Rank学习排序
        这是LC老师软件工程的一个小组项目,主要给出一些比较新的主题,让我们自己去阅读外国的一些文献来实现,我们小组做的是基于Hadoop分布式的学习排序,使用的是IBM的云平台。
        我先简单介绍下搜索引擎的原理,因为平时我们百度谷歌、逛淘宝都是涉及到。
        用户通过浏览器给出一条查询Query,返回一个相关的文档Document,然后根据查询-文档之间的相关度进行打分排序,返回给用户。

        而随着影响相关度的因素(如PageRank)变多,谷歌浏览器现在有200多个特征吧,需要通过机器学习的方法来解决这个问题,这就诞生了Learning To Rank学习排序。
        如下图流程所示,LTR基本步骤是通过训练集数据(Train Set)学习得到模型h,然后通过该模型去对测试集数据(Test Set)进行计算和排序,最后得到一个预测的结果。机器学习排序方法分为3种:单文档方法(Pointwise)、文档对方法(Pairwise)和文档列表方法(Listwise)。
        详见我的文章:
        机器学习排序之Learning to Rank简单介绍
       【学习排序】 Learning to Rank中Pointwise关于PRank算法源码实现
       【学习排序】 Learning to Rank 中Listwise关于ListNet算法讲解及实现

        写到这里,不论Mr.L上课讲得如何,但我挺推崇他的那种教学方式的。一方面课堂上大家积极讨论,结合实际的公司项目或管理流程来讲解一些基础知识,包括云计算、公司运作流程等;另外就是老师给出一个比较新的主题,让同学们自己去查询资料(最好国内资料很少,国外英文资料多点),并按小组完成相应的成果。

       <三>.面向对象开发PHP网站
       这门课程是MR老师的,非常严厉的一位女老师。我们传统的网站开发流程是:分析需求,然后数据库中设计表、ER图,然后进行开发;但是面向对象开发是不设计ER图的,而是从需求中提取类,分析类中的属性和功能,并结合UML各种图设计开发。
       由于这门课程的项目是在寒假完成,而我又是十人小组的项目组长,所以整个项目基本是我和溥哥完成的。依稀记得,寒假初八去小炜家(另一个县城)玩耍,我还带着笔记本,半夜打麻将到四点,还在他家写程序,确实那段时间挺忙的,但自己真的也学到了好多php的东西。

        学到的东西包括:
        1.使用云作为数据库服务器来开发PHP网站,连接远程数据库,上传PDF文件。
        2.在PHP中定义类及其成员函数来开发网站,包括通过定义类调用远程数据库。

<?php
          //查询贴
          $hgi=new HttpPostInf();
          $result=$hgi->doquery('2',"select * from BBS_Post;");//SQL语句
          //解析json
          $dj=json_decode($result,true);
          $jcount=count($dj);
          for($i=0; $i<$jcount; $i++) {   
               echo $dj[$i]['BP_Pid'];
          }
?>

        3.通过javascript和Iframe实现局部布局界面,点击下拉按钮部分界面更改。
        4.实现简单的BBS论坛和发帖、回帖功能;实现在线阅读PDF文件,老师能上传课件、打分,学生提价作业,获取成绩。
        对PHP感兴趣的同学可以学习下我的文章:
        PHP+JavaScript+HTML实现上传PDF和浏览PDF课件
        PHP+HTML简单实现BBS论坛与回帖
        PHP+JavaScript+HTML实现注册界面表单及日历控件
        PHP网站使用JavaScript和Iframe简单实现部分刷新效果

        写到这里,研究生的所有课程就结束了,但这期间还是发生了很多趣事。包括记笔记考试等。
        因为自己从小就很喜欢记笔记,从四大名著、开心辞典、百家讲坛到各种NBA记录,当然学习笔记也有很多,大学也一直保持着这个“坏习惯”,下图高中生物笔记。不过记笔记还是建议适当的记就行,更多的是反复阅读,像我这样挺浪费时间的。

        假如你还是一名写代码的大学生,我建议你尝试着写点博客,总结些技术或心得吧,以后对你是非常有帮助的!而且写博客并不是为了赚取阅读量或人气,而是对自己的一个负责或写照吧。大学几年转瞬即逝,你可以努力,也可以堕落;你可以怀揣梦想,也可以浑浑噩噩;只要你能承担自己一切选择的结果,无论是快乐、痛苦、欢笑、眼泪,想好就行。
        另一件趣事就是每次考试复习。依稀记得研究生每次考试前,我们439寝室都是门庭若市,各种来讨论问题的,索要课堂笔记的,带着大家一起飞的感觉还是挺有意思的。同时由于总押中题,我也得到了一个“软件学院肖秀荣”的称号,哈哈~

 

三. 研一(下) - 科研学车

        这个学期自己主要是学车,在实验室学习,同时参加了几个会议,看了几本书籍。实验室的小伙伴也将慢慢出场了,包括:张老师、溥哥、娜姐、小飞、学长学姐学弟等。
        其实自己也挺后悔没有真正到公司去实习的,去学习一些比较实用性的技术,一直都想找一个师傅来手把手教自己,但如今又回到家乡,只能靠自己了,同时通过一些开源网站多学点东西充实自己吧。
       <一>.心灵鸡汤
        也不知道自己什么时候喜欢上了在回家的火车上写些东西了,从最早的T87、T88,到现在的Z149,北京与贵阳之间的列车坐过无数次了,每次听着列车上调皮的钢琴伴奏,看着窗外逝去的繁华或风景,自己都异常的平静,也能写出一些东西来。这一次次的独处,一次次的感悟,也会分享给大家,只希望大家不要觉得太矫情或做作罢了。
        同时写这些东西,并不是自己的内心有多么的孤寂,也不是自己有多少文采可以卖弄,一个理科生和程序猿的肚子里能有多少墨水啊?只是想静下心来唏嘘下人生,回首下往事,并在火车上记录当下的宁静罢了。

        途径保定,想到了今年刚上大学的表妹写过一首诗,其中印象最深的是这几句:
        流年似水,尽不带红颜轻染;
        花开花谢,悠悠时光催人老。
        在这灯红酒绿之地,何处才能得到一方净土,使我不受世俗轻扰?
 
        我给她的回复是:刚刚去到一个陌生的地方,谁都需要一个适应的过程,何况一个小女生。简单、随性,给自己内心一片宁静就好。但在这喧嚣的世界又有多少人能做到内心的宁静呢?这个答案又是何其的空洞,还宁静呢!呵呵。
        我一直都不认为我能够做到宁静、淡泊,沉下心来学习。从前不能,现在不能,以后也不能。我也被这花红柳绿的世界所干扰,喜欢dota2、喜欢篮球、喜欢小说,也喜欢看汪涵和刘在石的节目。这里引用堪布说的一句话:轮回中的众生,都是贪玩的小孩。
        下面就简单介绍我这段时间读过的几本书吧,不管是心灵鸡汤也好,人生导师也好,但至少是让我能静下心来阅读的书吧!
       《你在忙什么》 索达吉堪布
        发明机器,本想有更多的休息时间,结果人越来越累;发明手机,本想交流越来越多,结果人越来越孤独;发明网络,本想让人更有智慧,结果日益迟钝。人们猜到了开始,却猜不到结果,这是因为忽略了什么?
        一部高档手机,70%的功能是没用的;一款高档轿车,70%的速度是多余的;一屋漂亮衣物,70%是闲置没空穿的;一生赚再多的钱,70%是留给别人花的。可见,累了一辈子,争了一辈子,自己能用上的也不过30%,欲望满足了也是苦。
        信息爆炸的今天,各种欲望扑面而来,每个人不仅在外面不停地忙,内心也特别忙,忙了一辈子,最后却不知道自己到底在忙什么。因此,寻找让心宁静的智慧,尤为重要。束缚你的永远是你自己,所以解开它的,也只有靠你自己。

       《你只是看起来很努力》李尚龙
        我们看起来每天熬夜,却只是拿着手机点了无数个赞;看起来在图书馆坐了一天,却真的只是坐了一天;看起来买了很多书,只不过晒了个朋友圈;看起来每天很晚地离开办公室,上班的时间却在偷懒;那些所谓的努力时光,是真的头脑风暴了,还是,只是看起来很努力而已?任何没有计划的学习,都只是作秀而已。
        任何没有走心的努力,都只是看起来很努力。牢记一句话:“所有的努力都不是给别人看的,很多时候,英雄都是孤独的”。
        我们总会陷入这样一个怪圈:看似忙碌,实则焦虑。当我们心血来潮想学习时,买了很多书,却再也没有翻开过;当我们备受刺激想健身时,于是找了很多攻略,但再也没有动过;当我们在社交网络上花费很多时间把认为有用的东西另存为时,直到你的硬盘存得满满当当,然而你却没有看过。
        我们忙碌,却没有去了解那些精挑细选留下的内容;我们花时间收集,却忘了最重要的其实是花时间去消化。你将会在一遍遍地逃避和自我安慰中变得惴惴不安,拖延和等待也终将击垮你的斗志。
        不要看到别人做什么好,就去尝试做什么,那些看起来的光鲜也有属于他们自己的苦逼。当然,打败焦虑的最好办法就是去做那些让你焦虑的事情。希望你看完这几句话之后,也会有所感悟,真切地做起身边的每一件事。路还是要一步步地走,可以走得很慢,但却不能停止。


       总感觉这本书中的故事仿佛就是自己的折射,倒映着我们的生活,分享出来与君卿共勉。同时,在2015年3月1日这天,自己也简单总结了下2014年的感悟,结合对星爷的叹息:
      “曾经有一份真诚的爱情摆在我面前,但我没有珍惜,等到了失去的时候,才会后悔莫及”。十八年前的电影中,周星驰的这段台词家喻户晓;十八年后他说“一万年太久,只争朝夕”。
        情人别后永远再不回,无言落寞放眼尘世岸。鲜花虽会凋谢,但会再开。一生所爱忍让,在白云外。

        详见文章:2014年感悟:一万年太久,只争朝夕

        <二>.会议分享
        前面扯了这么多东西,接下来简单说说这个学期自己学习的知识吧,包括参加的几个会议和自学的内容。会议主要包括:知识图谱研究青年学者研讨会、大数据与大媒体挖掘会议。这里给大家普及下知识图谱的概念,希望对你有所帮助。
        1.什么是知识图谱?
        随着互联网中用户生成内容(User Generated Content, UGC)和开放链接数据(Linked Open Data, LOD)等大量RDF(Resource Description Framework)数据被发布。互联网又逐步从仅包含网页与网页之间超链接的文档万维网(Web of Document)转变为包含大量描述各种实体和实体之间丰富关系的数据万维网(Web of Data)。
        在此背景下,知识图谱(Knowledge Graph)正式被Google于2012年5月提出,其目标在于改善搜索结果,描述真实世界中存在的各种实体和概念,以及这些实体、概念之间的关联关系。紧随其后,国内外的其它互联网搜索引擎公司也纷纷构建了自己的知识图谱,如微软的Probase、搜狗的知立方、百度的知心。知识图谱在语义搜索、智能问答、数据挖掘、数字图书馆、推荐系统等领域有着广泛的应用。
        下图是搜狗知立方“姚明”的关系图:

        谷歌S. Amit的论文《Introducing the Knowledge Graph: Things, Not Strings》

        阿米特·辛格尔博士通过“The world is not made of strings, but is made of things”这句话来介绍他们的知识图谱的,此处的“thing”是和传统的互联网上的网页相比较:知识图谱的目标在于描述真实世界中存在的各种实体和概念,以及这些实体、概念之间的关联关系。
        其实,知识图谱就是下一代搜索引擎或知识计算引擎。

        2.生活中存在知识图谱的应用吗?
        知识图谱的出现进一步敲开了语义搜索的大门,搜索引擎提供的已经不是通向答案的链接,还有答案本身。下图展示Google搜索结果的快照,当用户搜索“刘德华的年龄”时,其结果包括:
        (1).列出了相关的网页文档检索结果;
        (2).在网页文档的上方给出了搜索的直接精确答案“54岁”;
        (3).并且列出了相关的人物“梁朝伟”、“周润发”以及他们各自的年龄;
        (4).同时在右侧以知识卡片(Knowledge Card)的形式列出了“刘德华”的相关信息,包括:出生年月、出生地点、身高、相关的电影、专辑等。

        知识卡片为用户所输入的查询条件中所包含的实体或搜索返回的答案提供详细的结构化信息,是特定于查询(Query Specific)的知识图谱。

        这些检索结果看似简单,但这些场景背后蕴含着极其丰富的信息:
        首先,搜索引擎需要知道用户输入中的“刘德华”代表的是一个人;
        其次,需要同时明白“年龄”一词所代表什么含义;
        最后,还需要在后台有丰富的知识图谱数据的支撑,才能回答用户问题。

        同时,知识图谱还在其他方面为搜索引擎的智能化提供了可能,辛格尔博士指出:搜索引擎需要在答案、对话和预测三个主要功能上进行改进。另外,知识图谱在智能问题、知识工程、数据挖掘和数字图书馆等领域也具有广泛的意义。
        那么,传统的搜索引擎发展到知识图谱之间又有哪些变化呢?下图是雅虎的搜索引擎,它是基于传统的关键字查找并返回与关键字相关的文档序列的方法,其中包括“姚明”和“身高”关键字,越关联的分数越高,排序越靠前。

        主要的变化包括以下几点:
        (1).信息抽取目标发生了变化,传统的文本指定抽取(ACE)=>海量数据的发现(KBP);
        (2).从文本分析为核心转变成了知识发现为核心;
        (3).让计算机真正理解用户的查询需求,给出准确答案而不是给出相关的链接序列。

        3.百度知心和搜狗知立方
        百度知心访问链接:http://tupu.baidu.com/xiaoyuan/
        其中百度知识图谱“章子怡”人物关系图谱如下所示。

       知识挖掘包括:Named entity mining 命名实体挖掘、AVP mining 属性-值对挖掘、Hyponymy learning 上下位学习、Related entity mining 相关实体挖掘。

        搜狗知立方整体框架图如下所示,其中下部分的实体对齐、属性对齐是我现在研究的部分。主要包括以下部分:
        本体构建(各类型实体挖掘、属性名称挖掘、编辑系统)
        实例构建(纯文本属性、实体抽取、半结构化数据抽取)
        异构数据整合(实体对齐、属性值决策、关系建立)
        实体重要度计算
        推理完善数据

        知立方信息展现及应用:
        (1).提供知识库信息的展示载体,将知识库的信息转化为用户可以理解的内容;
        (2).提供更加丰富的富文本信息(不局限于文字,增添图片、动画、表格等);
        (3).提供更友好的用户交互体验:增加更多的用户交互元素,如图片浏览、点击试听。并能够引导用户在更短的时间获取更多的信息。
        如下图所示:“刘德华”分别点击上方基本信息,点击歌曲,点击属性标签,点击具体的电影。

        再如重名、系列实体展现如下: “李娜 ”点击其他的同名人物、“十大元帅”点击某个具体的人物、“速度与激情”点击更多,展示更多的系列实体,同时包括问答系统的应用。
        推荐我的知识图谱相关文章:
        知识图谱相关会议之观后感分享与学习总结
        搜索引擎和知识图谱那些事 (上).基础篇
        中文知识图谱研讨会的学习总结 (上) 图谱引入、百度知心、搜狗知立方

       <三>.博客分享
        在这期间我也写了很多博客,总有这样一种感觉:似乎深夜写代码或写博客就像毒品一样让人上瘾,那种让心灵能够沉浸下来,写完后内容说不出的高兴,确实会产生很大的成就感,甚至让我都觉得飘飘然了,而且感觉无法戒掉。而且深夜面对的总是最真实的自己,这往往是很多人看不到的。
        博客主要包括以下几个方面知识:
        1.Java网站开发
        详见:Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

        2.Python爬虫和在线百科消息盒知识
        详见:Python爬虫之Selenium+Phantomjs+CasperJS

        3.重写MFC数字图像处理文章
        详见:七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解

        哎!一个人学了十年再工作十年,就会自认为学了一点文和术,但你了解得越多,就会月发现自己仅仅是大海中的一滴水,沙漠中的一粒沙,永远有无数的优秀和卓越的人在你前方奔跑,你只能看到他们奔跑中的一缕尘埃。
        默默回首,自己在北京已待了五个年头。从最初的《If not now,when?If not me,who?》到本科生毕业的《短暂的激情是不值钱的》。期间发生了好多故事,但回想自己小学、初中、高中、大学、研究生,每个阶段都是一种不同的经历吧,自己也从不后悔每个阶段的选择。初中或许是自己学业的最高峰,高中很高兴认识了一帮兄弟,大学专业知识也学到很多,至少做了很多自己感兴趣的东西,至于工作,选择回家教书,也是自己从小的梦想吧!

        同时,不要把自己想得太完美,“程序猿”更应该知道山外有山,人外有人的道理。我也知道自己有很多缺点,但人有的时候就是这么贱,明明知道自己可以变得更好,但就是不改。可能这就是所谓的“人性”吧!
        技术方面,自己更多的只是拥有广度而忽视了深度,但有时候又想想,回到贵州家乡当一名教师,做自己喜欢的事情,本身就是一件非常美妙的事情了。多少人做自己喜欢的事,多少人又能为了追求自己的梦想而放弃这么多东西呢?知足吧,少年~
       这就是研究生这一年所做的各种事情,当然还有每个星期实验室的小组例会,我分享了web爬虫、神经网络、实体对齐相关的知识,同时寝室每周五的火锅活动,学院的篮球赛足球赛等等。

 

四. 研二(上) - 毕设工作及面试杂谈

        转眼间,自己就已经研二了,这也是我最后一年的时间了。7月底参加了阿里巴巴的电话面试后,我自己就回家待了一段时间,还是非常后悔找工作的准备做得有一些晚了,一方面leetcode很晚才开始做,一方面基础知识欠缺,后面都会详细介绍吧!同时,里面也包括一些下定决心回家当老师的选择吧。

        <一>.各种面试

        1.阿里巴巴 - 遗憾落选
        详见:阿里电话面试之所做所得所感(2015年7月)
        这是我参加的第一个面试,时间也比较早,自己真的比较喜欢阿里巴巴和马云吧,初中的时候就喜欢他,通过《赢在中国》吸引了我,高中更是买了一本介绍他的书。所以阿里巴巴始终就是自己最向往的工资,不论它“拥抱变化”也好,在杭州也罢,我都想去阿里巴巴,也渴望在那里找到自己的几个师傅,好好专研技术吧。可惜,哎....同时强阅读的上面那篇文章,简单总结了面试的各科常见问题。
        说起这次面试,也比较奇幻吧!起因是我在CSDN写了一篇关于知识图谱的文章,然后有位大哥发私信给我,希望以后多交流并交换了联系方式。后来我们通过QQ成为来了好友,当看到我QQ头像时他惊了个呆(如下图)。在简单交流之后他问我:“在哪里高就?”我说:“今年正准备找工作,研一刚完。”他说:“你想试试淘宝内推吗?”我说:“好啊!”就这样,完成了我的第一份面试,在此还是感谢他吧!
        这里简单说说这次面试的问题:
        时间:2015年7月10日早上10点半
        地点:北理计算机实验室四层楼梯
        岗位:搜索引擎、知识图谱、LTR
        场景:屋外暑假装修”轰隆隆“的施工声
        准备:我早上9点起的床,担心错过阿里的电话(确实阿里昨天约好的10点半,非常准时),来到了实验室,同时简单的看了些以前写过的博客,因为在简历中我简单提到了我个人喜欢分享,写了2年多的博客,所以简单过了几篇。快到10点半的时候,去到了楼梯处,手里拿着我自己的一份简历,因为他肯定会问你简历相关的内容。同时由于暑假学校很多装修施工,屋外非常吵,我也没有换个地方,距离太远。
        强烈建议你自己面试时找个安静的地方,一个是自己不被影响,另一个是对面试官的尊重吧!他也能听清楚。
        过程:
        10点30分 电话响起,是杭州来的电话。
        面试官:您好!我是淘宝搜索部门的面试官,请问您是XXX,对吧!
        作者:您好!我是学生XXX。
        面试官:我看了你的简历,你是做过LTR相关的项目,对吧!
        点评:所以说前面我准备的很多都没有什么用,面试官上来就会直接问你所投部门和相关专业的知识,而不是基础知识,因为他可能默认你已经会了吧,这第一次面试也让我认识到了这点。但是如果你想参加笔试或者面试实习,你非常有可能会遇到上面我所准备的基础问题,再或者有可能你的面试就会遇到,看看也并没什么错!

        作者:对,我们课程做过这方面的大作业。
        面试官:那你能简单说说LTR你们是怎么做的吗?
        作者:Learning To Rank学习排序,随着海量数据规模越来越大,传统的搜索引擎是通过用户输入的关键字,获取相关内容和链接分析作一个结果排序,返回给用户。而随着特征越来越多,好像Google现在就200多个特征了,PageRank就是其中一个特征,就考虑把机器学习的方法应用在搜索中。LTR首先通过训练数据集得到一个模型,再通过这个模型去预测新的数据。它主要分为三种,一个是基于点的Pointwise算法、一个是基于对的Pairwise算法、还有一个是基于列的Listwise算法。
        面试官:那它的数据集是怎样的?怎样评价其结果?
        作者:我们采用的数据集是微软提供的,共136个特征,其中第一列表示查询label,第二列对于qid查询id,紧接着是136维特征,最后是输出是一个评价等级。比如有5个等级0-4,其中4表示perfect完全相关,0表示完全不相关,就是预测结果看它属于什么等级。
        面试官:你还没有自我介绍,你先做个自我介绍吧!
        作者:好的!我叫XXX,来自XXX大学.....现在导师的研究方向是数据挖掘和自然语言处理相关的。我希望去到一家好的公司扎扎实实工作几年,然后回到自己的家乡贵州去当一名大学编程老师,因为父母都是老师,一直都想成为一名老师。
        
面试官:杭州也有我们阿里的学院,以后去那里分享可以吗?
        
作者:谢谢,也可以吧。但因为我是贵州出来的,更想回去教书。
        点评:由于这是第一次面试,自我介绍准备得也很仓促。我有几个疑问与君共勉,希望有心之人能解惑。
        1.第一个是我自我介绍时忘记强调我擅长什么,做过的东西都是课程相关的,一个好的自我介绍应该如何准备?
        2.第二个是我说出了自己以后的想成为一名老师,是否不应该说出来?
        3.第三个就是最后忘记问面试官的姓名了,是否应该询问?

        面试官:你Pointwise采用的是什么算法?请详细说说。
        作者:我们采用PRank算法实现的,它是一种回归的算法。它存在一个打分函数,就是那136维特征和对应特征值的乘积加和,其结果是一个分数。然后五个等级,每个有一个阈值,通过这个得分和阈值比较可以判断其属于哪个label等级。
        面试官:你是直接通过这个得分与阈值进行比较吗?那阈值怎么确定?
        ........
        点评:写到这里,几个关键的东西呼之欲出。
        1.面试官没有问我擅长什么语言,因为你申请的职位都会默认相关的技术和语言,很显然我这部分就是Python相关。
        2.我的简历中写了8个项目,其它的包括Android、C#、MFC、PHP、C++等,但面试官只问了LTR(机器学习、自然语言处理、数据挖掘)相关,因为他只关心自己需要的这部分内容。
        3.你需要非常仔细的准备简历中的非常相关部分的项目,而且是深度剖析,他会问得很详细很深,同时考虑一些创新点。
        4.面试官真的很懂技术,因为你的简历会推荐到和你申请职位一致的人员给你面试。

        面试官:看你的简历和博客,你做C#比较多,但是C#这块很少用在自然语言处理。
        作者:以前因为本科各个方面都进行了学习,大三暑假自学了C#网络编程,后来又学了Android,我的博客主要都是根据我所做过的项目或作业写的。现在我在学Python这块做自然语言处理。
        面试官:喔。Python做这块就没什么问题,那你会不会Linux下编程?
        作者:我不会Linux,没研究过,最近也准备学习。
        面试官:Linux基本的命名行知道吗?
        作者:我没研究过,不知道。(如果知道,面试官肯定会问相关的命令,确实应该学!)
        面试官:那你有没有出去实习过?
        作者:我没有出去实习过,大一的时候去过大连东软学习了半个月。
        面试官:看了你的简历,你做NLP这块还是非常少,没有跟着老师或去公司做过相关的吗?
        作者:因为我们大一的课程比较多,需要把所有的课程上完。包括我写的博客基本都是课程项目和自学相关的内容,所以自然语言处理和数据挖掘这部分还在学习中。其实我一直都想去到企业扎扎实实学习,找个师傅跟着他学,现在是广度的学习,到了企业找个那个方向再向深度学习。
        面试官:首先你说的那个挺好,但是你要知道企业需要的是创造价值的人,当然这里也有很多的学习机会,但是更多时间是让你去创造价值。包括你说你五年十年后去当老师挺好的,但是现在你能为我们做些什么?
        点评:确实!企业是需要寻找为其创造价值的人才。写到这里我仿佛认识到了“现实很残酷”的道理。
        1.如果有机会,你还是应该学习Linux下的命令行编程,这是一个走向吧!
        2.去到一个公司实习,尤其是做你将来需要申请职位相关的项目非常重要;但我更多的看到的是实习测试、运维这些,自己斟酌吧!
        3.我一直的想法都非常的单纯:“在校期间多学些东西,从广度上发展,养成良好的自学能力;将来到企业拥有这种学习能力再深入学习自己所在职位的知识,学到精通;工作5-10年之后,或者再读个博士或者直接回到贵州家乡当一名大学老师,教授编程及分享博客。”但显然这是不够的,所以接下来我也需要沉下心来深度学习一段时间。但我的梦想永远都不会被敲碎的,正如《当幸福来敲门》里面的一句话”那些没有成才的人总会说你也不能成才,有梦想就要学会保护它“。

        面试官:你今年研究生大二上完,开学大三吗?
        作者:我今年大一刚完,来年上大二。
        面试官:看你导师是自然语言处理相关的,你简述说下分词?
        作者:我只能说说我简单对它的理解吧!分词是以字分的。
        面试官:分词不一定是按字分的,不同种类分法不同的。
        作者:恩。比如现在我在淘宝输入框中输入“I am a student”这句英文是根据word词进行划分,分为"I"、"am"、"a"和"student",而输入中文“我是一个学生”,它分为"学"+"生",那么"学生"如何判断它是一个名词短语呢?
        面试官:你说的是个研究这块大学生都知道,但具体怎么实现呢?怎样把"学生"连在一起呢?
        作者:这部分我还没有深入的研究。
        面试官:你说你自然语言处理和数据挖掘那块你擅长什么?
        作者:因为这部分还在学习中,我可以说说我现在正在做的知识图谱相关的东西吗?
        面试官:可以,我现在就在做知识图谱这块,那你简单说说你现在做的这个知识图谱吧?
        作者:我现在在做的毕业设计就是旅游知识图谱相关的,首先是从维基百科、百度百科、互动百科、多源旅游网站中爬取旅游景点的数据,以前做的比较多的比如实体消歧。举个简单的例子吧!现在维基百科有苹果三个页面,一个指向苹果公司,一个指向苹果水果,一个指向苹果电影,如何来判断你需要的是具体哪个苹果呢?就可以通过上下文如“乔布斯”来确认它是苹果公司。而现在我先要做的是从维基百科Infobox消息盒中爬取旅游景点的信息,采用<实体,属性,属性值>三元组RDF存储,比如有三个“长城”,在把这些属性属性值进行实体对齐、信息融合,得到一个更丰富准确的信息。
        面试官:你采用的是什么算法?
        作者:实体对齐准备采用CURE聚类的算法实现,属性对齐采用Word2Vec计算相似距离实现。
        面试官:具体的算法过程能描述下吗?
        作者:因为现在才确定方案,还没有具体的深入研究具体的算法过程。
        面试官:你这个只是说了数据挖掘那块,但是自然语言处理那块怎么实现的,我不知道。换句话说,如果现在你是我的一名员工了,你觉得你能做什么在这个部门?
        作者:(其实想说知识图谱或搜索引擎的,我最初的想法是来到公司先学学公司一些基础东西,从来没有相关来到公司就开始为公司做什么东西。感觉都需要一个学习的过程,毕竟学校和公司之间的差别还是非常大的)
        面试官:如果你有一个好的算法,创新的东西,你提出来,我们一起来研究提升现有的东西,这些都非常好。
        点评:写到这里,确实认识到了自己很多不足,一方面NLP相关的分词这些基础的知识实现至少都需要了解。其次是自己学习NLP总有一种感觉:“学习游泳,在岸上观望了很长时间,却迟迟不敢下水。”

        面试官:你有什么问题吗?
        作者:我有两个问题,一个是前面你提到的那个三个学习排序各自的优缺点是什么?另一个是如何实现分词的,我也想知道?
        面试官:好的!首先是你的第一个问题,三个算法的优缺点,你基本都回答正确的。Pointwise就是没有考虑两两之间的关系,通过打分函数排序的,Pairwise而没有考虑它们之间的顺序。第二个问题分词,最简单的方法就是通过词库进行查找,比如“学生”,相当于一个词典,定义了很多名词短语;也可以通过训练模型来分词,
那如果有个“潘长江”,你如何判断它是“潘+长江”还是人名“潘长江”呢?因为词库里很少存人名。这些都是需要考虑的。你还有什么问题吗?
        作者:没有了,谢谢。
        面试官:好的。
        作者:非常感谢你告诉了我这么多东西,因为这是我第一次参加面试有些紧张,同时也认识了很多不足,接下来学习下Linux、进行深入的学习NLP相关知识,再如在项目中应该关注一些创新点。其实我一直都觉得面试是一个相互学习的过程,我能从你那学到很多东西,你也可

以上是关于再见北理工:忆北京研究生的编程时光的主要内容,如果未能解决你的问题,请参考以下文章

北理工计算机贾云,徐畅_北京理工大学计算机学院

腾讯云助力北航-北理工全球创新创业大赛总决赛

985高校异地校区汇总

中国mooc北京理工大学机器学习第一周

冬奥季忆编程之美

KDD 2021最佳论文等奖项出炉,斯坦福获奖,北理工上榜