タグ

2009年3月29日のブックマーク (6件)

  • 自然言語処理は Python がいちばん - 武蔵野日記

    現在大学1年生の人で3年後には NAIST に (というか松研に) 来たいという人から「どんなプログラミング言語やっておくといいですか」と質問されたりするのだが、なかなか答えるのは難しい。自分は PerlPython がメインでときどき C++/C# を使ったりするのだが、どれが一番いいかはなんとも言えないので、自然言語処理以外に転向する可能性も考えると、C とか C++ とか Java とか(授業でそちらをやるのであれば)を最初の武器に選んだ方がいいのでは、と思ってはいる。 そんなこんなで最近 Hal Daume III (機械学習を用いた自然言語処理では非常に有名な人) のブログで Language of Choice というタイムリーなエントリーが出ていたので、紹介すると、「それなりに大きな自然言語処理のプロジェクトでどのプログラミング言語を使うのか」というアンケート結果が出

    自然言語処理は Python がいちばん - 武蔵野日記
    mamoruk
    mamoruk 2009/03/29
    id:deruyanagi さん、ユーザが多いってのは選択する大きな理由になりますよ。ライブラリが多いしコードも手に入るので。自然言語処理・機械学習では Ruby はほとんどないので情報皆無に近いです。Perl のほうがまだあります
  • 編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー

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

    編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー
    mamoruk
    mamoruk 2009/03/29
    Perl に加えて Python でも簡潔にコードを出して説明されていて、非常に参考になる解説の書き方。やっぱり擬似コードよりリアルコードのほうがいいよなぁ、と個人的には思う。
  • 文字列探索スターターキット - シリコンの谷のゾンビ

    最近重点的に勉強しているので,これまで集めた教科書情報,資料等へのリンクをまとめてみる.紹介している教科書はほとんど読んでいないので妄言注意. この他にお薦め教科書,勉強法があればぜひ教えてください. 文字列探索は検索対象テキストの中から転置インデクスのような外部データ構造を利用せずに目的の文字列を探索する課題です.文字列探索,文字列照合,パターンマッチなどとも呼ばれています(一番オーソドックスな呼び方はなんでしょう?) 教科書 和書で文字列探索だけを取り扱っているを見かけたことがない.アルゴリズムの探索の章にKMP法,BM法が紹介されているだけのケースが多い.注意してみるとAC法を扱っているが意外と少ないことに気がつく... (文字列探索でよい和書の情報募集中) 追記 (2009-04-02) Thanks to cubicdaiyaさん! 情報検索アルゴリズムにKMP法, BM法

    文字列探索スターターキット - シリコンの谷のゾンビ
    mamoruk
    mamoruk 2009/03/29
    文字列照合についていろいろまとめてあって参考になる
  • こたつつきみかん » 予測変換を活用してみる 2

    mamoruk
    mamoruk 2009/03/29
    確かに「予測変換とは、割と思考の妨げになるものです。自分の思考と違う文章が候補に表示されるほど、文章を書くときに邪魔になる」
  • 最長共通部分列問題 (Longest Common Subsequence) - naoyaのはてなダイアリー

    部分列 (Subsequence) は系列のいくつかの要素を取り出してできた系列のことです。二つの系列の共通の部分列を共通部分列 (Common Subsecuence)と言います。共通部分列のうち、もっとも長いものを最長共通部分列 (Longest Common Subsequence, LCS) と言います。 X = <A, B, C, B, D, A, B> Y = <B, D, C, A, B, A> という二つの系列から得られる LCS は <B, C, B, A> で、その長さは 4 です。長さ 2 の<B, D> の長さ 3 の <A, B, A> なども共通部分列ですが、最長ではないのでこれらは LCS ではありません。また、LCS は最長であれば位置はどこでも良いので、この場合 <B, D, A, B> も LCS です。 LCS は動的計画法 (Dynamic Prog

    最長共通部分列問題 (Longest Common Subsequence) - naoyaのはてなダイアリー
    mamoruk
    mamoruk 2009/03/29
    いつもながら解説分かりやすい
  • Shudo's Notes (2009/3)

    Wink というソフトを使用。 3つ: PlanetLab 上 500ノード以上での Overlay Weaver (日記3/22分) を用いた DNS エミュレーション (日記12/23分) Overlay Visualizer: Overlay Weaver のノード・通信・マルチキャスト配信木 可視化ツール (日記2006年2/7分) UG Live - Peer-to-peer Live Streaming (日記10/3分, 11/2分, 11/11分) Utagoe Live 100 (日記9/1分) は動画共有サイト (ウェブページ) に置いてあるからいいか、と。 PC とメモリ。 箱のサイズは 49 x 56 x 40 cm。 メモリは、2 GB の DIMM 2枚が 4千円未満。 桜の木の下で。 マクドナルドで買ってきてべてたり、昼間からサワー飲んでたり。 子連れのお母

    mamoruk
    mamoruk 2009/03/29
    shudoさんが未踏ユースのPMに。いいPMになりそう