リンク: [ホーム] [自己紹介] [リンク集] [アルバム] [ソフトウェア] [発表文献] [その他]

まさおのChangeLogメモ / 2005-12

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2005-12-29 Thu

2005-12-28 Wed

* URL memo

- yFiles - Java Graph Layout and Visualization Library: delicious68 users
- 完成はがき II Free(Windows95/98/Me/文書作成): delicious users
- 不倒城: 今思い返すと、あれはつまり詐欺師か何かだったのだろうか: delicious17 users
- カブロボ・コンテスト KabuRobo: delicious users
- TeamFound - share your search results: delicious users
- Google Research Publications: delicious120 users
- 地図ソフト - ぜんのホームページ: delicious users
Windows、Linux、Mac OSで動作する、国土地理院が「数値地図(空間データ基盤)の閲覧(試験公開)」
http://sdf.gsi.go.jp/)で公開している「数値地図2500(空間データ基盤)」という地図を表示
- Barnraiser: delicious users
Beacon; the SIMPLE free wiki and tag based publishing system!
- Transolution: delicious42 users
- Punt: homepage: delicious users
Punt is a Open Source multi-language Windows desktop application that allows the user to view the terrain of any world in 3D.

* del.icio.usエラー

派手にソースレベルのメッセージ付でエラーが出たので、残しておく。

System error
error: Can't call method "prepare" on an undefined value at /www/del.icio.us/comp/update line 9.
context:
...
5: </%args>
6: <%init>
7:
8: $dbh = $db->{update};
9:
10: my $upd_get ||= $dbh->prepare(' select UNIX_TIMESTAMP(dt) as dt from resource_update where resource_md5 = md5(?) ');
11: my $upd_set ||= $dbh->prepare(' replace resource_update values(md5(?), now()); ');
12:
13: $resource = lc($resource);
...
code stack: /www/del.icio.us/comp/update:9
/www/del.icio.us/comp/posts/delete:75
/www/del.icio.us/comp/posts/add:130
/www/del.icio.us/site/dhandler:247
/www/del.icio.us/site/autohandler:94
raw error


Can't call method "prepare" on an undefined value at /www/del.icio.us/comp/update line 9.


