タグ

構文解析に関するiwwのブックマーク (4)

  • ABNF - Wikipedia

    ABNF(Augmented Backus–Naur form)は、バッカス・ナウア記法 (BNF) の拡張の一種。構文規則や生成規則はBNFとは異なる。通信プロトコルなどの言語の形式体系を記述するメタ言語として開発された。RFC 5234 で文書化されており、IETF が通信プロトコルを定義する際によく使っている。拡張バッカス・ナウア記法とも呼ばれるが、EBNF(Extended Backus-Naur Form)も同じ訳語となるため、区別するためあえて ABNF としている。 RFC 5234 は、RFC 4234およびRFC 2234 に存在した問題を修正し置換したものである。 概要[編集] ABNFの記述は以下のような生成規則群からなる。 ここで、rule は大文字小文字が区別される非終端記号、definition はその rule を定義する記号列、comment は文書化のため

  • sentence2vec 動かした - laughingのブログ

    paragraph vector の実装が Qiita で紹介されていたので,ホイホイと動かしてみたという話 動くか動かないかというところを試しただけで,分析はまた今度 参考 【自然言語処理 NLPword2vec の次は、Paragraph2vec (Mikolov氏論文)~ Google発の実装ソース・コード公開 未定なので、第三者によるGithubアップ済み 実装コード を試してみる - Qiita 準備 sentence2vec clone する python apt-get する scipy と six と python-mecab と cython も corpus 適当なのを作る 情報学研究データリポジトリ ニコニコデータセット 今回は nii のニコニコ動画コメント等データを適当に使った 前処理 ニコニコ動画コメント等データを形態素解析する 下記のスクリプトで pytho

    sentence2vec 動かした - laughingのブログ
  • JavaScript イディオム集

    JavaScriptでは、初見の人にはさっぱりわからないけれども、ある程度慣れた人は当たり前に使うイディオムが結構たくさんあります。知ってしまえば何てことはないので、私の知っている限りのイディオムとその意味を解説します。 (7/3追記: twitter等で教えていただいた内容を追加しました) +v (数値化) var v = "123"; console.log(+v + 100) // 223 console.log(v + 100) // 123100 vを数値化する方法では最もメジャーです。parseFloat(v) に比べて高速なのに加えて、parseFloatとは細かい挙動が異なります(例えば空文字列の場合、parseFloatならば NaN になりますが、 +v の場合はゼロになります)。必ず数値になることが保証されており、文字列などで数値化出来ない場合はNaNが返ります。 v

    iww
    iww 2013/10/28
    「バッドノウハウとはこういうことだ!」 という感じ。 便利
  • PHP_LexerGeneratorとPHP_ParserGeneratorを利用して PHPで独自の言語を実装する方法

    はじめに 計算機用言語の処理には決まった方法があります。文字列で与えられた言語は、字句解析によってトークンに分けられ、構文解析によってトークン同士が結びつけられ、意味解析によって解釈されます。 字句解析を行うプログラムが字句解析器(lexer)、構文解析と意味解析を行うのが構文解析器(parser)です。字句解析器としてはlexあるいはflex、構文解析器としてはyaccあるいはbisonが有名で、資料も豊富にありますが、いずれもC言語で利用することを想定したソフトウェアです。 PHPで利用できる字句解析器としてはPHP_LexerGeneratorが、構文解析器としてはPHP_ParserGeneratorがあります。稿では、簡易電卓を実装するという例を通じてPHP_LexerGeneratorとPHP_ParserGeneratorの使い方を紹介します。 必要な環境 XAMPP fo

    PHP_LexerGeneratorとPHP_ParserGeneratorを利用して PHPで独自の言語を実装する方法
  • 1