Monthly Archives: 11月 2011

「集合知プログラミング」第15回(11月29日)

Posted on by 0 comment

参加者 青木(読み手)、沼田、今井(記)
範囲 pp. 89 – 93

4章 検索とランキング

  • 4.7 クリックからの学習
    • 4.7.4 バックプロパゲーションによるトレーニング
      • p.91 最初のコード例の7行目
        urlids.index(selectedurl)はどういう意味?(Python文法として)
        urlids配列の要素のうち、値がselectedurlの最初の要素のインデックス
    • 4.7.5 トレーニングのテスト
    • 4.7.6 検索エンジンとつなげる
      • p.93 コード例
        コメントに「ソートされたリストとして取得する」とあるが、どこでソートされているのだろうか。

「集合知プログラミング」第14回(11月25日)

参加者 今井(読み手)、青木、沼田(記)

範囲 pp. 82 – 89

4章 検索とランキング

  • 4.7 クリックからの学習
    • 4.7.1 クリックを追跡するネットワークの設計
    • 4.7.2 データベースのセットアップ
    • 4.7.3 フィードフォワード

「集合知プログラミング」第13回(11月22日)

Posted on by 0 comment

参加者 沼田(読み手)、今井(記)
範囲 pp. 73 – 82

4章 検索とランキング

  • 4.5 内容ベースの順位付け
    • 4.5.2 単語の頻度
    • 4.5.3 ドキュメント中での位置
      • p.75 中ほどの実行例
        e.query()の実行結果が載っていない。
        → 自分で試せということ? 「… 試してみよう。」って書いてあるし。
        → でも前の方では、「… 試してみよう。」って書いてあっても実行結果も載っている。単に載せ忘れただけでは。
    • 4.5.4 単語間の距離
      • p.76 4.5.4のl.5 中ほど 衍字
        追加の単語が入ってはいけない。
  • 4.6 インバウンドリンクの利用
    • 4.6.1 単純に数えあげる
    • 4.6.2 PageRankアルゴリズム
      • p.79 コード中
        beginが無いのに、db.commit()するんだね。
    • 4.6.3 リンクのテキストを利用する

「集合知プログラミング」第12回(11月18日)

Posted on by 0 comment

参加者 青木(読み手)、沼田、今井(記)
範囲 pp. 67 – 73

4章 検索とランキング

  • 4.3 インデックスの作成
    • 4.3.3 インデックスへの追加
      • p.68 中ほど
        def getentryid()の引数の数と、上のaddlinker()内で使われているgetentryid()の引数の数が違う。
        → Pythonのインスタンスメソッドの第一引数(self)は、そのインスタンスが入る。
        → 昔、C++がCにトランスレートされていた頃、たしかC++のインスタンスメソッドも、トランスレートされたCの関数の第一引数に自身のインスタンス(構造体へのポインタ)がはいっていた。
  • 4.4 問合せ
  • 4.5 内容ベースの順位付け
    • 4.5.1 正規化関数

「集合知プログラミング」第11回(11月15日)

Posted on by 0 comment

参加者 今井(読み手)、青木(記)

範囲 pp. 64 – 67、333-337、349-351

4章 検索とランキング

  • 4.3 インデックスの作成
    • 4.3.1 スキーマの設定
    • 4.3.2 ページ内の単語を探し出す

付録A サードパーティによるライブラリたち

  • A.1 Universal Feed Parser
  • A.2 Python Imaging Library
  • A.4 pysqlite

付録C 日本語のテキスト処理

  • C.1 形態素解析ツール
  • C.2 Yahoo!日本語形態素解析Webサービス
    p.350 のソースで ret[] は宣言しているが使用していないようだ。
    l.surface.stringについて、lはXMLのエレメントで、その子要素<surface>のコンテンツを文字列で取得している。
    レスポンスの仕様は http://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html を参照。

「集合知プログラミング」第10回(11月11日)

参加者 青木(読み手)、今井、沼田(記)

範囲 pp. 57 – 64、335、341 – 344

3章 グループを見つけ出す

  • 3.9 クラスタについてその他のこと
  • 3.10 エクササイズ

4章 検索とランキング

  • 4.1 検索エンジンとは?
  • 4.2 シンプルなクローラ
    • 4.2.1 urllib2を使う
    • 4.2.2 クローラのコード

付録A サードパーティによるライブラリたち

  • A.3 Beautiful Soup

付録B 数式

  • B.1 ユークリッド距離
  • B.2 ピアソン相関係数
  • B.3 加重平均
    • 実装例は式の分子と分母を算出するところまでしか載っていない。次のようなコードが続くはず。

        if den==0 : return 0
      r = num/den
      return r

  • B.4 Tanimoto係数

「集合知プログラミング」第9回(11月8日)

Posted on by 0 comment

参加者 沼田(読み手)、今井、青木(記)

範囲 pp. 50 – 57

3章 グループを見つけ出す

  • 3.7 嗜好のクラスタ
    • 3.7.3 Zeboの結果をすくい取る
    • 3.7.4 距離の基準を定義する
    • 3.7.5 結果をクラスタリングする
  • 3.8 データを2次元で見る

「集合知プログラミング」第8回(11月4日)

Posted on by 0 comment

参加者 青木(読み手)、今井(記)
範囲 pp. 44 – 50

3章 グループを見つけ出す

  • 3.5 列のクラスタリング
  • 3.6 K平均法によるクラスタリング
    • p.48 コードの中ほど avgs=[0.0]*len(rows[0]) はどういう意味? (Pythonの構文として)
      [0.0]は値0.0を持った要素数1のリスト。リストに対して’*’演算子は、そのリストの要素を指定回繰り返した要素のリストを返す。従って、avgsはrows[0]の要素数と同じ要素数を持ち、値が全て0.0のリスト。
    • p.48 下の実行例の、rownames[]はどこで設定されている?
      p.40中ほどの実行例にあるblognamesのように、clusters.readfile()を使ってdataを得るときに同時に得ていると思われるが、明確にはかかれていないようだ。
  • 3.7 嗜好のクラスタ
    • 3.7.1 データの取得と準備
    • 3.7.2 Beautiful Soup

「集合知プログラミング」第7回(11月1日)

Posted on by 0 comment

参加者 今井(読み手)、青木、沼田(記)

範囲 pp. 38 – 44

3章 グループを見つけ出す

  • 3.3 階層的クラスタリング p.38の最後の段落から
  • 3.4 デンドログラムを描く
    • 水平な直線の長さ:クラスタ間の距離を表す。階層の深さ(何階層目か)ではなく距離で長さが決まるので枝により長さが異なる。