Trace begun at /usr/share/perl5/HTML/Mason/Exceptions.pm line 131
HTML::Mason::Exceptions::rethrow_exception('Can\'t call method "prepare" on an undefined value at /www/del.icio.us/comp/update line 9.^J') called at /www/del.icio.us/comp/update line 9
HTML::Mason::Commands::__ANON__('dbh', 'DBI::db=HASH(0x1b06140)', 'resource', 'masao', 'set', 1) called at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0xfe07c0)', 'dbh', 'DBI::db=HASH(0x1b06140)', 'resource', 'masao', 'set', 1) called at /usr/share/perl5/HTML/Mason/Request.pm line 1074
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, 'dbh', 'DBI::db=HASH(0x1b06140)', 'resource', 'masao', 'set', 1) called at /www/del.icio.us/comp/posts/delete line 75
HTML::Mason::Commands::__ANON__('dbh', 'DBI::db=HASH(0x1b06140)', 'user', 'HASH(0xfe48f0)', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'remote_ip', '') called at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x1fe5780)', 'dbh', 'DBI::db=HASH(0x1b06140)', 'user', 'HASH(0xfe48f0)', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'remote_ip', '') called at /usr/share/perl5/HTML/Mason/Request.pm line 1074
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, 'dbh', 'DBI::db=HASH(0x1b06140)', 'user', 'HASH(0xfe48f0)', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'remote_ip', '') called at /www/del.icio.us/comp/posts/add line 130
HTML::Mason::Commands::__ANON__('dbh', 'DBI::db=HASH(0x1b06140)', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'user', 'HASH(0xfe48f0)', 'tags', '', 'date', '', 'extended', '', 'fp', 1) called at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0xff84e0)', 'dbh', 'DBI::db=HASH(0x1b06140)', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'user', 'HASH(0xfe48f0)', 'tags', '', 'date', '', 'extended', '', 'fp', 1) called at /usr/share/perl5/HTML/Mason/Request.pm line 1074
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, 'dbh', 'DBI::db=HASH(0x1b06140)', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'user', 'HASH(0xfe48f0)', 'tags', '', 'date', '', 'extended', '', 'fp', 1) called at /www/del.icio.us/site/dhandler line 247
HTML::Mason::Commands::__ANON__('oldurl', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'notes', '', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'tags', '', 'dbh', 'DBI::db=HASH(0x1b06140)', 'auth_user', 'masao', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x1fff600)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x1cf3b70)', 'oldurl', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'notes', '', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'tags', '', 'dbh', 'DBI::db=HASH(0x1b06140)', 'auth_user', 'masao', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x1fff600)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Request.pm line 1074
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, 'oldurl', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'notes', '', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'tags', '', 'dbh', 'DBI::db=HASH(0x1b06140)', 'auth_user', 'masao', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x1fff600)', 'browser', 'ff') called at /usr/share/perl5/HTML/Mason/Request.pm line 760
HTML::Mason::Request::call_next('HTML::Mason::Request::ApacheHandler=HASH(0xffcd50)', 'dbh', 'DBI::db=HASH(0x1b06140)', 'auth_user', 'masao', 'items', 10, 'tagview', 'list', 'tagsort', 'alpha', 'bundleview', 'show', 'cookies', 'HASH(0x1fff600)', 'browser', 'ff') called at /www/del.icio.us/site/autohandler line 94
HTML::Mason::Commands::__ANON__('oldurl', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'notes', '', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'tags', '') called at /usr/share/perl5/HTML/Mason/Component.pm line 134
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x1ad7610)', 'oldurl', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'notes', '', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'tags', '') called at /usr/share/perl5/HTML/Mason/Request.pm line 1069
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 1068
HTML::Mason::Request::comp(undef, undef, undef, 'oldurl', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'notes', '', 'url', 'http://www.barnraiser.org/index.php?page=SoftwareBeacon', 'description', 'Barnraiser', 'tags', '') called at /usr/share/perl5/HTML/Mason/Request.pm line 338
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 338
eval {...} at /usr/share/perl5/HTML/Mason/Request.pm line 297
HTML::Mason::Request::exec('HTML::Mason::Request::ApacheHandler=HASH(0xffcd50)') called at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 134
eval {...} at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 134
HTML::Mason::Request::ApacheHandler::exec('HTML::Mason::Request::ApacheHandler=HASH(0xffcd50)') called at /usr/share/perl5/HTML/Mason/ApacheHandler.pm line 793
HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=HASH(0x1a94a20)', 'Apache=SCALAR(0x1ff7070)') called at (eval 43) line 8
HTML::Mason::ApacheHandler::handler('HTML::Mason::ApacheHandler', 'Apache=SCALAR(0x1ff7070)') called at /etc/delicious/config.pl line 0
eval {...} at /etc/delicious/config.pl line 0

2005-12-27 Tue

2005-12-26 Mon

2005-12-25 Sun

2005-12-22 Thu

2005-12-21 Wed

2005-12-20 Tue

* Overview of WebCLEF 2005

CLEF2005 Web Track Overview論文。

・書誌事項
Borkur Sigurbjornsson, Jaap Kamps, Maarten de Rijke:
Overview of WebCLEF 2005, CLEF2005, Vienna, Austria, 2005-09,
Working Notes for the CLEF 2005
http://www.clef-campaign.org/2005/working_notes/workingnotes2005/sigurbjornsson05.pdf

・概要:
Mixed-Monolingual, Multilingual, Bilingual(En-Es)の3サブタスクを実
施。判定作業に予算が取れないので、Named Page/Homepage Findingタス
クのみ。課題作成は参加チームによる。

重複・翻訳版ページも網羅性はないが、確認できた分だけ、正解として見
る評価も実施。

2005-12-19 Mon

* A Menagerie of Tracks at Maryland

HARD, Enterprise, QA, and
Genomics, Oh MY!:

・書誌事項:
Jimmy Lin, Eileen Abels, Dina Demner-Fushman, Douglas W. Oard,
Philip Wu, Yejun Wu: A Menagerie of Tracks at Maryland: HARD,
Enterprise, QA, and Genomics, Oh MY!, TREC2005, 2005-11,
Gaithersburg, MD, USA, Notebook of TREC2005, pp.?-?.

