2007-01-01から1年間の記事一覧
http://web.njit.edu/~rytter/teaching/texts/book.html 少し古い(1994)文字列アルゴリズムの本。
regex [cxx][programming] boost::regex は Perl みたいな感じで正規表現を使わせてくれるライブラリ。 #include <iostream> #include <boost/regex.hpp> int main() { using namespace std; using boost::regex; using boost::sregex_token_iterator; string s("a/b c/d e/f"); sregex_</boost/regex.hpp></iostream>…
意外な単語がアナグラムだったりします。 thread HATRED reproduce PROCEDURE thousand HANDOUTS generate TEENAGER process CORPSES PROCESS ruby -e'class String; def sort(); self.split(//).sort.join;end;end; dic={}; ARGV.each{|f| File.open(f).eac…
http://karlmicha.googlepages.com/lg 作ってたのとほとんど同じものがあった。
オブジェクトとメソッドのあいだには改行があってはいけないようです。 ↓コンパイルエラー p(1 + 2)↓もちろんこれはOK p(1+ 2)
class Array def perm() if self.length <= 1 then [self] else a=self[1..-1].perm; c=[]; a.each { |x| 0.upto(x.length) { |y| c.push( (y==0 ? [] : x[0..y-1]) + [ self[0] ] + x[y..-1]) } } c.uniq end end end "123".split(//).perm.each{ |x| p x }…
wstring で [programming][cxx] C++でユニコード文字といえば ICU4C があるけれど、 ・APIが非常にJava的なので、あまり使いたくない(STLと相性が悪い) ・正規化処理等を含んでいるので、単に格納して単なる文字列と同じように使いだけの場合にはオーバース…
最初を適当に決めて、残りを再帰で均等に。 頭の悪いアルゴリズムなので、計算量とかスタックとかがいろいろ大変なことになっている。 #include <iostream> #include <list> #include <iterator> #include <locale> #include <cassert> using namespace std; pair<list<wstring>,size_t> divid_len(size_t num, const w</list<wstring></cassert></locale></iterator></list></iostream>…
「知ってる?」 に対するもっとも適切な応答が 「知ってる」 もしくは 「知らない」 という非対称なペアであること、あるいはもっと端的には、 「知っていない」という表現がほとんど非文法的であることが近年問題になっているわけですが、 簡単に内省による…
文字2-gram確率の最大化だけを目的としたいろは歌生成は、 文字=都市の巡回セールスマン問題インスタンスに相当する。日本語の音韻的制約(iaはあるけどiuはないとか)を反映した程度の ゆるい文法性しか付与できないと思われる。文字N-gram化することも可…
http://www.geocities.jp/mickindex/database/idx_database.html
/usr/bin/ruby -Ke -rjcode -e'STDIN.each{|x| if x.jlength>70 then puts x; end} 文字数70以上の行だけを出力する例
出てました。 あまり分厚くない文字列アルゴリズム本。 最近の文字列アルゴリズムの進展は全くついていけなくて、 書籍である程度基礎がためしないとなと思っていたので読んでみる。数ページしか読んでませんが、 この著者って Jewels の人ですね。 amazonで…
http://www.cs.umass.edu/~xuerui/research.html data mining 系トピックモデリング
http://wiki.nodalpoint.org/blogs
#! /usr/bin/env perl use utf8; use Benchmark; use Unicode::Japanese qw[unijp]; use Readonly; use Encode; Readonly my %dakuon => map {$_} split //, 'ウヴカガキギクグケゲコゴサザシジスズセゼソゾタダチヂツヅテデトドハバヒビフブヘベホボ'; Read…
#! /usr/bin/env ruby $KCODE='UTF8' require 'moji' DAKUON = Hash[*('ウヴカガキギクグケゲコゴサザシジスズセゼソゾタダチヂツヅテデトドハバヒビフブヘベホボ'.split //)] HANDAK = Hash[*('ハパヒピフプヘペホポ'.split //)] DAKUON_ORIGIN = DAKUON.ke…
http://acl.ldc.upenn.edu/p/p07/p07-1094.pdf 文書を表す単語ベクトルを、named entity だけにして、 文書クラスタリングに基づく適応をやったという話。
http://dx.doi.org/10.1145/1277741.1277948 情報検索の一部()で使われている、片方の分布が未知の混合ユニグラムモデルにおいて、 厳密かつ、線形時間な解法が得られた。p, q を多項分布に従う確率変数、\alpha を実数とするとき、 r = \alpha p + (1-\al…
https://www.codeblog.org/
http://www.xapian.org/
AABCDE、と6つの単語が出現するという事象の確率を求めることを考える。 簡単のために、モデルはスムージングも事前分布もない単語ユニグラムモデルとし、 訓練データでの分布も、同じ分布(A:B:C:D:E = 2:1:1:1:1)だとしよう。モデル1はABCという3つの単…
http://lists.sourceforge.jp/mailman/archives/mecab-users/2007-February/000231.html MeCab の出力フォーマットもしくは C/C++ API を使えば、ある単語が 元のテキストの何バイト目から何バイト目に出現したか分かるので、 元のテキスト中にスペースがあ…
http://processing.org/ Yet another programming environment for education http://processing.org/reference/libraries/
http://cl.naist.jp/~eric-n/ubuntu-nlp/ NAISTのericさんによる Ubuntu 用リポジトリ。
Traditional SLMs are based on N-gram language models (NGLMs), which essentially treat each word occurrence as an probabilistic event.Naive NGLMs are suffered with data sparseness. One examples was ...To avoid the data sparseness problem, .…
http://nlp.stanford.edu/~wcmac/papers/20050421-smoothing-tutorial.pdf ふつうのLMスムージング
http://cl.naist.jp/~masayu-a/article/2006-05-26.pdf