上海有哪些做网站,宿州市网站建设,职业能力建设网网站,微信怎么弄自己的商城一、Linguistics 语言学
wordsmorphology 形态学#xff1a;词的构成和内部结构研究。如英语的dog、dogs和dog-catcher有相当的关系morpheme 语素#xff1a;最小的语法单位#xff0c;是最小的音义结合体lexeme 词位#xff1a;词的意义的基本抽象单位#xff0c;是一组…
一、Linguistics 语言学
wordsmorphology 形态学词的构成和内部结构研究。如英语的dog、dogs和dog-catcher有相当的关系morpheme 语素最小的语法单位是最小的音义结合体lexeme 词位词的意义的基本抽象单位是一组通过形态变化相联系的词的集合。例如 run、runs、ran 和 running 都属于同一个词位可标识为 RUN。词位也是词法学分析中指代相同词根(stems)、不同形式的一组词的单位。词性不同词位会不同。lemma 词目词位按惯例确认的典型形式。例如词位 RUN 的词目是 run。词目是词典的基本查检单位和解释对象位于词条首位不规则的形态变化、不常见的其他形式常在词条以下列出。不过有的语言学字典视两者为同样的概念。lexicon词库所有词汇parts of speechPOS 词类
Open classes ○ nouns ○ verbs ○ adjectives ○ adverbsClosed classes ○ prepositions 介词○ determiners 限定词○ pronouns 代词 ○ conjunctions 连词 ○ auxiliary verbs 助动词
syntax 句法句子的构成和内部结构的研究semantics 语义句子意义的研究discourse 语篇理解文档中的句子之间是如何关联起来的。因此当我们浏览一个文档时语篇为我们提供了一个关于该文档的连贯的故事线Phonetics语音学人类语言声音的研究Phonology音韵学人类语言中声音系统的研究Pragmatics语用学研究具有语义意义的句子用于特定交际目标的方式 1. 语素 morphemes
词素是最小的有意义的语言单位不能够进一步划分为更小的单位而不破话或彻底改变其词汇意义或语法意义。
语素和词的区别在于许多语素不能独立存在。而能够单独存在并且有意义的语素叫做词根Stems不能独立存在要借助其他语素表达意义的语素则称之为词缀 affixes。每个词都包含最少一个语素。按能否独立成词对语素分类
自由语素Free morphemes可以独立成词如cattown规范语素Bound morphemes必须和词根或者其他规范语素一起成词如-tion-ing, -s 所有的规范语素Bound morphemes都是词缀 affixes从功能上也可分为派生词缀和屈折词缀。位于词根前的词缀叫做前缀prefix跟在词根后面的词缀叫做后缀suffix如果插入在词干中间的叫做中缀infix
规范语素可以进一步分类分为
派生语素 ( Derivational morpheme)可以和其他语素结合成为一个新的词带来新的语义。如英语中的派生后缀-ly使形容词slow变为副词slowly。前缀un-在一些形容词和动词前面表示否定的意义如unhealthy屈折语素 ( Inflectional morpheme )通常改变词的语法范畴而不改变词义。屈折语素改变动词的时、体、式、态等范畴改变名词、代词、形容词的格、数和性等范畴。比如说英语的动词加-s表示第三人称单数但不改变其动词属性
需要特别指出有时候派生语素和屈折语素会采用同一种表现形式。比如说-er当这个后缀跟在形容词后面它作为屈折语素表示比较级当跟在动词后面则是一个派生语素形成一个新词如cook-cooker。
从意义的虚实来说语素又可分为
内容语素Content morpheme携带具体的语义如cat-able和-un。内容语素包括名词、动词、副词、形容词也包括规范语素中的派生语素Derivational morpheme功能语素Function morpheme仅仅提供语法信息或句法一致如and plural-s。包括介词、连词、代词和限定词以及规范语素中的屈折语素Inflectional morpheme 2. 形态学 Morphology
词的分类
variable and invariable words 变化词实义词 非变化词语法词Lexical words and grammatical words 实义词和语法词Open class and closed class 开放类词实义词 封闭类词语法词 3. Laws of text 语言统计学三大定律
Zipf’s Law在给定的语料中对于任意一个term其频度(freq)的排名rank和freq的乘积大致是一个常数Benford’s Law在自然形成的十进制数据中任何一个数据的第一个数字d出现的概率大致log10(11/d)Heap’s Law在给定的语料中其独立的term数vocabulary的sizevn大致是语料大小n的一个指数函数
3.1. Zipf’s Law 齐夫定律
齐夫定律是一个实验定律。在自然语言的语料库里一个单词出现的频率与它在频率表里的排名成反比。所以频率最高的单词出现的频率大约是出现频率第二位的单词的2倍而出现频率第二位的单词则是出现频率第四位的单词的2倍。
给出一组齐夫分布的频率按照从最常见到非常见排列第二常见的频率是最常见频率的出现次数的½第三常见的频率是最常见的频率的1/3第n常见的频率是最常见频率出现次数的1/n。然而这并不精确因为所有的项必须出现一个整数次数一个单词不可能出现2.5次。
3.2. Benford’s Law 本福特定律
Benfords law 描述了真实数字数据集中首位数字的频率分布。一堆从实际生活得出的数据中以1为首位数字的数的出现概率约为总数的三成接近直觉得出之期望值1/9的3倍。推广来说越大的数以它为首几位的数出现的概率就越低。它可用于检查各种数据是否有造假。但要注意使用条件1.数据之间的差距应该足够大。2.不能有人为操控。
本福特定律说明在b进位制中以数n起头的数出现的概率为 其中n1,2,...,b-1 本福特定律(Benfords law)的直观解释 - 知乎 3.3 Heap’s Law
Heaps定律将词项的数目估计成文档集大小的一个函数其中n是文档集合中的词条个数。参数k和b的典型取值为30k100, β≈0.5
Heaps定律认为文档集大小和词汇量之间可能存在的就最简单的关系是它们在对数空间log-log space中存在线性关系. 不同的文档集下参数k的取值差异会比较大这是因为词汇量的大小依赖于文档集本身以及对它进行处理的方法。
大小写转换和词干还原会降低词汇量的增长率允许加入数字和容忍拼写错误会增加该增长率
不论在某个特定的文档集中的参数取值如何Heaps定律提出了如下两点假设
(1)随着文档数目的增加词汇量会持续增长而不会稳定到一个最大值(2)大规模文档集的词汇量也会非常大。
因此在大规模文档集情况下词典压缩对于建立一个有效的信息检索系统来说是非常重要的。 二、语言建模
1. 概率建模原则
句子概率作为衡量句子是否符合语法的标准是没有用的sentence probability is useless as a measure of whether a sentence is grammatical语言概率建模自回归因子分解两个问题不是所有条件概率都有效无限序列时概率会丢失 2. Language Models
2.1 formal language theorys 例如
2.2 language models 即一个简单的语言模型应至少满足概率和为一 3. 词性标注POS tagging )
3.1 介绍
Parts-of-speech(也称为词性、词类或句法类别)很有用因为它们揭示了一个单词及其相邻词的很多信息。知道一个单词是名词还是动词可以告诉我们可能的相邻单词(名词前面有限定词和形容词动词前面有名词)和句法结构单词(名词通常是名词短语的一部分)使词性标注成为解析的一个关键方面。词性标注是为输入文本中的每个词性标注词分配词性标记的过程。标记算法的输入是一系列(标记化的)单词和标记集输出是一系列标记每个标记一个。词性标注的两种算法——词性赋值算法。一种是生成隐马尔可夫模型(HMM)另一种是判别最大熵马尔可夫模型(MEMM)
一些tagsets
Penn Treebank 45 tags Brown corpus 87 tagsC7 tagset 146 tags
3.2 Criteria for classifying words
Distributional criteria: Where can the words occur? 上下文位置Morphological criteria: What form does the word have? (E.g. -tion, -ize). What affixes can it take? (E.g. -s, -ing, -est). 单词的形态Notional (or semantic) criteria: What sort of concept does the word refer to? (E.g. nouns often refer to ‘people, places or things’). More problematic: less useful for us. 具体词汇代指的含义
3.3 Open and closed classes 自然语言的封闭词类和开放词类
Open classes are typically large, have fluid membership, and are often stable under translation. Four major open classes are widely found in languages worldwide: nouns, verbs, adjectives, adverbs. 所有语言至少有前两种类型名词和动词Closed classes are typically small, have relatively fixed membership, and the repertoire of classes varies widely between languages. E.g. prepositions (English, German), post-positions (Hungarian, Urdu, Korean), particles (Japanese), classifiers (Chinese), etc.Closed-class words (e.g. of, which, could) often play a structural role in the grammar as function words.
一些closed class words
prepositions: on, under, over, near, by, at, from, to, with determiners: a, an, theconjunctions: and, but, or, as, if, whenparticles: up, down, on, off, in, out, at, bynumerals: one, two, three, first, second, third
3.4 Types of lexical ambiguity 词性不确定
Part of Speech (PoS) Ambiguity: e.g., still:
adverb: at present, as yetnoun: (1) silence; (2) individual frame from a film; (3) vessel for distilling alcoholadjective: motionless, quiettransitive verb: to calm
Sense Ambiguity: e.g., bark:
sound a dog makes (The dog’s bark woke me up in the morning)outer covering of a tree (The tree’s bark was rough to the touch)
3.5 Rule-based tagging 基于规则的标注
Very old POS taggers used to work in two stages, based on hand-written rules: the first stage identifies a set of possible POS for each word in the sentence (based on a lexicon), and the second uses a set of hand-crafted rules in order to select a POS from each of the lists for each word. Example
If a word belongs to the set of determiners, tag is at DT.Tag a word next to a determiner as an adjective (JJ), if it ends with -ed.If a word appears after “is” or “are” and it ends with ing, tag it as a verb VBG. 3.6 HMM(隐马尔科夫)词性标注
在本节中我们将介绍隐马尔可夫模型在词性标注中的应用。HMM是一个序列模型。序列模型或序列分类器是一个模型其工作是为序列中的每个单元分配一个标签或类从而将一个观察序列(观察状态)映射到一个标签序列(隐藏状态)。HMM是一种概率序列模型给定一个单位序列(单词、字母、语素、句子等等)它计算可能的标签序列的概率分布并选择最佳标签序列。 三、Computational methods 计算模型
finite state machines (morphological analysis, POS tagging)grammars and parsing (CKY, statistical parsing)probabilistic models and machine learning (HMMS, PCFGs, logistic regression, neural networks)vector spaces (distributional semantics)lambda calculus (compositional semantics)
1. 有限状态机 finite state machines
状态机一般指有限状态机英语finite-state machine缩写FSM又称有限状态自动机英语finite-state automaton缩写FSA是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。
有限状态机是在自动机理论和计算理论中研究的一类自动机。如下图所示有限状态机归属于自动机理论范畴从下面的自动机理论的领域分层图可以看出越往外层概念越复杂。 状态机中有几个术语state(状态) 、transition(转移) 、action(动作) 、transition condition(转移条件) 。
state(状态) 将一个系统离散化可以得到很多种状态当然这些状态是有限的。例如门禁闸机可以划分为开启状态、关闭状态电扇可以划分为关、一档、二档、三档等状态。transition(转移) 一个状态接收一个输入执行了某些动作到达了另外一个状态的过程就是一个transition(转移)。定义transition(转移)就是在定义状态机的转移流程。transition condition(转移条件) 也叫做Event(事件)在某一状态下只有达到了transition condition(转移条件)才会按照状态机的转移流程转移到下一状态并执行相应的动作。action(动作)在状态机的运转过程中会有很多种动作。如进入动作(entry action)[在进入状态时进行]、退出动作(exit action)[在退出状态时进行]、转移动作[在进行特定转移时进行]。emissions 输出: letters produced at each transition
下图就定义了一个只有opened 和closed两种状态的状态机。当系统处于opened状态在收到输入“关闭事件”达到了状态机转移条件系统就转移到了closed状态并执行相应的动作此例有一个进入动作(entry action)进入closed状态会执行close door动作。 有限状态机数学模型为(Σ, S, s0, δ, F)
Σalphabet表示有效输入S 有限的非空的一组状态s0 初始状态S的一个元素δtransition表示从一种状态到另一种状态的规则方法F是一组有限状态是S的子集可能为空O一组输出可能为空
以售票机为例
Σ (m, t, r) 付款m, 出票t, 退款rS (1, 2) : 没付款状态, 付款状态s0 (1) 初始状态δ (shown below) : transition function: δ : S x Σ → SF : emptyO (p/d) :打印票据p, 退款d
有限状态机可以被分为不同的类型主要可以被分为acceptors(接收器)、transducers(转换器) 两大类。 Acceptors(接收器) 产生二进制输出指示是否接受接收到的输入。接受者的每个状态要么接受accepting要么不接受non accepting。一旦接收到所有输入如果当前状态为接受accepting状态则该输入被接受;否则将被拒绝。通常输入是一个符号(字符)序列没有动作(actions)。
如下图是一种acceptors(接收器) 类型有限状态机用来识别所输入的字符串是否为nice其总共被划分为了七种状态其中只有第七种状态Success被认为是可接受状态。如果所输入的字串不是nice则会被转移到第六种状态Error。 如下给出acceptors(接收器) 的数学形式化定义acceptors(接收器) 型有限状态机是一个五元组(Σ,S,s0,δ,F) 其中
Σ 是输入字符集合(有限的非空符号集合)S 是有限非空状态集合s0 是初始状态属于 S 中的元素δ 是状态转移函数δS×Σ→ SF 是最终状态集合是 S 的子集。
Transducers(转换器) 根据给定的输入与/或使用动作的状态产生输出输出的同时可能也伴随着状态的转移(不是必须)。应用在控制系统在控制系统又分为两种moore machine (摩尔型有限状态机)和mealy machine (米利型有限状态机)
若输出只和状态有关而与输入无关则称为moore状态机输出不仅和状态有关而且和输入有关系则称为mealy状态机
1.1 moore状态机 (moore machine)
如下所示的状态机为moore状态机其有q0、q1、q2、q3四个状态X,Y,Z三个输入a、b、c三个输出。可以看出其四个状态q0、q1、q2、q3对应的输出分别为b、a、a、c就是说输出已经和状态绑定好不管输入为哪一个均不影响输出。其中q0为初始状态假设输入为XYZY可以看出输出为bcac假设输入为ZXYZ则输出为baca可以看出虽然输出只和状态有关而与输入无关但改变输入的序列顺序输出序列也会改变。 1.2 mealy状态机
mealy状态机的输出与当前状态和输入都有关。但是对于每个mealy状态机都有一个等价的moore机。如下所示为一个简单的mealy状态机它有一个输入和一个输出。在每一个有向边上标注出了输入(红色)和输出(蓝色)。这个状态机的初始状态为Si当输入为0输出0状态变为S0接着输入0输出0状态还是为S0在此状态下一直输入0输出会一直是0但输入为1是输出才为1状态变为S1在此状态再接着输入1输出一直还是0直到遇到输入为0输出才变为1。此状态机其实实现了一个边缘触发检测器每次输入从1到0或是从1到0发生跳变时输出为1否则输出为0。如下所示时序图当输入为0111001110时输出为0100101001。 如下给出transducers(转换器) 的数学形式化定义transducers(转换器) 型有限状态机是一个六元组(Σ, Γ, S, s0, δ, ω),其中
Σ 是输入字符集合(有限的非空符号集合)Γ 是输出字符集合(有限的非空符号集合)S是有限非空状态集合s0是初始状态属于S中的元素δ是状态转移函数δS×Σ→Sω 是输出函数。
如果输出函数 ω 依赖于状态和输入(ω:S×Σ→Γ)则定义的是mealy状态机如果输出函数仅仅依赖于状态(ω:S→Γ)那么定义的是moore状态机。如果有限状态机没有输出函数 ω 这一项那么可以称作transition system(转移系统) 。很多应用程序用到的有限状态机并没有输出序列仅仅用到了状态机的转移过程和动作其实可以称为转移系统。
1.3 代码
1.3.1 简单有限状态机 class Transition:A change from one state to a nextdef __init__(self, current_state, state_input, next_state):self.current_state current_stateself.state_input state_inputself.next_state next_statedef match(self, current_state, state_input):Determines if the state and the input satisfies this transition relationreturn self.current_state current_state and self.state_input state_inputclass FSM:A basic model of computationdef __init__(self,states[],alphabet[],accepting_states[],initial_state):self.states statesself.alphabet alphabetself.accepting_states accepting_statesself.initial_state initial_stateself.valid_transitions Falsedef add_transitions(self, transitions[]):Before we use a list of transitions, verify they only apply to our statesfor transition in transitions:if transition.current_state not in self.states:print(Invalid transition. {} is not a valid state.format(transition.current_state))returnif transition.next_state not in self.states:print(Invalid transition. {} is not a valid state.format)returnself.transitions transitionsself.valid_transitions Truedef __accept(self, current_state, state_input):Looks to see if the input for the given state matches a transition rule# If the input is valid in our alphabetif state_input in self.alphabet:for rule in self.transitions:if rule.match(current_state, state_input):return rule.next_stateprint(No transition for state and input)return Nonereturn Nonedef accepts(self, sequence):Process an input stream to determine if the FSM will accept it# Check if we have transitionsif not self.valid_transitions:print(Cannot process sequence without valid transitions)print(Starting at {}.format(self.initial_state))# When an empty sequence provided, we simply check if the initial state# is an accepted oneif len(sequence) 0:return self.initial_state in self.accepting_states# Lets process the initial statecurrent_state self.__accept(self.initial_state, sequence[0])if current_state is None:return False# Continue with the rest of the sequencefor state_input in sequence[1:]:print(Current state is {}.format(current_state))current_state self.__accept(current_state, state_input)if current_state is None:return Falseprint(Ending state is {}.format(current_state))# Check if the state weve transitioned to is an accepting statereturn current_state in self.accepting_states 2. 状态机生成语言
2.1 regular languages and regular expressions and Chomsky Hierarchy
Languages produced by FSMs are called regular languagesReg. languages can also be described with regular expressions 正则表达式.
正式地一个正则表达式包含以下运算 从字母集中抽样得到的符号Σ空字符串ε两个正则表达式的连接RS两个正则表达式的交替R∣S星号表示出现 0 次或者重复多次R∗圆括号定义运算的有效范围()
Chomsky Hierarchy: four major classes of formal languages
3. regular 正则语言 (generated by finite state machines, usually assumed sufficient to describe phonology and morphology) 2. 上下文无关 (context-free) (和正则语言相比它具有更少的约束可能捕获更多的自然语言的特性) 1. 上下文敏感 (Context Sensitive) (possibly needed for some natural language phenomena) 0. recursively enumerable (anything a computer program can produce)
判断正则和非正则语言
一个语言是正则的当且仅当它能被有穷自动机接受正则语言共有而非正则语言不具备的两条性质从左到右扫描一个字符串时为了确定这个字符串最终是否在该语言中所需要的存储量必须是有界的、事先固定的且只与该语言有关而与具体的输入字符串无关的。有无穷多个字符串的正则语言用带圈的有穷自动机或含Kleene星号的正则表达式表示。这样的语言一定有具有某种简单的重复构造的无穷子集。
比如 或者 {且是一个素数} 都是非正则的 2.2 状态机FSM用于形态学分析morphological analysis
2.2.1 有限状态接收器Finite state acceptorsFSA
FSA 包含
输入符号的字母集Σ状态集合Q起始状态q0 ∈ Q最终状态F ⊆ Q转移函数符号和状态 → 下一个状态 Build components as separate FSAs
– L: FSA for lexicon– D: FSA for derivational morphology– I: FSA for inflectional morphology
Concatenate L D I (there are standard algorithms) 2.2.2 有限状态转换器Finite State TransducersFST
FST 在 FSA 的基础上增加了字符串的输出能力
包含一个 输出字母集output alphabet现在转移函数会采用输入符号并发出输出符号 (Q,Σ,Σ,Q) 其中第一个 Q 表示输入状态最后一个 Q 表示输出状态第一个 Σ 表示输入字母集第二个 Σ 表示输出字母集。 3. Edit distance algorithm 一种动态规划
编辑距离Minimum Edit DistanceMED由俄罗斯科学家 Vladimir Levenshtein 在1965年提出也因此而得名 Levenshtein Distance。在信息论、语言学和计算机科学领域Levenshtein Distance 是用来度量两个序列相似程度的指标。通俗地来讲编辑距离指的是在两个单词w1, w2之间由其中一个单词w1转换为另一个单词w2所需要的最少单字符编辑操作次数。
在这里定义的单字符编辑操作有且仅有三种
插入Insertion删除Deletion替换Substitution
一般时候可以设置插入和删除cost值为1替换cost值为2.
譬如kitten 和 sitting 这两个单词由 kitten 转换为 sitting 需要的最少单字符编辑操作有
1.kitten → sitten (substitution of s for k) 2.sitten → sittin (substitution of i for e) 3.sittin → sitting (insertion of g at the end)
因此kitten 和 sitting 这两个单词之间的编辑距离为 3 。 4. 编辑距离自动机 (Edit Distance Automata) 其中δ 是状态转移的记分函数在编辑距离的 WFST加权FST 实现下我们只需要一个状态 q。上面的式子表明将 a 替换为 a 或者将 b 替换为 b 的代价为 0将 a 替换为 b 或者将 b 替换为 a 的代价为 1将 a 删除或者将 b 删除的代价为 1插入一个 a 或者 b 的代价为 1。 5. 下推自动机PushDown AutomatonPDA自带栈的有限状态机
为什么要在有限自动机的基础上给其增加一个栈来构建下推自动机呢其根本原因在于有限状态机本身无法存储数据而加上了栈之后的下推自动机则具有了数据存储能力。具有了存储能力之后下推自动机的计算能力相较于有限自动机得到了进一步的增强。
我们已经知道有限自动机在进行状态转移的时候需要读取一个输入然后根据当前状态已经输入来进行状态转移。下推自动机在进行状态转移的时候同样要依赖于当前状态和输入不过因为下推自动机有了栈的概念所以在进行状态转移的时候我们还需要一点别的东西 —— 读栈和写栈操作。例如下图这样的一个下推自动机 我们可以把这个下推自动机用这样的转移列表列出来注意这里的 $ 符号因为栈为空的状态并不是很好判断所以我们添加了这个字符来代表栈为空也就是说栈的最底部永远应该保持有 $ 这个字符。最下面的虚线代表着当栈为空且状态为 2 时我们使用虚线来代表不需要有输入的转移情形即自由移动此时不需要任何输入栈会自动的弹出 $ 然后再压入 $随后状态从 2 变为 1。
当前状态输入字符转移状态栈顶字符读入 / 弹出压入字符1(2$b$2(2bbb2)2b不压入2无输入1$$ 四、语言模型
n-gram模型、隐马尔可夫模型HMM和条件随机场CRF
1. n-gram模型
1.1 unigrambag-of-words模型 如何计算单词概率用极大似然估计 1.2 bigram 或 trigram模型
MLE计数估计概率参数
trigram: 对于给定x_i-1, 所有可能的x_i 概率之和为一 要注意p(xi,xi-1)中x的顺序 2. 平滑方法smoothing 概率计数
平滑策略的引入主要使为了解决语言模型计算过程中出现的零概率问题。零概率问题又会对语言模型中N-gram模型的Perplexity评估带来困难。
Additive smoothingAdd-one smoothing / 加一或加权平滑Good-Turing estimateJelinek-Mercer smoothing (interpolation) 插值
2.1 Add-one smoothing 加一平滑拉普拉斯平滑 Add-α smoothing: 与贝叶斯估计(bayesian estimation)形态近似dirichlet prior
2.2 Good-Turing smoothing
基本思想: 用观察计数较高的 N-gram 数量来重新估计概率量大小并把它指派给那些具有零计数或较低计数的 N-gram
2.3 卡茨退避法(Katz backoff)
Katz平滑方法通过加入高阶模型与低阶模型的结合扩展了Good-Turing估计方法。 当某一事件在样本中的频率大于k时运用最大似然估计MLE经过减值来估计其概率。当某一事件的频率小于k时运用低阶的语法模型作为代替高阶语法模型的后备而这种代替必须受归一化因子α的作用。根据低阶的语法模型分配由于减值而节省下来的剩余概率给未见事件这比将剩余概率均匀分配给未见事件更合理。
2.4 Interpolation 线性插值Jelinek-Mercer 插值
简单来讲就是把不同阶的模型结合起来:用线性差值把不同阶的 N-gram 结合起来这里结合了 trigrambigram 和 unigram。用 lambda 进行加权: 2.5 绝对减值法Absolute Discounting
从每个 观测到的 n-gram 计数中 “借” 一个 固定的概率质量a fixed probability mass d。因为对于add-one平滑来说出现次数多的词汇会损失更多有效计数然后将其 重新分配redistributes 到 未知的 n-grams 上。
和Add-one平滑一样如果我们想计算 Absolute Discounting 平滑概率只需要用 Absolute Discounting 平滑下的有效计数除以上下文在语料库中出现的总次数即可 2.6 Kneser-Ney Smoothing
Kneser-Ney 平滑采用的方法是基于当前单词 在多少个 不同的上下文 中出现过或者说是基于该单词的 多功能性versatility或者 延续概率continuation probability。
对比 Katz Backoff 的概率公式在 Kneser-Ney 平滑概率公式中只有一项不同 其中 可以看到对于观测到的 n-gramsKneser-Ney 概率和 Katz Backoff 概率两者是相同的。而对于那些未知的 n-gramsKneser-Ney 概率中从观测 n-grams 中 “借来” 的概率质量 与之前一样保持不变而之前关于低阶模型 的部分则由我们所说的延续概率 来替代。
在延续概率的计算公式中分子部分计算的是一共有多少个 唯一 的上下文单词w_i-1 和当前单词w_i 共同出现过co-occurrence而分母部分就是将所有可能的单词 w_i 对应的不同共现上下文单词数量即分子部分进行一个累加。 3. 对数线性模型(Log-linear Model)
Log-linear语言模型的本质是把语言模型的建立看作是一个多元分类问题核心是从上文中提取特征。
形式化地说假设上文为log-linear语言模型需要一个特征函数其将上文信息作为输入输出一个N 维特征向量注意这里是feature vector而不是eigenvector这个特征向量x就是对上文信息的一个表示这里的N不是N元语法里面的那个N不表示上文单词数量
log-linear语言模型还允许灵活加入其它特征这也是该模型的一大长处。常见的特征还包括
上文的语义类别。可以使用聚类方法将相似单词聚类这样上文每个单词的独热编码不再是单词表长度而是聚类得到的类别个数上文单词的其它语义信息例如词性标注POS-Tag信息词袋特征。此时不止考虑前面少数几个单词而是考虑前面所有单词统计它们出现的个数。注意在这种情况下会失去单词的位置信息不过可以捕捉到单词的共现信息 Part I: Words * Inflectional and derivational morphology// * Finite state methods and Regular expressions// * Bag-of-Words models and their applications * Word Classes and Parts of speech * Sequence Models (n-gram and Hidden Markov models, smoothing) * The Viterbi algorithm, Forward Backward, EM Part II: Syntax * Syntactic Concepts (e.g., constituency, subcategorisation, bounded and unbounded dependencies, feature representations) * Analysis in CFG - Greedy algorithms---Shift-reduce parsing * Divide-and-conquer algorithms---CKY * Lexicalised grammar formalisms (e.g., CCG, dependency grammar) * Statistical parsing (PCFGs, dependency parsing) Part III: Semantics and Discourse * Logical semantics and compositionality * Semantic derivations in grammar * Lexical Semantics (e.g., word embeddings, word senses, semantic roles) * Discourse (e.g., anaphora) 1. Introduction, words, and morphology • Including: ambiguity, words, and morphology//
2. Basic algorithms • Including: finite state models, dynamic programming, and edit distance
3. Language models • Including: probability, N-gram models, smoothing, perplexity
4. Text classification • Including: Naïve Bayes, logistic regression, basic neural networks, evaluating classifiers
5. Tagging and hidden Markov models • Including: parts of speech, HMMs, Viterbi algorithm
6. Phrase-structure syntax and parsing • Including: syntactic structure, context free grammars, and the CKY algorithm
7. Beyond basic grammars • Including: probabilistic grammars and parsing, dependency parsing, evaluating parsers
8. Lexical semantics and word embeddings • Including: word senses, distributional semantics, mutual information, word embeddings
9. Sentence-level semantics • Including: logical forms, coreference References
集合
https://blog.csdn.net/bensonrachel/category_8109347.html
multi language NLP - 知乎
Archive - YEY 的博客 | YEY Blog
单篇
语言学小知识什么是语素 - 知乎
什么是状态机一篇文章就够了 - 掘金
自然语言处理 03N-gram 语言模型 - YEY 的博客 | YEY Blog
词性标注(Part-of-Speech Tagging),HMM - 知乎