・概要:
HARD: 図書館情報学専攻の博士課程学生の人手による判定と
clarification formの作成。この結果を元にして、40課題中、大部分で性
能向上。全体で4.0%のMAP向上。NIST判定者のinconsistencyな傾向も判明、
これらのinconsistencyな課題を除くと、32課題で9.0%のMAP向上。
clarification質問文の簡単な分類など分析を加えている。

Enterprise: メールの処理方法、スレッドを使った質問拡張、引用文の影
響、日付・バージョン番号の正規化などを実験。スレッドによる拡張や引
用文の除去は性能に悪い影響を与える。日付・バージョン表現正規化で変
換するだけで十分な性能を得られる。既知事項はそれほどつっこんだ分析
無し。

QA: 自動評価手法PURPREについて実験。LinらのROUGEよりもKendall tau
で良い結果を得る。ただし、マニュアルランの成績が悪くなる…→nugget
評価自体の妥当性に疑問。

Genomics: NLMチームとの共同研究。

・感想:
HARDトラックの発表内容は人手による精密な分析であり非常に貴重な研究
成果なため、TREC2005における最優秀論文に値すると感じた。

* HARD Track Overview in TREC2005 (Notebook)

High Accuracy
Retrieval from Documents:
TREC2005 HARDトラックオーバービュー論文。

・書誌事項:
James Allan: HARD Track Overview in TREC2005 (Notebook): High
Accuracy Retrieval from Documents, TREC2005, 2005-11,
Gaithersburg, MD, USA, Notebook of TREC2005, pp.?-?.

・概要:
HARDトラックの概要。
初回のbaseline run提出と同時に「Clarification Form(明細記述書)」
を提出してもらう。これはHTMLページであり、自由に判定者に好きなこと
を記述してもらえるなどの反応を得られる。この明細結果を元に再度
final runを提出し、最終的な判定、評価を行う。

データはAQUAINTコーパス(1,033,461 docs)。課題は50(Robustと同一)。
判定者は6名。参加は16チーム・122ラン。

clarification formは、ネットワーク接続の無いRedhat Linux上の
Firefoxで、HTML,Java,JavaScriptなどを利用したもので実行。

評価指標はR-precision。

・感想:
"Assessors hate you"が印象的な報告だった(自己組織化マップみたいな
もので、大量の情報を選択させるインタフェースを作って送ってきた参加
者がいて、判定者は非常に苦労したとのこと)。

判定が大変なので、来年は廃止してRobustに吸収合併。

* Exploiting Anchor Text for the Navigational Web Retriaval at NTCIR-5

Navi2論文。TNT(藤井先生)チーム。

・書誌事項:
Atsushi Fujii, Katunobu Itou, Tomoyosi Akiba, Tetsuya Ishikawa:
Exploiting Anchor Text for the Navigational Web Retriaval at
NTCIR-5, NTCIR-5 Workshop Meeting, 2005-12, Tokyo, Japan,
Proceedings of NTCIR-5, pp.455-462.

・概要:
スコア計算は「コンテント」「アンカー」「リンク」ベースの各手法のも
のを混合したものを実験。ただし、最終的にはリンクベースのスコアは良
い結果が得られなかったため、除去。

コンテントはシンプルなBM25(K=2.0, b=0.8)スコアリング。
アンカーは単純に結合したモデル(DM)と、分割してそれぞれを使ったモ
デル(AM)の2つを実験。
また、同義語拡張として、phenotic distanceを使ったtransliterationを
使った。

AM+Syn+Cでは、Rigid MRRで.6以上の高い性能。

・感想:
最も成績が良かったチームなので、使っている手法などロバストな感じで
非常に興味深い。

transliterationは非常に興味深い。URL検索にも使えるかも…。といった
質問も出ていた。

* A Distributed Retrieval System for NTCIR-5 WEB Task

Navi2論文。JSWEB(Justsystem)チーム。

・書誌事項:
Hiroki Tanioka, Kenichi Yamamoto, Takashi Nakagawa: A Distributed
Retrieval System for NTCIR-5 WEB Task, NTCIR-5 Workshop Meeting,
2005-12, Tokyo, Japan, Proceedings of NTCIR-5, pp.472-477.

・概要:
分散処理システムの性能確認。
アンカーテキストは使わず、全文解析とリンク解析のみの混合モデル。

* MuST

