タグ

2013年6月2日のブックマーク (13件)

  • 第11回 Kansai.pm / スペルミス修正プログラムを作ろう - naoyaのはてなダイアリー

    昨日は第11回 Kansai.pm でした。 今回は無理を言って自分がホストを担当させていただきましたが、面白い発表が多く開催した自分も非常に満足でした。 PFI の吉田さんによる Cell Challenge での計算機に合わせたアルゴリズムのチューニング手法の発表 (発表資料) は圧巻でした。伊奈さんの文抽出の話 (発表資料)、はこべさんのコルーチンの話 (発表資料)、いずれも難解になりがちなところを凄く分かりやすく解説されていて、さすがだなと思いました。各々ショートトークも、いずれも良かったです。 スペルミス修正プログラムを作ろう 自分も 20 分ほど時間をいただいて、スペルミス修正プログラムの作り方について発表しました。 スペルミス修正プログラムを作ろうView more presentations from Naoya Ito. スペルミス修正プログラムについてはずばり スペル

    第11回 Kansai.pm / スペルミス修正プログラムを作ろう - naoyaのはてなダイアリー
  • Research/dpmatching_any_subseq.py at master · akkikiki/Research

  • 編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー

    昨日 最長共通部分列問題 (LCS) について触れました。ついでなので編集距離のアルゴリズムについても整理してみます。 編集距離 (レーベンシュタイン距離, Levenshtein Distance) は二つの文字列の類似度 (異なり具合) を定量化するための数値です。文字の挿入/削除/置換で一方を他方に変形するための最小手順回数を数えたものが編集距離です。 例えば 伊藤直哉と伊藤直也 … 編集距離 1 伊藤直と伊藤直也 … 編集距離 1 佐藤直哉と伊藤直也 … 編集距離 2 佐藤B作と伊藤直也 … 編集距離 3 という具合です。 編集距離はスペルミスを修正するプログラムや、近似文字列照合 (検索対象の文書から入力文字にある程度近い部分文字列を探し出す全文検索) などで利用されます。 編集距離算出は動的計画法 (Dynamic Programming, DP) で計算することができることが

    編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー
    nfunato
    nfunato 2013/06/02
  • 全文検索 - Wikipedia

    順次走査検索、逐次検索ともいう。「grep」とはUNIXにおける文字列検索コマンドであり、複数のテキストファイルの内容を順次走査していくことで、検索対象となる文字列を探し出す。一般に「grep型」と呼ばれる検索手法は、事前に索引ファイル(インデックス)を作成せず、ファイルを順次走査していくために、検索対象の増加に伴って検索速度が低下するのが特徴である。ちなみに「grep型」とは実際にgrepコマンドを使っているという意味ではない。 インデックス作成型全文検索システム 検索対象となる文書数が膨大な場合、grep型では検索を行うたびに1つ1つの文書にアクセスし、該当データを逐次検索するので、検索対象文書の増加に比例して、検索にかかる時間も長くなっていってしまう。そこであらかじめ検索対象となる文書群を走査しておき、高速な検索が可能になるような索引データを準備することで、検索時のパフォーマンスを向

    全文検索 - Wikipedia
    nfunato
    nfunato 2013/06/02
  • 連載:検索エンジンを作る|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:検索エンジンを作る|gihyo.jp … 技術評論社
    nfunato
    nfunato 2013/06/02
  • 第19回 転置インデックスの実装 | gihyo.jp

    先ほどの表2のデータが文書ID順だったのに対して、表3は見出し語順になっています。文書IDと見出し語のデータの並び順がひっくり返っているために、転置インデックスに「転置」という語が付けられます。転置インデックスの形式であれば見出し語ごとに求めるべきデータが固まっているので、求めるべき文書IDと出現位置の集合が高速に得られます。Googleでは複数台のマシンを使った分散処理で表2の形式から表3の形式にデータを変換しており、この操作をMapReduceと呼ぶしくみを通じて実現しているということです。 FINDSPOTの転置インデックス構造 FINDSPOTの転置インデックスを設計する際には、いくつかの前提条件について吟味する必要がありました。 まずは扱うデータの分量です。FINDSPOTで扱うデータ量は平均500字程度の文書で100万件というのが当初の目標値でした。トータルの文字数は、500字

    第19回 転置インデックスの実装 | gihyo.jp
  • http://www.phontron.com/slides/

    nfunato
    nfunato 2013/06/02
  • Viterbiアルゴリズムによる単語分割を実装してみた - Topics Related to Computers and NLP

    例によってNLPチュートリアル資料に沿って、Viterbi(ビタビ)アルゴリズムを実装してみた。 参考:単語分割に関するチュートリアル 一言で言うと「分割しうる全ての部分文字列について、その単語分割らしい確率を計算する」アルゴリズムである。 Pythonで実装したものはここ チュートリアルでは各単語に対しての重みがあらかじめ計算された辞書を用いている。 入力文字列をグラフで表すとわかりやすい。各ノードが文字を表し、各エッジが単語を表している。 Viterbiアルゴリズムは以下の2つのステップを踏む。 前向きステップ このステップでは最短経路を動的計画法を用いただけである。この実装では単語ユニグラムに対して重みが割り当てられている。 イメージ図としてはこんな感じ。 図は圧倒的にチュートリアル資料がわかりやすいため、自分で描くのは億劫になる。 ただ、このチュートリアルの資料の前向きステップの説

    Viterbiアルゴリズムによる単語分割を実装してみた - Topics Related to Computers and NLP
  • 『Raspberry Pi を使う』

    Raspberry Pi、かわいいよ、Raspberry Pi。というわけで、 おうちで Raspberry Pi を動かし始めて、はや数ヶ月。 先日は、グランフロント大阪大阪イノベーションハブ(OIH)で開かれた 『英国発テクノロジーが世界を変える Raspberry Piが開くGlobal Innovation』という会で、 Raspberry Pi財団創始者の Eben Uptonさんと、 パネルセッションもやってきた。(ステージ右端のピンクシャツがあたくし) この会は英国総領事が挨拶するわ、大阪市の人が挨拶するわ、で非常にお堅い面々が運営される会でありましたよ。 あたくしは、Raspberry Pi を、 東京のアパートのゲートウェイとし、 また、3nodeのクラスタ計算機として計算ができるようにしてみている。 Raspberry Piを、おうちのゲートウェイとする話。 あたくし

    『Raspberry Pi を使う』
  • スーパーボキャブラリービルディング - Google 検索

    上級者のための発信型語彙の決定版。2000年発売の『発信型英語10000語レベルスーパーボキャビル』を全面的に改訂し、さらにパワーアップさせて、英字 ...

  • シリコンバレーはなぜ強いのか。 - シリコンバレー起業日記

    これまで多くの学者が「なぜシリコンバレーは強いのか」、「第二のシリコンバレーを作るには」という研究をしてきました。僕の専攻は技術経営学だったので、この手の論文はたくさん読みました。 でもしっくりくる理屈はありませんでした。シリコンバレーに住んで約4年経って、自分で起業してみて良く分かりました。 答えは簡単。「世界中から、優秀な移民を輸入する仕組みがあるから」です。別にシリコンバレーで生まれ育っった人が特別な訳ではありません。シリコンバレーには世界中から、常に新鮮でハングリーで優秀な人材が集まる仕組みがあるのです。 なぜ、優秀な移民が多いと、スタートアップが多く産まれるのか。 下世話な話ですが、お金の話をします。所謂「アメリカン・ドリーム」という奴です。 アメリカは世界で一番豊かな国です。アメリカよりも貧しい国に産まれて、「アメリカで一山当てれば億万長者になれる」(そして、家族でいい生活がで

    シリコンバレーはなぜ強いのか。 - シリコンバレー起業日記
    nfunato
    nfunato 2013/06/02
  • ChordアルゴリズムによるDHT入門

    今回はDHTを実現するアルゴリズムである「Chord」の細かい解説スライドを作成しました。 ( 掲載URL: http://did2.blog64.fc2.com/blog-entry-347.html ) Chordの説明はたくさん書かれています。 もちろん、それらと同じように書いたのではほとんど意味がないと思うので、 論文を読んでもすぐには分からない全体像から、どこが重要か、どの点によってメリットが生まれているかなどに注目しつつ、飲み込みやすいストーリーになるように注意しました。 なおかつ、出来るだけ論文に沿うように気を付けてみました。Read less

    ChordアルゴリズムによるDHT入門
  • JCLS/cl at master · mishoo/JCLS