精华内容
下载资源
问答
  • 有限元语言应用案例.pdf
  • N元语言模型

    2019-01-25 19:36:28
    元语言模型(N-gram model)根据一个词语的前N−1个词语,来计算这个词语的概率。如果我们有了一个2元模型,“I love you”的概率就等于P(I)×P(love|I)×P(you|love)(最后一段解释原因)。2元模型用一个矩阵来表示,...

    语言模型是干嘛的?

    语言模型可以计算任何句子的概率。例如,“I love you”的概率是多少?用数学语言表述,N

    元语言模型(N-gram model)根据一个词语的前N−1个词语,来计算这个词语的概率。如果我们有了一个2元模型,“I love you”的概率就等于P(I)×P(love|I)×P(you|love)(最后一段解释原因)。2元模型用一个矩阵来表示,比如对于一个有10000个词的语料库,这个语料库的2元模型就是一个10000×10000的矩阵,第m行第n列表示在第m个词语的条件下,第n个词语出现的概率,即第m个词语后面跟着第n

    个词语的概率。如果我们知道了语言模型,我们就可以像计算“I love you”那样,计算任何一个句子的概率。

    语言模型有什么用?

    语言模型在自然语言处理中占有重要的地位,在语音识别,机器翻译,汉语自动分词和句法分析等都有应用。因为这些模型都会有噪声,都会有几种不同的结果等着我们去选择,这时候就需要知道每种结果的概率,来帮助我们选择。
    为什么叫“语言模型”?因为这是统计学意义上的模型,又跟语言相关,所以叫语言模型。统计模型指一系列分布,参数模型指一系列可用有限个参数表示的模型。语言模型就是一种参数模型,它的参数是矩阵的所有cell。

    如何计算语言模型的参数?

    参数无法精确计算,只能大概估计。这里用的方法是极大似然估计。对于某个语料库,极大似然估计的意思是,哪个语言模型(什么样的参数)最有可能产生这个语料库呢?把这个问题分解成许多个小问题:当P(you|I)

    是多少时(love和I可以换成别的所有的词),最有可能产生这个语料库呢?自然而然我们会想到,统计语料库里一共有多少个I,一共有多少个I love,然后做一下除法,就得到了我们想要的概率,这个概率最有可能产生这个语料库。我们对这个语料库里所有的词对做相同的计数和除法,就得到了我们想要的参数,也就得到了这个语料库的语言模型。

    那样计算概率的原因:马尔科夫假设

    然而,为什么I love you的概率可以通过P(I)×P(love|I)×P(you|love)

    计算呢?其实这么算只是在某个假设下的近似计算,这个假设就是一个词出现的概率只取决于它前N−1个词。所以在二元模型下,I love you的概率可以那么算。 以此类推,三元模型下,I love you的概率就要这么算了:P(I)×P(love|I)×P(you|I,love)。

    展开全文
  • CSML(会话标准元语言)是一种特定于域的语言,旨在轻松创建会话体验。 第一种专门用于构建聊天机器人的编程语言。 关键功能•示例•用法•其他信息CSML(会话标准元语言)是一种特定于域的语言,旨在轻松创建会话...
  • 理论CSS元语言 一种可表达的,功能性CSS元语言,用于可维护()的样式。 客观的 诸如LESS和SASS之类CSS超集语言的出现证明了需要一种更具表现力的语言来设计Web样式。 理论通过以可维护的方式在样式元素之间提供高级...
  • textX是一个元语言,用于在Python中构建领域特定语言(Domain-Specific Languages (DSLs))。简而言之,textX将帮助你以一种简单的方式构建你自己的文本语言。你可以发明你自己的语言,或者构建对已存在的文本语言或者...
  • 元计算技术人员为大家介绍基于有限元语言出版的科技专著
  • csml-engine::parrot:会话标准元语言
  • 元计算技术人员为大家介绍ELAB2.0系统有限元语言介绍及理念
  • 两个写作水平无显著差异的非英语专业平行班级被随机分为实验组(N一46)和控制组(N一48),前者接受为期8周的元语言知识教学,对后者教学不涉及元语言知识。研究结果显示两组后测写作成绩虽无显著性差异,但元语言课堂...
  • 元计算并行版有限元语言及其编译器PFELAC2.2软件
  • Substance PL是一种实验性的,面向对象的编程语言,具有用于创建新结构的元语言支持。 主要特征: Metalanguage支持,用于描述您自己的结构 全插件架构,能够完全替换所有编译器模块 能够在不同平台上进行编译,而...
  • Clojure中的()()元语言 github的: : 生成元编程 主持人语言:Clojure 多种目标语言: Python | Django的 Erlang /长生不老药| 凤凰 锈 嵌入式C / C ++ 部署平台: VPS /通用Linux 嵌入式Linux(Buildroot) ...
  • 基于N元语言模型的文本分类方法.pdf 汉语n元模型统计软件.ppt 基于N元语法的汉语自动分词系统研究.pdf 一种基于N元语法分布的语言模型自适应方法.pdf 语言模型的基本概念.doc N元语言模型的解码算法.doc N元语言模型...
  • 4.1元语言的解释器

    2018-08-17 22:47:18
    4.1元语言的解释器 我们的解释器解释LISP,用LISP程序实现。 使用LISP实现的解释器解释LISP程序似乎是一个圈。 然而,解释是一个过程,它使用LISP描述解释过程是合适的, LISP是我们描述过程的一个工具。一个解释器...

    4.1元语言的解释器

    我们的解释器解释LISP,用LISP程序实现。
    使用LISP实现的解释器解释LISP程序似乎是一个圈。
    然而,解释是一个过程,它使用LISP描述解释过程是合适的,
    LISP是我们描述过程的一个工具。一个解释器使用实现语言与解释的语言
    是同一种计算机放言,这个解释器叫做元解释器。

    元解释器本质上是在3.2部分描述的解释的环境模型的一个SCHEME规范。
    重调用这个模型有两个基本的部分。

    1. 解释执行一个组合子(一个复合的表达式而不是一个特定的算子)
      解释执行一个子表达式 并且把 操作数的子表达式的结果值应用于
      操作符子表达式的结果值。
    2. 为了把一群实际参数应用于一个复合的程序上,在一个新的环境中
    解释执行程序体。  为了组装这个环境,扩展这个程序对象的环境部分,
    通过使用一个把程序的形式参数绑定到 这个程序的实际参数上的框架。

    这两个规则描述了解释执行过程的本质。在环境中,那些表达式被解释的
    一个基本的循环是归结程序为应用它的参数,或者归结为在新环境中
    被解释的表达式等等,直到我们追溯到这些符号,这些符号的值在环境中
    能被找到,或者是追溯到原生的程序,这原生的程序能被直接应用(详见图4.1)。
    这个解释的循环存在于解释器中两个关键的程序的交互之中。这两个程序是eval和apply,
    它们被描述在4.1.1部分中,(详见图4.1)

    解释器的实现依赖于这些程序,这些程序定义了能被解释的表达式的语法。
    我们将使用数据抽象,来使得解释器独立于语言的表示。例如,我们能使用
    选择子assignment-variable 和 assignment-value来读取一个赋值语句的部分,
    而不是提交一个选择。这个选择是一个赋值语句被表示成以set!符号开始的列表,
    并且使用一个抽象的判断式来测试这个赋值语句。 在4.1.2部分中,表达式的实现
    被详细地描述。有也操作被描述在4.1.3部分中,这些操作指定了程序和环境的表示法。
    例如,make-proceduce程序组装了复合程序, lookup-variable-value程序读取变量的值,
     apply-primitive-procedure应用一个原生的程序到一个给定的参数的列表。

    展开全文
  • 项目实训学习笔记N元语言模型 数学模型是沟通实际问题与数学工具之间联系的桥梁,语言模型就是用来连接自然语言和数学分析的工具,它根据语言客观事实而进行的语言抽象数学建模,让它来解释自然语言的事实。 现在最...

    N元语言模型

    数学模型是沟通实际问题与数学工具之间联系的桥梁,语言模型就是用来连接自然语言和数学分析的工具,它根据语言客观事实而进行的语言抽象数学建模,让它来解释自然语言的事实。

    现在最常用的一种数学模型是马可夫模型,它的基础就是预测的下一个状态和之前所有的状态都有关系

    到了语言模型领域,最常用的是N元语法模型

    如果我们要处理一个有M词的长句,如果要预测其中第q个词,那么根据链式法则我们可以写出一个和q之前所有词有关的长式:image.png)这样的式子显然不好算,而且在现实汉语中即当前这个词与前几个词相关的概率会比更远的词高得多,因此也就不必追溯到最开始的那个词,通过马可夫链假设可以大幅缩减上述算式的长度,即:image-2.png在此之上引入N-Gram

    N-Gram是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。

    每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,列表中的每一种gram就是一个特征向量维度

    N-Gram大体上分成一元、二元和三元,一元是以单个汉字为基础的,三元及以上则等价类过于庞大,一般对于20000字的汉语语料而言,二元划分会产生4亿个参数,尚在可处理范围内

    二元模型image.png也就是说,在二元模型中,认为当前词只与前一个词相关,如:“你吃了么”划分为:你/吃了么

    之后进行训练,对训练语料利用贝叶斯定理image.png

    也就是说,训练依靠最大似然估计

    当然直接这样建模肯定不行,还要面对三个主要问题:0概率;特定领域偏科;单一模型自带的弊端

    平滑处理

    基于统计的自然语言处理需要基于大量语料库进行,而自然语言千变万化,可以理解所有词汇的笛卡尔积,数量大到无法想象,有限的语料库是难以穷举语言现象的,因此n元语法模型会出现某一句话的概率为0的情况,在计算语言模型的过程中,对于句子中的每一个字符或者词都需要一个非0的概率值以避免计算公式的结构为0,必须分配给所有可能出现的字符串一个非零的概率值来避免这种错误的发生。

    平滑技术就是用来解决这类零概率的问题,为了产生更加准确的概率来调整最大似然估计的一种技术,平滑的处理思想是“劫富济贫”,即提高低概率,降低高概率。对于一个二元的语法来说,一种最简单的平滑技术就是假设每个二元语法出现的次数比实际出现的次数多一次,不妨将该处理方法称为加1法,这样对于每一个单词都有一个对应的最小概率。

    概括起来,基本就是加、减或插值

    Discounting类包括:

    Add-One Smoothing(加法平滑) Good-Turing Discounting(图灵平滑) Katz Smoothing

    Interpolation类包括:

    Linear Interpolation(插值平滑)

    Back-off类包括:

    Kneser-Ney Smoothing

    深入分析语言

    每一种领域都会有一些词汇比正常概率偏大,比如计算机领域会经常出现“性能”、“程序”等词汇,这个解决办法可以通过缓存一些刚刚出现过的词汇来提高后面出现的概率来解决。这里面是有很多技巧的,并不是简单认为所有出现过的词后面概率都较大,而是会考虑这些词出现的频率和规律(如:词距)来预测。

    混合语言模型

    还是因为语料库的不足,我们会融合多种语料库,但因为不同语料库之间的差异,导致我们用单一语言模型往往不够准确,因此,有一种方法可以缓和这种不准确性,那就是把多种语言模型混到一起来计算,这其实是一种折中,这种方法low且有效。

    还有一种方法就是用多种语言模型来分别计算,最后选择熵最大的一种,这其实也是一种折中,用在哪种地方就让哪种模型生效。

    展开全文
  • metaJSON提供一种元语言来生成多种语言的对象模型。 生成的类可以轻松地用于客户端-服务器通信。 用法 根据后端的JSON规范编写JSON方案(对于yaml,请参见下面的详细信息) 运行脚本 # python readJSON.py -h ...
  • PHP的元语言编程

    千次阅读 2015-07-30 17:38:30
    元语言编程,都是要用在最灵活的地方的。最近的任务,设计一个极为灵活的试题计算项目,而这最大的困难就是,几套试卷的得分计算规则都不一样。如果要按照一般的方法,可能就直接写六套程序完事,但这其中有大量相同...

    元语言编程,都是要用在最灵活的地方的。

    最近的任务,设计一个极为灵活的试题计算项目,而这最大的困难就是,几套试卷的得分计算规则都不一样。

    如果要按照一般的方法,可能就直接写六套程序完事,但这其中有大量相同的部分,如果设计不好,则会导致大量代码冗余,造成维护困难。

    为此,要精心设计一个方法,利用元语言编程,将不同的逻辑写到配置文件中,形成一个统一的规则,就可以完成任务了。

    闲话eval函数

    PHP是一门灵活的脚本语言,既然是脚本语言,那么一般都会提供相应的元编程方法,最古老的便是eval函数。

    Eval函数最早在lisp中的实现,被人们广为接受,eval函数接受一个字符串作为参数(当然在lisp中是列表),然后将这段字符串中的值作为代码执行。

    Eval函数实际上是调用了解析器内部函数,通过对文本进行词法分析,语法分析,处理当前符号表,然后进行执行。

    <?php
    
    $string = 'Bierglas';
    $name = 'Binding-Lager';
    $str = 'Das ist mein $string, voll mit $name.';
    echo $str . "\n";
    eval ("\$str = \"$str\";");
    echo $str . "\n";

    这段php代码,就是eval函数的一个最好例子,当然,这里还用到了php中的一个重要特性,单引号引起来的,是纯的字符串,而双引号引起来的部分,则包含了大量的转义信息,例如:$开头的变量会被格式化进去,而\n也只有在双引号下才是换行,否则仅仅输出\n。

    下面是执行结果:

    $ php test.php 
    Das ist mein $string, voll mit $name.
    Das ist mein Bierglas, voll mit Binding-Lager.

    php函数的特殊调用

    说完eval函数,其实php还有一些便利的内部函数可以使用。

    call_user_func ,可以根据字符串中的名字调用一个php函数
    call_user_func_array,传递的参数可以是一个数组,这样就避免了不定参数的传递问题。

    
    <?php
    /**
     * @Author: sxf
     * @Date:   2015-07-29 23:00:36
     * @Last Modified by:   sxf
     * @Last Modified time: 2015-07-29 23:36:16
     */
    
        function a($b, $c)
        {
            echo $b ."\n";
            echo $c ."\n";
        }
    
        call_user_func_array('a', array("111", "222")); 

    本文属 西风逍遥游 原创, 转载请注明出处: 西风世界 http://blog.csdn.net/xfxyy_sxfancy

    展开全文
  • 元语言 开发了元语言以方便儿童在Arduino中进行编程。 使用ANTLR工具制作 该语言旨在抽象编程的概念。 是的,一种语言抽象编程概念似乎具有讽刺意味 这些命令是葡萄牙语的,旨在使操作更加直观。 前任: INICIAR...
  • NLP - ngram - N元语言模型 python 实现

    千次阅读 2020-10-14 17:09:10
    NLP - ngram - N元语言模型 python 实现 一、说明 N-Gram N元语言模型: N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计或者评估一...
  • 一般而言,对于英语文本,n元语言模型的 困惑度范围一般为50 ∼ 1000之间。
  • 验证BPF 对 BPF 元语言的初步修改和在 Coq 中正式验证的实现。
  • 基于复杂网络视角的《现代汉语词典》与《国语辞典》常用动词释义元语言研究
  • 第四章: 元语言抽象

    2018-08-17 22:45:32
    第四章: 元语言抽象 在口语中,有摩力的词 如 abracadabra,芝麻开门,和其它的吧。 但是在一个故事中的摩力词语在下一个故事中就不是了。 真正的摩力是理解单词的作用,什么时候用,为什么用; 戏法是需要学习的。...
  • 通过对《红楼梦》前八十回和后四十回在章节开头、话题转换、章节结束在元语言标记使用的数量上存在较大的差异,数量比分别为6:3、154:11、26:8。元语言的使用能力能客观体现作者的写作风格,鉴于《红楼梦》前八十...
  • 信息技术 语法元语言 扩展的BNF标准(EBNF) 巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语法的符号集。现在,几乎每一位新编程语言书籍的作者都使用...
  • 程序的本质复杂性和元语言抽象 组件复用技术的局限性 常听到有人讲“我写代码很讲究,一直严格遵循DRY原则,把重复使用的功能都封装成可复用的组件,使得代码简短优雅,同时也易于理解和维护”。显然,DRY原则和...
  • 本节书摘来自华章社区《ANTLR 4权威指南》一书中的第2章,第2.1节从ANTLR元语言开始,作者[美] 特恩斯·帕尔(Terence Parr),更多章节内容可以访问云栖社区“华章社区”公众号查看 2.1 从ANTLR元语言开始为了...
  • N元语言模型的解码算法

    千次阅读 2012-07-18 22:01:50
    --------------------------------------------------------------...我之前介绍了N元语言模型的训练方法,本文继续介绍N元语言模型的解码算法。 ------------------------------------------------------------------

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,560
精华内容 6,224
关键字:

元语言