A Workshop on Multimodal Summarization for Trend
Information:
NTCIR-5 MuSTオーバービュー相当。

・書誌事項:
Tsuneaki Kato, Mitsunori Matsushita, Noriko Kando: MuST: A
Workshop on Multimodal Summarization for Trend Information,
NTCIR-5 Workshop Meeting, 2005-12, Tokyo, Japan, Proceedings of
NTCIR-5, pp.556-563.

・感想:
パテントマップの生成などとはどういう関係にあるのだろうか??
ちょっと気になった。

* Seeking Better Web Searched

パーソナライズ、位置情報、音楽などの機能をとりいれた新しいタイプの
サーチエンジンのトレンドについて解説。

・書誌事項:
Javed Mostafa: Seeking Better Web Searched, Scientific American,
2005, vol.292, no.2, pp.67-73.

2005-12-18 Sun

2005-12-16 Fri

2005-12-15 Thu

2005-12-14 Wed

* URL memo

- TIMEX2 Home: delicious users
Welcome to the TIMEX2 web site! This site provides NLP researchers with materials to aid in the development of software to recognize and normalize a wide range of date and time expressions.

2005-12-13 Tue

* URL memo

- The CRM114 Discriminator - The Controllable Regex Mutilator: delicious326 users
CRM114 is a system to examine incoming e-mail, system log streams, data files or other data streams, and to sort, filter, or alter the incoming files or data streams according to the user's wildest desires.
- Proceedings of the Fifth NTCIR Workshop Meeting on Evaluation of Information Access Technologies: Information Retrieval, Question Answering and Cross-Lingual Information Access: delicious users

2005-12-12 Mon

* TREC出張報告書

期間: 平成17年11月14日〜平成17年11月20日
出張目的: TREC2005出席、討論参加
用務先: 米国メリーランド州NIST
用務: TREC2005出席、討論参加

出張内容:
TREC 2005(Text REtrieval Conference 2005)に参加したので、それに
ついて報告する。

会議は米国National Institute of Standards and Technologies (NIST)
で2005年11月15日(火)から18日(金)に開催され、全体の参加者はおよ
そ180名程であった。

本報告者はNII内の研究プロジェクトNTCIRワークショップ・WEBタスクの
オーガナイザの一員であり、特に関連する研究者の発表を聴講し、議論を
行ってきたので、その内容について報告する。なお、NTCIRプロジェクト
からは他にNTCIR-5 QAC(Question Answering Challenge)部門オーガナイ
ザの福本先生(立命館大)、桝井先生(三重大)の参加があった。

会議の全体のスケジュールは以下の通りであった:
15日(一日目): チュートリアル
16日(二日目): 全体概要講演, Genomics, 招待講演(DUC,QA@CLEF),
                QA, ポスターセッション
17日(三日目): Robust, HARD, 分科会1, Terabyte, 分科会2
18日(四日目): Enterprise, Spam, 総括

今年度のNTCIR-5 WEBでは、Webサーチエンジンなどで頻繁に見受けられる
既知事項を検索するNavigational Retrievalと呼ばれる動向に焦点を絞っ
ているため、この点に注目し、TRECのEnterprise,Terabyte両タスクの参
加者にこの点への焦点や注目すべき点など、ポスターセッションを含めて
討論を行った。また、TREC Terabyteトラックで利用しているテストコレ
クションデータのさらなる大規模化に際して、日本のWebデータを対象と
して構築したNTCIR-5 WEBの約1.5TBのWEBデータを紹介し、興味深いとの
コメントを得た。

2005年からの新しい試みであるEnterprise,Spam両トラックへの関心も高
く、Enterpriseについては、多くの検索研究のチームが取り組んできてお
り、また、Spamについては機械学習研究にとりくむ研究者や既存のスパム
判定ツールの性能評価ワークショップとして精力的に取り組まれた様子で
あった。

来年度からはHARDトラックを単独トラックとしては廃止してRobustトラッ
クと併合するとのアナウンスがあり、また、新規トラックとしてBlog,
Legalの2トラックを新設するとのことであった:

・Blogトラック: ブログはWeb上での新しいタイプのコミュニケーション
ツールとして注目を浴びている。TREC2006においてはWeb空間上の英語ブ
ログをテキストにして数十GB規模で収集し、Opinion/Attitudeの抽出、
Event Timelineのトラッキング・生成といった2種類のタスクを設定する
との案内があり、オーガナイザと参加者による議論があった。

