自然语言处理

数学不好,可以当程序员么?

最后都变了- 提交于 2020-10-15 08:24:50
阅读本文大概需要 2.7 分钟。 有读者最近后台问我,说数学不好,可以转行做程序员么,以后的发展会不会受限制? 作为一个数学专业出身,自学转行程序员的过来人,我觉得多少有点话语权。 不过话说回来,虽说我是数学专业出身,但我摊牌了,我大学基本是没学的状态,整个大学,我的数学水平基本停留在高中,大学学的一大堆数学知识对于我来说,可能就是增加点见识的作用。 所以说,第一点,你要问我,非数学专业,或者说数学不好,想转行做程序员完全可以,起码在你整个技术生涯的初期,数学基本用不到,只要是理科出身,逻辑稍微好点,下点决心,努把力想转行程序员完全没问题,毕竟日常编程用不到太高深的数学知识。 但问题在于,初期可能数学用不到,但是当你写程序走到后期的时候,数学往往制约着你技术的高度。 尤其现在的职场环境,企业对人才的要求更高,如果你想单纯的走技术这条路,那你算法、数据结构这些基础不牢固,那再往深了走,特别难。只要你想再往上走一步、做任何一点带有创新性的技术,最有机会遇到的,往往就是数学问题。 比如,算法涉及大量数学基础和相关背景知识,图形处理相关的算法,大量的线性代数矩阵变换等等,Google 还曾用一道数学题作为投递简历的门槛,之前朋友圈就被这个招聘广告牌刷过屏。 其实,不止是 Google,随便翻翻招聘启事,你就会发现,很多大公司在招应届研发时,都会优先考虑数学专业的毕业生。

5月份Github上最热门的Python开源项目

笑着哭i 提交于 2020-10-15 04:33:19
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 开源最前线(ID:OpenSourceTop) 猿妹整编 5月份GitHub上最热门的Python 开源项目排行已经出炉啦, 一起来看看上榜详情吧: 1 manim https://github.com/3b1b/manim Star 19308 manim是3Blue1Brown(3b1b)频道主Grant Sanderson编写的一个基于Python的数学动画引擎,Windows、Mac OS、Linux等操作系统下均可运行。用它制作出来的视频简洁美观。 2 HanLP https://github.com/hankcs/HanLP Star 18651 面向生产环境的多语种自然语言处理工具包,基于 TensorFlow 2.0,目标是普及落地最前沿的NLP技术。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 3 dispatch https://github.com/Netflix/dispatch Star 1903 Dispatch通过与整个组织中使用的现有工具(Slack,GSuite,Jira等)进行深度集成来帮助我们有效地管理安全事件。 4 GitHub-Chinese-Top-Charts

从文件协同到内容驱动业务:不断进化的企业内容管理需求与随遇而安的产品滞后

社会主义新天地 提交于 2020-10-15 02:21:50
摘要 数字化转型大势不可逆转,就在几天前的7月14日,国家十三部门联合发文要“加快推进产业数字化转型”。而数字化转型的实质就是把企业数据存起来、管起来、用起来,一个专业领域的词汇表达叫做:ECM(Enterprise Content Management)企业内容管理——一种战略和方法帮助企业获取、管理、存储、保护、利用与企业组织流程相关的数据。 一、ECM企业内容管理到底是在管什么? 从字面上看ECM管理的是企业内的数据,那数据在企业内到底是以怎样的形式存在呢?其实如果把这些数据简单分类的话,可以分为两类:结构化数据和非结构化数据。前者指的是存储在数据库里,可以用二维结构逻辑表来实现的数据,主要分布在如ERP、CRM、财务系统等各大应用系统中,数量大概占企业总数据量的20%左右。非结构化数据指的是不方便用数据库二维逻辑表来表现的数据,包括所有格式的办公文档、文本、图片、标准通用标记语言下的子集XML、HTML、各类报表、图像和音频/视频、AutoCAD工程图文档信息等,这个大概占企业总数据量的80%。 知道了ECM是在管理企业的一系列数据,那么它又是如何管理呢? 其实,随着经济和技术的发展,企业对内容管理的需求不断提出新的要求,ECM的形式、边界甚至概念本身也在随之发生了一系列的变化。 在PC出现以前,企业内容大多存在于纸面上,或者以隐性资源的形式存在于人的大脑中

Soft-Masked BERT:文本纠错与BERT的最新结合

