Nova Blog

To Be A Lean Developer!

字典树

字典树介绍、实现、应用

Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构. 如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。 字典树(Trie树)的实现及应用 特点:只有叶子节点和部分内部节点所对应的键才有相关的值(表示命中查找). 优点:最大限度地减少无谓的字符串比较,查询效率比较高(核心思想是空间换时间,利用字符串的公共前缀来降低查询时间开销) 缺点:空间复杂度高(......

动态规划

算法

12345核心概念:最优子结构、状态转移方程、边界、重叠子问题核心思想:拆分子问题;记住过往,减少重复计算解题思路:穷举举例、确定边界、找规律、确定最优子结构、写出状态转移方程> 记住求过的解来节省时间 举例: leetcode53-最大子数组和 输入:[-2,1,-3,4,-1,2,1,-5,4] 输出:6 思路 用 f(i) 代表以第 i 个数结尾的「连续子数组的最大和」. 这里......

FastText实现流程

What is fastText

Facebook于2016年开源的一个词向量计算和文本分类工具。 它的优点非常明显,在文本分类任务中,fasttext(浅层网络)往往能取得和深度网络相媲美的精度,却在训练时间上比深度网络快许多数量级。 this.readLineTokens(line)【拆分token】 将输入的文本 按照空格分隔成 一组词(tokenList),并以 结尾 getDictLine(tokens,lin......

结构性思维有什么用?

Think beyoud coding

以互联网为代表的科技高速发展,每个人都处于历史上前所未有的信息爆炸中。新技术发明到应用日益缩短,产业调整瞬息万变。如何从纷繁的信息中提取有效数据以高效的传播与应用,实现内在知识能力的迭代更新,需要我们有更科学的思维和工作方法。 科学方法有三要素:有用,好学,可持续。 结构性思维就是一种科学的思维方式,对信息数据加工的一种方法,让我们可以快速,高效的对新信息进行加工,然后传播和应用。 类比数据......

文本表示

Nlp基础概论

就像不同的语言系统对同一个事物有不同的描述一样。文本字符串在计算机领域也需要计算机可以理解的表示方式。把文字表示成计算机能够运算的数字或向量,同时这个向量可以表达文本本身的含义。一般称为词嵌入(Word Embedding)方法。把文本的词嵌入到文本空间,用一个向量表示它。 在数学可以理解为一个mapping,f:X->Y. 映射的函数是具有injective 和structure-p......
NLP

简单的神经网络

深度学习

感知器分类 Perceptron 算法步骤 权重向量W,训练样本X 把权重向量初始化为0,或把每个分量初始化为[0,1]间任意小数 把训练样本输入感知器,得到分类结果(-1或1) 根据分类结果更新权重向量 神经元会进行以下算法步骤: 12345将神经元接受到的信号x进行整合:z=w1x1+⋯+wmxm用激活函数对z进行处理,例如下面的步调函数:ϕ(z)={1−1if z≥θif......

简单的神经网络

深度学习

感知器分类 Perceptron 算法步骤 权重向量W,训练样本X 把权重向量初始化为0,或把每个分量初始化为[0,1]间任意小数 把训练样本输入感知器,得到分类结果(-1或1) 根据分类结果更新权重向量 神经元会进行以下算法步骤: 12345将神经元接受到的信号x进行整合:z=w1x1+⋯+wmxm用激活函数对z进行处理,例如下面的步调函数:ϕ(z)={1−1if z≥θif......

动态规划算法

Nlp基础概论

问题:假如有1、5、10、20、50、100元面值的钞票。现在需要凑出某个金额w.需要用到尽量少的钞票。 根据生活经验,会采取这样的策略:能用100的尽量用100,否则尽量用50的…依次类推. 这种策略下,666共需要10张钞票。 这种策略称为贪心策略。贪心策略尽快让w变得更小。长期的生活经验表明,贪心策略是正确的。 但是如果钞票的面值边了,只有1、5、11这三种面值,需要凑出15的时候,贪......
NLP

如何学习NLP

Nlp基础概论

Nlp在方法技巧方面怎么学习,有哪些路线和学习内容。看什么书。是本文目的。 首先NLP本身的知识是很重要的。在大多数企业里,文本数据是重要的数据资产,基于此可以做大量的工作来为公司的核心业务目标服务。 这里主要讲针对搜索场景来展开学习内容和流程。 基于搜索场景 分词 分词,以及由此衍生出的term重要性、切词粒度和紧密度等问题。看似简单,其实不然。 比如长春市长春药店,切出来“长春市/长春/......
NLP

自然语言处理的关键技术

Nlp基础概论

NLP 是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的学科。NLP 由两个主要的技术领域构成:自然语言理解和自然语言生成。 自然语言理解方向,主要目标是帮助机器更好理解人的语言,包括基础的词法、句法等语义理解,以及需求、篇章、情感层面的高层理解。 自然语言生成方向,......
NLP