・Legalトラック: Genomicsと類似の特定のドメインにおける専門的な情
報要求に応えるための手法、技術の評価を目指す目的のもので、法律分野
の専門家の情報要求に応える検索技術の評価を行う。IIT文書データを対
象として、弁護士による課題作成(Boolean)、判定を行う予定である旨、
アナウンスがあった。

また、情報要求評価の観点から興味深い発表として、HARDトラックにおけ
るJimmy Lin博士(University of Maryland)の発表があった。この研究
は、図書館情報学専攻の博士課程学生を一年間雇い、検索システムの判定
にあたらせ、情報要求の精緻化に必要な手法についての研究を行ったとの
報告であった。NISTにおけるTREC判定者の裁定との一貫性が無い部位など、
より実世界での情報探索行動に近い環境における検索システムの改良に対
して示唆に富む内容であった。

私見であるが、全体の傾向として従来型のシンプルな情報検索モデルに加
えて質問応答を始めとする応用アプローチへ研究の焦点が集まりつつある
ように感じた。また、Genomicsトラックは今年から新しく始まったトラッ
クで、生医学分野の情報にドメインを限定し、専門的な情報要求に対応す
る手法・能力について評価を行うトラックであったが、多くのチームが
Medical Subject Headings (MeSH)などのドメイン知識を活用したアプロー
チに取り組むなど、活発な研究がおこなわれ、大きな注目を浴びている様
子が伺えた。

* applefile

なぜか macsave コマンドは "Insufficient memory, aborting" とかいう
メッセージでおなくなりになるので、書いておいた。

とりあえず以下のような簡単なスクリプトで取り出せることが判明。

# cf. rfc1740

content = STDIN.read

# 4, 4, 16, 2 bytes
magic, version, d1,d2,d3,d4, num_entries = content.unpack('NNN4n')

#p [ magic, version, d1,d2,d3,d4, num_entries ]

start = 4+4+16+2
num_entries.times do |i|
   entry_id, offset, length = content[start, 12].unpack("NNN")
   if entry_id == 1
      print content[offset, length]
   end
   start += 12
end

2005-12-11 Sun

2005-12-10 Sat

* 結婚する (edr)

j_word/jwd.dic:JWD0015369       結婚する[ケッコン・スル]        結婚(JLN3,JRN4)	ケッコン        ケッコン        JN1;JVE ""      JRN4	JK01;JK06       JA14;JA20       ""      0e51a0  marriage        結婚する[ケッコン・スル]	"the act of marrying"   夫婦の縁を結ぶこと      ""      474/479	DATE="93/5/15"

2005-12-06 Tue

* Pre-Workshop - Opinion

What is Opinion
- Opinions changes over time

Applications
- word mining
- extraction
- summarization
- tracking
- QA
- Cross-Lingual

Fact vs Opinion
- Differece
- circular vs Happy
- "he is a engineer" vs "He thiks that a"

Previous Work
- English: [Weibe et al. Kim and Hovy, Takamura et al.]
- Japanese:
- Chinese:
- Korean:

Corpus Preparation
- Quantity
- Source: News, Reviews, blogs,...
- Granularity
- different source/languages...