孤街浪徒 提交于 2020-10-14 19:54:00
文本纠错 ,是自然语言处理领域检测一段文字是否存在错别字、以及将错别字纠正过来的技术,一般用于文本预处理阶段,同时能显著缓解智能客服等场景下语音识别(ASR)不准确的问题。 本文将通过以下几个章节简要介绍文本纠错相关知识。 1. 文本纠错示例与难点 2. 文本纠错常用技术 3. 如何将 BERT 应用于文本纠错 4. 文本纠错最优模型 : Soft - Masked BERT ( 2020 - ACL ) 5. 立马上手的纠错工具推荐 一.文本纠错示例与难点 生活中常见的文本错误可以分为(1)字形相似引起的错误(2)拼音相似引起的错误 两大类;如:“咳数”->“咳嗽”;“哈蜜”->“哈密”。错别字往往来自于如下的“相似字典”。 相似发音中文字典 相似字形中文字典 其他错误还包括方言、口语化、重复输入导致的错误,在ASR中较为常见。 现有的NLP技术已经能解决多数文本拼写错误。剩余的 纠错难点 主要在于,部分文本拼写错误需要 常识背景(world-knowledge) 才能识别。例如: Wrong : "我想去埃及金子塔旅游。" Right : "我想去埃及金字塔旅游。" 将其中的“金子塔”纠正为“金字塔”需要一定的背景知识。 同时,一些错误需要模型像人一样具备 一定的推理和分析能力 才能识破。例如: Wrong : "他的求胜欲很强,为了越狱在挖洞。" Right :

容联AI获AIIA智能客服最高等级认证

十年热恋 提交于 2020-10-14 14:58:24
近日,中国人工智能产业发展联盟(AIIA)正式公布了2020语音客服系统功能/性能检测结果。经过数百家厂商多轮的角逐, 容联智能语音机器人V5.0.1继获得“可信AI”评估认证后,再度通过智能客服系统功能、性能增加型的最高等级认证。 在此次评选中,依据中国人工智能产业发展联盟评估规范《智能客服系统服务等级评估方法》,容联智能语音机器人不仅在基础功能、AI核心技术能力、企业服务能力、系统成熟度四大指标以及各指标下的功能集均取得了较高的评分,更是在智能语音,多轮对话、多语言交互、技术支撑和可靠性方面表现优异,并在系统测试中,获得智能客服“功能”与“性能”的最高等级认证。 容联语音机器人从底层打通语音、文本两大客服渠道,以及对内、对外不同业务部门的知识积累。由机器人在一线初步接待,根据转人工率、高峰期算法等进行分流,疑难问题由人工客服接手,借助智能语音交互触达目标客户,通过智能辅助功能实时引用推荐话术,从而打造涵盖售前-售中-售后全生命周期的企业智能化产品,大大降低企业运营成本。 容联语音机器人的强大功能与优异的性能,依托于容联AI倾力打造的BotEngine。作为一个AI能力层平台,容联Bot Engine利用语义识别、上下文关联、深度学习、意图识别、词向量、词法分析等功能,可以给电话、微信、在线、APP等通讯渠道的不同AI应用赋能。 目前容联智能语音机器人已经应用在金融、教育、互联网

从Bengio演讲发散开来:探讨逻辑推理与机器学习

删除回忆录丶 提交于 2020-10-14 00:10:05
  机器之心分析师网络    作者:仵冀颖    编辑:Joni    Bengio 认为,未来的深度神经网络应当能够实现 System2(逻辑分析系统),实现的是有意识的、有逻辑的、有规划的、可推理以及可以语言表达的系统。本文所讨论的 Logical Reasoning(逻辑推理)拟实现的就是 System2 中重点关注的有逻辑的(Logical)和可推理的(Reasoning)特点。   近年来,深度神经网络的应用获得了巨大的成功,也推动了人工智能的飞速发展。然而,深度神经网络仍存在一些局限性。一般来说,深度神经网络如何进行学习、使用何种算法实现的智能、基于哪些理论分析得出的相关结论并不会在网络架构中有任何的显式或符号表示。也就是说,深度神经网络学习的算法隐式地存储在成千上万甚至是数百万的权重中,这些通常是人类智能体无法破译或验证的。   Bengio 在 AAAI 2020 的演讲报告中提出, 人的认知系统包含两个子系统 :System1(直觉系统),实现的是快速、无意识、非语言的认知,这也是现有的深度神经网络所实现的。他认为,未来的深度神经网络应当能够实现 System2(逻辑分析系统),实现的是有意识的、有逻辑的、有规划的、可推理以及可以语言表达的系统。我们这篇文章中所讨论的 Logical Reasoning(逻辑推理)拟实现的就是 System2 中重点关注的有逻辑的

从PageRank到反欺诈与TextRank

