タグ

2011年8月7日のブックマーク (3件)

  • GETA 第2版 連想計算関数 wsh() の歩き方 - elm200 の日記(旧はてなダイアリー)

    趣旨 GETA 2 を使って連想検索を行う上で、もっともコアになる関数が libae.a にある wsh() である。しかし使い方がなかなか厄介である。ネットを探しても情報が少ないので、結局、$GETASRC/lib/ae/wsh.c というソースコードの解読を試みた。 wsh.c には wsh() という関数がひとつだけ定義されていて、おそらく高速化のためだろうが、関数呼び出しを極力行わないようにしている。$GETASRC/lib/ae/wt/*.f という類似度定義ファイルの内容も、最終的には wsh.c にインクルードして、wsh() に組み込む形で実行している。高速化重視で、やや可読性が失われているため、wsh() は相当読みづらかったが、なんとか解読に成功した。 wsh() の使い方について、具体例を交えて説明したい。 情報ソース まず説明の前に、有益な情報ソースへのリンクを掲げ

    GETA 第2版 連想計算関数 wsh() の歩き方 - elm200 の日記(旧はてなダイアリー)
    Kesin
    Kesin 2011/08/07
  • PythonのUnicodeEncodeErrorを知る - HDEラボ

    Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ

  • 専門用語(キーワード)自動抽出用Perlモジュール "TermExtract"の解説

    はじめに  テキストデータから、専門用語を取り出すためのPerlモジュール"TermExtract"を解 説します。 日語の文章中から単語を切り出す定番のソフトとして、「茶筅」や「案山子」があ りますが、そのまま専門用語の抽出に使うには次の2つの問題があります。 ひとつは、複合語に対応していないことです。専門用語の多くは単語を組み合わせて、 複雑な概念を表すことが多くなります。特に「茶筅」の場合は単語を品詞単位で細かく 分割するため、そのまま使うには難があります。 もうひとつは、どの用語が重要であるか判断する仕組みを持たないことです。 その問題点を解決したソフトに東京大学・中川裕志教授、横浜国立大学・ 森辰則助教授が作成した「専門用語自動抽出システム」があります。 それは、1)「茶筅」の形態素解析結果を複合語に組み立て、2)その複合語(単語の場 合もある)を重要度の高い順に返すものです。