Previous Work (COrpus)
- NRRC Summer workshop on Multi-perspective QA
- World New Connection (WHC)
- NTCIR Corpus (Chinese
ZH021
ZH024
ZH026
ZH-27
ZH028
ZH029
- Review from Web (Japanese)

Corpus Annotation

Previous Work (Annotation1)
- NRRC - 114 doc. annotataed

Previous Work (Annotation2)
- Tags

Previous Work (Annotation3) - NTCIR Chinese
^ 205 doc. annotated
- 3 annotators
- XML-style tag

Corpus Evaluation
- How to choose materials? (Agreements...)
- How to evaluate corpus for a subjective taslk

Previous Work (Corpus Evaluation)
- bigger annotators, lower agreements...

Needed for this work
- what kind of documents
- training
- which Language?

Comments/Questions:
- How to construct output for
- extract/arrange opinions from
- only extracted opinion background for some other information

Opinion Workshop - ChenYewLin:
MT?

Opinion Workshop - Prof.Kando:
History
- IR
- EAAT-AAAI2004, Style Workshop (SIGIR2005)
Information (type/...)
Aspect from different communities
- Smae event from different language (News,Web etc.)
Technique
--function words
- puctuations, symbols
- aspects, modalities, tense (would, could, have been,...)
- semantic categpries of verbs
- very low frequent terms
Resources
- dictionaries
- corpus (annotrated)
- taggers, matchers
- test collections/test sets
Target applications?
Possible document collections
- Yahoo!J/T: 知恵袋、知識家
- (still) Newspaper: opinions (authories'/writers')
Piliot Task
- single task
- Or everybody work on own research on same doc.
- very relaxed way starting of can be possibly for topics
- it would be some kind community

Feedback (comments/questions)
- Human assesment:
        - corpus:
        - contact with give us you can use it in labolatories
        - i try ato my best possibilities to use Taiwan
- Gardens:
        - we can
        - for relevant doc. assessment,
        - pool
        - participants contribute theri

2005-12-05 Mon

* pdf.rb

柱を付けるのを自動化できないか、検討する際に、PDFフォーマットの解
析するルーチンの初歩の部分を書いてみた。。。
結局使わ(え)なかったけど、一応、痕跡を残しておく:

#!/usr/local/bin/ruby

require "zlib"

CR = "(?:\r?\n|\r)"
class PDF
   def initialize
   end
end

cont = ARGF.read
puts cont[/\A.*?#{CR}/]
while cont =~ /^%.*?#{CR}/
   cont.sub!(/^%.*?#{CR}/, "")
end

obj = {}
trailer = nil
startxref = 0

until cont.empty?
   if cont =~ /\A\s+/
      cont.sub!(/\A\s+/, "")
   elsif cont =~ /^(\d+ \d+ obj)(.*?)endobj#{CR}?/m
      obj[$1] = $2
      p $1
      cont.sub!(/^(\d+ \d+ obj)(.*?)endobj#{CR}?/m, "")
   elsif cont =~ /^xref#{CR}0 (\d+)#{CR}/
      cont.sub!(/^xref#{CR}0 (\d+)#{CR}/, "")
      xrefs = $1.to_i
      #p xrefs
      xrefs.times do |i|
         cont.sub!(/^.*#{CR}+/, "")
      end
   elsif cont =~ /^trailer\s*<<(.*?)>>\s*/m
      trailer = $1
      cont.sub!(/^trailer\s*<<(.*?)>>/m, "")
   elsif cont =~ /^startxref#{CR}(\d+)#{CR}/
      startxref = $1
      cont.sub!(/^startxref#{CR}(\d+)#{CR}/, "")
   end
end

p trailer

@info = {}
if trailer =~ /\/Root\s*(\d+ \d+) R/
   @info["/Root"] = obj["#$1 obj"]
end
if @info["/Root"] and @info["/Root"] =~ /\/Pages\s*(\d+ \d+) R/
   @info["/Pages"] = obj["#$1 obj"]
   p @info["/Pages"]
end
if @info["/Pages"] and @info["/Pages"] =~ /\/Kids\s*\[((\d+ \d+ R\s*)+)\]/
   @info["/Kids"] = []
   $1.split(/(\d+ \d+) R\s*/).each do |e|
      next if e.empty?
      @info["/Kids"] << obj["#{e} obj"]
   end
   p @info["/Kids"]
end
if @info["/Kids"]
   @info["/Kids"].each do |page|
      @info["/Contents"] = []
      if page =~ /\/Contents (\d+ \d+) R/
         @info["/Contents"] << obj["#$1 obj"]
      end
   end
   p @info["/Contents"][0]
end

if @info["/Contents"]
   @info["stream"] = []
   @info["/Contents"].each do |cont|
      puts cont
      if cont =~ /stream#{CR}(.*)endstream#{CR}/m
         stream = $1
         #puts stream
         if cont =~ /\/Filter\s*\/FlateDecode/
            stream = Zlib::Inflate.inflate(stream)
         end
         p stream
         @info["stream"] << stream
      end
   end
end

2005-12-04 Sun

2005-12-03 Sat

2005-12-02 Fri

2005-12-01 Thu

サイクリング走行距離メーター
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12