1 / 18

「ことわけ Web 」 内部仕様書

「ことわけ Web 」 内部仕様書. 平成19年5月 19 日 第 3 版 東京大学理学部生物化学図書室 前田 朗. コンテンツ. システム構成 システム構成と、個々について簡単に説明 基本データ型 各モジュール間でのデータの受け渡しに使う仕様をまとめたもの。 モジュール化する部分 URI の設計. 第1章.システム構成. TermExtact ほか Perl モジュール. Catalyst(Perlベースの Web フレームワーク). MySQL ( RDB). 茶筅. オリジナル Perl コード. Algorithm:: Cluster.

Download Presentation

「ことわけ Web 」 内部仕様書

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 「ことわけWeb」内部仕様書 平成19年5月19日 第3版 東京大学理学部生物化学図書室 前田 朗

  2. コンテンツ • システム構成 • システム構成と、個々について簡単に説明 • 基本データ型 • 各モジュール間でのデータの受け渡しに使う仕様をまとめたもの。 • モジュール化する部分 • URIの設計

  3. 第1章.システム構成 TermExtact ほかPerl モジュール Catalyst(Perlベースの Webフレームワーク) MySQL (RDB) 茶筅 オリジナル Perlコード Algorithm:: Cluster Template Toolkit によるHTML雛形 インターフェイス Cプログラム 連想検索エンジン GETA Lighttpd (with FastCGI) 赤のブロックが要作成のコード 緑もSQLでDBを要構築

  4. Lighttpd • Apacheより軽量(高速)なWebサーバプログラム • FastCGIとの組み合わせで高速レスポンスを目指す

  5. Catalyst • PerlベースのWebフレームワーク • MVCモデル(Model, View, Controller の分割)によるWebアプリケーションが作成可能 • Perl版”Ruby on Rails”ともいわれる • MVCモデルの実装(ModelとViewは選択可能) • Model --- MySQL • Vew ----- TempleteToolkit • Controller -- Perl

  6. MySQL • オープンソースのリレーショナルデータベース • バージョン 5 を使用 • UNIXユーザ mysql で動作させる • MySQLユーザ termcluster • データベースtermcluster • テーブルは3種(詳細は別紙) • プロジェクト・テーブル (Project) • 文書テーブル (Document) • クラスタ・テーブル(Cluster)

  7. TermExtact • 「言選Web」のコアである専門用語自動抽出Perlモジュール • 「茶筅」(形態素解析器)と連携して専門用語抽出を使う • 重要度のオプションに、TF(Term Frequency)を使う

  8. GETA • NIIが開発した、連想検索エンジン。クラスタリング用のC言語ライブラリ(libcs)も付属しており、これを使う。 • 第2版のGETAを使う(第3版はインストールが難しい) • GETAのユーザプログラムは、C言語で自作する必要あり

  9. Algorithm::Cluster • C言語のクラスタリングライブラリ”Cluster 3.0”のPerlインターフェイス • GETAでは実装していない、K-means法やSOM(自己組織化マップ)が作成できる • 単語文書行列をPerlの2次元配列の形で用意する必要がある • GETAと違い、TF*IDFの処理を自分でコーディングする必要あり。

  10. 第2章.基本データ型 • MySQLのデータベーススキーマ • プロジェクトテーブルと文書テーブル • 文書中の用語と頻度(TF)のリスト • クラスタリング結果

  11. クラス図 プロジェクト 文書 プロジェクトID 文書名 テキスト本文 用語リスト プロジェクトID プロジェクト名 パスワード メールアドレス 氏名 所属 クラスタリング結果 パラメータ コメント 1 0..* 用語リストからクラスタリング結果を求める クラスタ 1 0..* プロジェクトID クラスタNo 用語リスト 各プロジェクトのクラスタリング結果を収める [脚注]  クラスは、RDBのテーブルにて表現

  12. Project (プロジェクト)テーブル 「作成日時」でインデックス 作成(ソートに使用)

  13. Document (文書)テーブル 「プロジェクトID」+「文書名」の組を ユニークキーにする

  14. Cluster(クラスタ)テーブル 「プロジェクトID」+「クラスタNo」の組を ユニークキーにする

  15. 文書中の用語と頻度(TF)のリスト(基本データ型 2)文書中の用語と頻度(TF)のリスト(基本データ型 2) • JSON(JavaScript Object Notation)を使い、言語に依存しない形(RFC 4627)でDBに格納する • 用語と頻度のハッシュ(連想配列)をシリアライズ(直列化)

  16. クラスタリング結果(基本データ型 3) • ただの配列データだが、JSONを使い、言語に依存しない形でDBに格納する

  17. 潜在的意味解析 • 当面実装しない • PerlモジュールPDFを用いて、潜在的意味解析に必要な固有値解析(LSA)を行えるとことまでは調査すみ

  18. URIベース設計

More Related