六月ゝ 毕业季﹏ 提交于 2020-10-12 11:25:27
©PaperWeekly 原创 · 作者|贲忠奇 单位|混沌大学推荐算法工程师 研究方向|推荐算法、反作弊 PageRank 是一种利用网页之间的连接数量和质量来计算网页重要性的技术。PageRank 算法基础上衍生出来很多重要的链接分析算法,TextRank 是其重要的衍生之一,在 nlp 领域用于文章摘要和关键词提取。 PageRank 也可以用于反作弊,网页的连接数量和质量可以类比成某个黑产团伙中的成员之间的连接数量和连接的质量,可以用于黑产成员重要性分析。 背景 最早的搜索引擎采用的是分类目录方法,即通过人工编辑审核进行网页分类并整理出高质量的网站,并按照人工编辑认为的重要程度去排序。由于早期的网页比较少,那时 Yahoo 和国内的 hao123 就是使用这种方法,在那一历史时期是可以行的。后来网页越来越多,人工分类已经不可能了。 搜索引擎采用文本检索的方式,即计算用户查询关键词与网页内容的相关程度来返回搜索结果,被搜索词语在网页中的出现次数来决定排序——出现次数越多的网页排在越前面。但是总有一些垃圾网站,来回地倒腾某些关键词使自己的搜索排名靠前,使得李鬼取代李逵,显然这种方式是不合理的。 1996 年初,谷歌公司的创始人, 当时还是美国斯坦福大学(Stanford University)研究生的佩奇(Larry Page)和布林(Sergey Brin

用Python实现坦克大战游戏 | 干货贴

 ̄綄美尐妖づ 提交于 2020-10-12 11:24:30
作者 | 李秋键 出品 | AI科技大本营(rgznai100) 《坦克大战》是1985年日本南梦宫Namco游戏公司在任天堂FC平台上,推出的一款多方位平面射击游戏。游戏以坦克战斗及保卫基地为主题,属于策略型联机类。同时也是FC平台上少有的内建关卡编辑器的几个游戏之一,玩家可自己创建独特的关卡,并通过获取一些道具使坦克和基地得到强化。而今天我们就将利用python还原以下坦克大战的制作。 实验前的准备 首先我们使用的Python版本是3.6.5所用到的模块如下: Pygame模块用来创建游戏整体框架、精灵等基本架构; OS模块用来加载本地文件(包括音乐,背景、图片等素材)。 精灵类程序 其中精灵类设置作为基本程序框架用来主函数的调用,其中包括子弹类程序、食物类、家类、砖墙树木等障碍物类、坦克类。具体程序布局如下: 其中子弹类程序,首先需要建立bullet.py程序,建立类包括子弹位置、方向、图片加载、子弹速度等基本信息。具体代码如下: '''子弹''' class Bullet(pygame.sprite.Sprite): def __init__(self, bullet_image_paths, screensize, direction, position, border_len, is_stronger=False, speed=8, **kwargs): pygame

智能海滩、泳池来了!AI溺水防护系统实时跟踪、风险预测、自动警报

懵懂的女人 提交于 2020-10-12 04:57:43
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 如今,人工智能(AI)在生活中的应用场景可谓百变多样。从医学诊断、图像识别、无人驾驶到个人助理、教育辅助,AI 的对现代生活的重要性不言而喻。然而,除了以上场景,AI 还可以应用于安全防护方面。 这不,眼看着炎炎夏日来临,人们纷纷涌向游泳馆、海滩等消暑胜地,渴望在灼热温度中寻求一丝“透心凉”的快感。但人生就是这样,你永远不知道明天和意外哪一个先来。尤其在热浪滚滚的夏日,游泳溺亡的意外事故层出不穷。 根据世界卫生组织(WHO)的数据,溺水是造成全球人口意外死亡的第三大原因,全球每年估计有 320,000 人因溺水而死亡。但现在,有了 AI 的帮助,溺水事故率很可能得到大幅降低。 近日,以色列内盖夫本古里安大学(BGU)的衍生企业 Sightbit,就针对频发的溺水事故,开发出一套 AI 溺水防护系统,该系统可以实时监测所有游泳者,并标记出潜在的危险情况,以弥补救生员肉眼观察的不足。 AI 海滩监控 Sightbit 的系统包含多组摄像头,这些摄像头并非普通相机,而是加持了基于深度学习和计算机视觉技术的软件。增强后的多组摄像头更加灵敏,能够清晰地显示出摄像范围内的所有物体。 而且,这种摄像机的摄像范围也大大提高,单个摄像机可以伸展到大约 1000 英尺(300 米)的海岸线。要知道

Mxnet (39): 上下文敏感的nlp模型:BERT

99封情书 提交于 2020-10-12 01:43:58
word2vec和GloVe之类的词嵌入模型是与上下文无关。他们将相同的预训练向量分配给相同的单词,而不管该单词的上下文(如果有)。他们很难用自然语言处理好多义性或复杂的语义。这种上下文无关的很有局限性,因此出现了很多上下文敏感的模型,ELMo为其中之一。 ELMo将来自预训练的双向LSTM的所有中间层表示形式组合为输出表示形式,然后ELMo表示将作为附加功能添加到下游任务的现有模型中。虽然这解决了上下文无感的问题,但是解决的方案取决与特定的任务体系。但是,为每个自然语言任务设计特定的体系比价困难。为此GPT模型设计为用于上下文相关且非任务确定的通用模型。GPT建立在Transformer解码器上,可以预训练将用于表示文本序列的语言模型。当将GPT应用于下游任务时,语言模型的输出将被馈送到添加的线性输出层中,以预测任务的标签。但是由于模型具有自回归特征,只能向前看(从左到右),在“我去银行存钱”和“我去银行坐下”的情况下,由于“银行”对左侧的上下文很敏感,因此GPT将为“银行”返回相同的表示形式有不同的含义。 ELMo双向编码上下文,GPT与任务无关。BERT吸取了二者的有点,可以双向编码上下文,使用预训练的Transformer编码器,BERT可以基于其双向上下文表示任何token。下图展示了三者的差异: 用于下游任务的监督学习时: BERT表示将被输入到一个附加的输出层中