研究関連.研究室での出来事も

2005年05月28日

JTPAのセミナーに行ってきた

セミナー: CJKV 日中韓越情報処理

ryojuに誘われて行ったもののryojuは風邪で欠席.

なぜか準備を怠ってしまった朝,出かけにセミナーのページで場所と時間を確認しただけで,地図もメールのプリントも持たず,法政大学の九段校舎へ向かってしまう……が地図感覚のない自分には当然のことながら見つからない.

都営新宿線市ヶ谷駅から「靖国通り沿いにあるんだよなー」と歩いてるといつの間にか九段下.セミナーの案内とかまるで持ってきてないから「もしかして九段校舎じゃなくて九段会館?鳥肌実……SPANK HAPPY(以前テレビで菊地成孔氏がライブをやりたいと言っていた)……」などとアホな想念が記憶を改ざんし始める.

九段下の交番で場所を聞いても九段校舎は知らないという.そんなこんなで開始時間の11:00になり,半ばあきらめつつ来た道の道路向かいを市ヶ谷方面で戻っていると,「法政大学 九段校舎」の看板(というか石)を発見! わかりにくいよー.

受付で名刺を求められる.忘れてる.ホント準備不足だったなー自分.

入場するとまだ講演者の紹介の段だった.よかった間に合ったっぽい.

席に着き隣を見ると,T先生だった.びっくりした.

講演開始.英語がー英語がー英語がー…….

レジュメの内容以上のことはわかりませんでした…….JISとUnicodeとGB18060の話.他国語サポート自体は直接は報酬に結びつかないけど,マーケットの拡大をする上で絶対必要だから考えるように,というまとめだったような.

質疑応答ではT先生の質問(文字コード判別のいいアルゴリズムやライブラリはあるの?)が一番自分の要望にマッチしていた.PerlではEncode::Guessというライブラリがあるそうだ.中身はある文字コードにしか有り得ないバイト列の有無を判別して最尤のものを選択するというものだろうとのこと.もっとスマートな方法があると思ってたのだが.面倒くさいな.でもそうするより他ないんだろうな…….

セミナー終了後,帰りがけにT先生に部屋の掃除ははやいとこしたほうがいいと進言して別れる.

2005年05月15日

日本発Open Course Ware

東京大学など国内6大学が教材をネットで公開、オープンでフリーな「OCW」

充実に期待(口を開けて待つのみの雛鳥)

2005年04月28日

今日だけトのつく最高学府!

kwskくん(WISS以来,他のイベントや説明会でも何かと再会する縁があってお近づきになった)が教えてくれたGoogle File Systemの開発者Howard Gobioff氏の特別講義を聴きに東大へ.

遅刻してしまった…….すでに人がいっぱいで立ち聞き.

感想.院生なのに英語を聞き取れない&話せないのは由々しき事態なので何とかします.ハイ.

kwskくん,こうや,shsh,俺で昼飯@学食.パワー丼と豚みそ丼がうちより安くてショック.東大二食丼を制覇する.

そのあとはゴニョゴニョ.

お会いしたみなさまお邪魔しました.いい刺激になりました.感謝!

2005年04月21日

らんるーヽ(´ー`)ノ@宿場

れおさんが仕事帰りに来てくれた!
久しぶりにらんらんるーして熱く語り合った!

れおさん,ごちそうさまでした!

2005年04月20日

修士企画発表会

無事終了.

ツッコミは全部答えられることだったのでよかったが,全部答えられるということは実は全部着手しなきゃならない課題であることを承知しているという意思表明なわけで.

泥沼に足を突っ込んで新規性ゼロになりそうで非常に悩む.

2005年04月16日

会合

高美味い肉を御馳走になって,色々な話が伺えて,面白い会合でした.

一番蚊帳の外なんで好き勝手聞いてた気がする.

気分を害していたら本当申し訳ないです.

ムードメーカ=賑やか師=バカっていう松の分析は当たってるなあ…….

2005年04月06日

いろいろある日

10時半
起床.大学で一つ論文を読む.

12時〜
某氏と面談with ryoju(というかryoju with俺).いい感じで進んでたのだが自分たちの凡ミスで締めが悪くなってしまった.反省.

16時.
査読が帰ってきた.条件無し不採録.あちゃー.しかしこれを乗り越えるという分かりやすい指針はできたのでありがたい.てか早期に帰ってきたこと自体ありがたい.コピーして先生に渡す.あんちゃんとしばしミーティング.

19時.
査読結果を踏まえて三者面談(先生,あんちゃん,俺).

そして明日は初面接で本命という典型的な「やってはいけない就職活動」.

まあいいさ.やるだけ.

2005年04月02日

やっと文字化けが直った

現在作ってるシステムをWeb公開するために色々やってたのだが,どうしても入力フォームの文字がSGML式文字参照(数値文字参照)になってしまって,javaプログラム中の処理が正しくできなかった.

jspの入力ページだったのにページディレクティブを横着して書かなかったのが原因だったようだ.<meta>タグと同じ内容をページディレクティブに書いて追加したらちゃんと文字列として扱えるようになった.

ありがとう@IT!

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9838&forum=12

詳しい原因は分からないので気持ち悪いけどー.

こんなので足踏みしてたのかと思うと腹が立つが.自分に.

これでやっと入出力の様子が見られるようになった.中をいじろう.

そして某社のエントリーシートはすっかり書き忘れている.

2005年03月29日

『eラーニング:大学のコンテンツ検索サイトを開設』

http://www.mainichi-msn.co.jp/shakai/edu/news/20050330k0000m040012000c.html

こっちが検索サービスの『NIME-glad』

e-ラーニングを検索できるのがうれしい.色々勉強しなければ.

大学間の格差が個人の意欲とe-ラーニングで埋まっていってほしいと,就活に行くたびにトップ集団との格差を感じる今,切に思う.

2005年03月16日

突然404

Lomboz3.01 + Tomcat5.0.28でサーブレットが見つからないと言われた.
前までは動いてたのに.どの操作がまずかったか.

index.jspは見えるのに自作フォームに値を入れて,自作ボタンを押して「送信」でServletにアクセスすると「ファイルが見つかりません」.

ほとほと疲れた.もうやめたい.

同じ症状になった人いますか.
まるでディレクトリ構成も変えてないのに404.

追記

結局プロジェクトを新しく作り直して,本を読みながらウィザードの設定をして作ってったらそれは動いた.そこにソースをコピーさせてったら復旧が完了した.

……これって何の解決にもなってない!

2005年03月11日

eclipse3.0.1 + Lomboz3.0.1 + Tomcat5.0.26

この2日間ばかり,作業報告も更新しないで何をしてたかというと,就職活動ももちろんですが(といっても学内のOB説明会に出てるくらいだけど),今研究で作っているシステムをブラウザベースで使えるようにTomcatとJSPやサーブレットを作るためのもろもろを導入して動かせるようにしていました.

んで,タイトルの構成(eclipse3.0.1+Lomboz3.0.1+Tomcat5.0.26)に落ち着いたのが一昨日の夜中.それまではTomcat4.1を入れてLomboz3.0.1を入れて,Lomboz3.0.1でTomcat5系が動くのがわかってTomcat5を入れたはいいが,今度は他のデバッグ用プラグインが使えないことがわかってそれを外したり,JSP単体でのデバッグ(試し見)がどうしてもできなかったり……試行錯誤.上の構成のみにする&Tomcat\conf\Catalina\localhostの中にxmlを作るという処置で何とかJSP単体でも見ることができるようになりました(ただしサーブレットを含めたWebアプリケーションをdeployするときにはそのxmlは無効にしないとだめっぽい.多分).そこらへんは聞かれればブックマークを引っぱり出して答えます.

んで,簡単なJSPとサーブレットとJavaの連携を試してたのが昨夜から今にかけて.そこで出た問題への対処法をメモっておきます.

日本語の文字化け

普通に作ってると入力フォームを持つJSPからサーブレットへの引数受け渡しで文字化けが生じます.その対処.

javax.servlet.http.HttpServletRequest request

とすると,受け取るサーブレットがrequest.getParameter()する前に,

request.setCharacterEncoding("入力ページのエンコード")

とする.

eclipseのソースエディタの文字コードはデフォルトでShift-JIS系のMS932(Windows-31J)なので,

入力ページはcharSet,pageEncodingともに"Windows-31J"

として,サーブレットの(doPost()とかの)始めで

request.setCharacterEncoding("Windows-31J")

とすればよい.

しかしShift-JISは何かとイヤだと思うので,編集するJSPのプロパティの「テキスト・ファイル・エンコーディング」を"UTF-8"にして

charSet,pageEncodingともに"UTF-8"

request.setCharacterEncoding("UTF-8")

とするほうがいいような気がする.eclipseのデフォルトのエンコーディングを"UTF-8"にしちゃうと今まで作ったJavaソースが文字化けするのでそれはしませんでした.

そもそも"Windows-31J"でもいいのかもしれないんですけど,せっかくブラウザベースで色んな人が使うかもしれないなのにShift-JISなのはなあ,という無知ゆえの先入観です.@ITとかの記事だとTomcatのxmlを書き換えてデフォルトで"Windows-31J"にする対処が多かったのだけど,それでいいんでしょうか? 誰か教えてください.

deployしたのに内容が更新されない

eclipseからlombozを利用してdeployしたのに,JSPの表示が前と変わらないことがしょっちゅう.これの対処法.

Tomcat\webappsディレクトリの中にある,該当するディレクトリ(プロジェクトfooにおいてbarモジュールを作ったなら"bar"というディレクトリがある)をまるごと削除してからdeployするとちゃんと内容が新しくなる.

その前にTomcatを停止させておくように気をつけること.

もしかしたら危険な対処かもしれない.eclipseで作ってるものに対してeclipse以外のところからファイル操作をすると大体エラーとか保管とかややこしいことになって混乱するので,こんな直接的なファイルの削除なんかやらかしていいのかと思う.けど,deployはworkspaceでひとまずWebアプリケーションのディレクトリを作ってそれをTomcat\webappsの中にコピーしてるだけっぽいので,まあ大丈夫かなと思ってます.

もっとスマートな反映方法を知っている方がいたら教えてください.

これで,JSPの入力フォーム→サーブレット→今まで作ったJavaプログラム→サーブレット→結果表示用JSPで表示,という一連の処理ができるようになったはず.

2005年03月05日

『検索会議2005【技術動向編】』に行ってきた(後編)

『検索会議2005【技術動向編】』

【前編】←●
【中編】←●

さてさて.事前課題の投稿発表も終わって,次は

(2) Yahoo Search!の方の講演

アメリカの本社Yahoo! inc.から検索部門エヴァンジェリストのJeremy Zawodny氏と
エンジニア(?)のYongdong Wang氏の講演.

【Jeremy氏の講演】
サーチのカテゴリは3つに分けられると考える.それは,Public(Web上の情報を対象に),Personal(デスクトップサーチに代表される),Shared(自分のグループの人たちと共有している情報).いずれPersonalからSharingへと移行していくだろう.

Yahoo!がやってる各種検索について.
Image Searchは自然言語で色やサイズを記述することができるようになるだろう(白黒の花の絵,とか).
Video Searchは現在サイズの上限やファイルタイプによる指定が可能.
DesktopSearchはインデクスにサマリを登録しておくことでプレビュー機能を実装,パワーポイントなどのプレビューも見ることが出来る.将来は家のメールで見つからなかったからYahoo!メールに自動的に探しに行くといった処理も可能になるだろう.
mobileは携帯をインタフェースとする検索.
Contextual SearchのY!QはパブリッシャによってWebページにembeddedされた文章やキーワードを検索クエリにすることで,ユーザがクエリを書く必要がないというもの(だったかな?ちょっとあやふや).
Toolbarはいわずもがな.
My Yahoo Searchは「Personal&Shared」の考え方によってユーザがfind,save,annotate,organize,shareしてアーカイブ化できるもの(ここもあいまい).

そして先週発表したYahoo Search Developer Network(YSDN)ではYahoo検索のAPIキットが公開されている.マジか!知らなかった.
リンクはこちら→http://developer.yahoo.net/

Yahooの最新技術動向についてはYahoo! Nextで発表している.ここではベータ版,新製品,ディスカッションスペースがあるのでぜひチェックしてほしいとのこと.
リンクはこちら→http://next.yahoo.com/

全般的にYahooはこんだけやってまっせ,という内容.知らなかったものもあったのでプレスリリースを探してみなきゃ.

続いてYongdong氏.

【Yongdong氏の講演】

「Inside A Search Engine」と題された講演.内容はサーチエンジンを作るのがいかに大変か,というもの.

簡単なサーチエンジンの仕組みを見せることから始まって,「こんなものならすぐできそう?」「何が難しいの?」「学生のプロジェクトで作ることもあるでしょう」と持ちかける.それならなぜYahooは300人以上のエンジニアを使ってサーチエンジンを作る必要があるのか.という前フリ.

では,サーチエンジンは何が難しいのか?

  1. 対象となるスケール,サイズが大きい
  2. クエリとページのマッチングが難しい
  3. 結果のランキング方法が難しい
  4. Spam対策が難しい(friends of industry(同業者?)が作ってくれるSpamと言ってた)

スケール,サイズについて考えるためには次のことを考えなければならない.
Webページは誰がPublishできるのか?=誰でも,こんにちのWebpageの数=100億〜1000億,その成長速度=1,2年ごとに2倍,Webのユーザ数=Yahooのregistered userだけでも3.5億,Searchを利用するユーザ=ほとんど.
10Billion documentsと仮定すると……,20byte/docとして容量は200TB(1回だけstoreするとしても),1日1回クロールするためには1dayが86400secondだから,帯域が20GB/second必要.サーバは1台あたり1MBのdocumentを蓄積するとして10000台.検索のレスポンスは100ms以下でなければならない…….

クエリとのマッチングではEncoding,languageの2つが問題になる.languageはアクサン,テギュの問題,日本語や中国語のように空白を含まない言葉の問題,ドイツのように空白を含まないことで新語,造語(Compound)を表す地域の問題が挙げられる.

ランキングは何を基準としてランキングするか.Text(本文,タイトル,メタデータ,URL word,アンカー),Proximity(単語の近接度)はphraseを考えるとき重要だし,Linksの数,Language,言語が一緒でもRegion(地域)はUS,Canada……と違う場合がある.

Spam対策.Keyword Spam,Invisible Text,Link Spam……これらをどう排除していくか.

世界中のインターネットユーザの手助けに楽しみを見出せるか,ランキングの科学,日本人のためのbest search engine.以上の3つに常に意識を持つ方はぜひYahoo!にお越しください.という言葉で締め.

技術動向らしい内容だった.研究のために勉強していたこととそう大差はないかな.ただ具体的な数値を見ることで規模の大きさが分かる.それじゃあどうやって世界のサーチエンジンはその規模を相手にサービスしてるんだ?ってところは自分で調べろ(もしくは中に入って知りなさい)ってところだろうな.

以上で講演セッション終了.いよいよ会議.

(3) 会議

ここでも課題が出され,自分で15分考えてからグループになって20分ミーティング,まとめた答えを出すという会議形式.グループ賞と個人賞には賞品が.

んで課題.


Yahoo!の膨大なインデックス情報と(   )を組み合わせて,
他の人と一緒に(   )が実現できるサービス.
名づけて(   ).

下にビジネスモデルを図示してください.

うえー,ビジネスモデルぅ? 他の人と実現すること…….自分だけが満足しちゃダメってことだよな…….他の人が一緒に実現をしたがるような,双方Win-Winの関係になれるようなことがら…….

最初の10分くらいで思いついたのがこれ.

Yahoo!の膨大なインデックス情報と(自分(ユーザ)の経歴,生活の履歴)を組み合わせて,
他の人と一緒に(自分がなりたい目標に近づくにはどうすればいいか(他のユーザにとっては自分が目標になる場合もある))が実現できるサービス.
名づけて(教えて先輩).

んー,まあSNSとかクラスタリングを使えば何とかなりそうだな.しかし広い,漠然…….

終了間際にふと「Yahoo!の膨大なインデックス情報」が目に付く.あー,これだと新しくインデックス作らないとあかんやん.ダメダメ.全消し.

そして終了10秒前.あーだめだ何も思いつかん.とりあえず(経歴)(就職先の決定)(就活)と書いて時間切れ.こりゃダメだわー.

そして会議突入.席順で決まった6人のグループ.うち1人はsibusさん.各自の内容を軽くプレゼン.

「検索キーワードが誰かと一致したらカップル成立→結婚の出会いサービス」「過去の記憶や感覚を思い起こす記憶検索」「専用機材を搭載したデジカメを使うことで写真を撮るだけでデータベースに蓄積,共有」「自分の」「旅行の体験記や写真を共有(sibusさん)」「お笑いのネタを共有.ブラッシュアップしていってゆくゆくはコンビ結成」とさまざまなアイデア.よく思いつくなあ.

会議の末「検索キーワードで出会い」を膨らましていって「サービスに登録しておいて,検索キーワードや登録キーワードで一致したらその人とチャット可能,ゆくゆくはソーシャルなつながりに発展していく」というサービスに落ち着く.

名づけて「本屋で同じ本に伸ばした手が触れ合って『あっ……』検索」略して「本屋で『あっ……』」.こんなもってまわった戯画的なネーミングセンスは俺です.すみません.

んで提出.結果発表.

グループ賞ノミネートは「ボケをクエリとして投げるとYahoo!が突っ込んでくれる『Yahoo! なんでやねん』」と「同じ病気に悩む人でSNSを構築し,仲間同士や病院からアドバイスをもらえる『医療系SNS』」.あーなかった.残念.決選投票(顔をふせて手を挙げる,いわゆる給食費スタイル)により『Yahoo! なんでやねん』が選ばれた.お笑いをテーマにするというアイデアはあったけれど,ツッコミをサーチエンジンに任せるという発想は違った.人工無能? Googleの検索候補修正の「もしかして……xxx」は結構これに近い気がする.Googleはボケ倒しだけど(腐女子とか).

個人賞は「議論の肯定・否定などのスタンスを可視化してくれる『Yahoo! Discussion』」.ネットでは有名な方が選ばれたようで,後ろの方でもどよめきとツッコミ.

賞はもらえなくて残念だったが,自分が参加したグループのアイデアも十分面白かったと思う.「検索キーワードによる」他人とのソーシャルネットワーク構築は従来のSNSであるようなコミュニティの検索や自分の趣味の表明などの事前の手間を省力化する点でけっこういいと思う.いつかソーシャルネットワークをシステムが自動で構築していってくれるというサービスが,知らない人のブログにコメントが書けない,メールが送れないという引っ込み思案なユーザ(例えば自分)にとっての架け橋になってくれないだろうか,と期待する.

以上で検索会議は終了.おつかれさまでした.

会議後の休憩時や終了後に近くにいた方々と名刺交換をする.あ!○○の研究をなさっていた方でしたか!,うお!○○研究所の方!第一志望です!,おお!morimotoさんのライバル○○研究室の方々! いや,そうそうたる面子だったんですね.うあー,よろしくお願いします.

Yahoo!スタッフの方々との名刺交換の列に入って最後はYahoo! Japan検索企画室室長の井上俊一氏とお話.Yahoo! Japanの日本語処理技術部の存在について教えてもらう.本社にもJapanese Research Groupという日本人の研究者グループがあるが,Japanの方でも形態素解析をやっている企業を取り込んで日本語処理技術に力を入れているとのこと.これは視野に入れねば.

と,今度こそ自分の中で検索会議は終了.

講演は知ってる内容の確認という印象が強かったけど,色々な人のアイデアを垣間見ることができて会議自体は非常に面白かった.名刺交換した方々とは次会うときには何か手土産となるようなものを作って持っていけるようにしたい.

最後は喫煙スペースからの景色でおしまい.

『検索会議2005【技術動向編】』に行ってきた(中編)

『検索会議2005【技術動向編】』

【前編】←●→【後編】


いよいよ検索会議2005開始.俺にとって初無敵会議なので何をやるやらドキドキ.

当日のプログラムは

  1. 事前課題の結果発表
  2. Yahoo Search!の方の講演
  3. 会議

(1) 事前課題の結果発表

応募された事前課題への回答をカテゴリ分けして紹介.事前課題はこちら.


今から5年後の2010年。究極の検索!と呼ばれるサービスがリリースされました。さて、その検索サービスのどういったところが究極だったでしょうか。その検索サービスの名称とそれが究極である理由を教えてください。

Q1. その検索サービスの名称は?

Q2. それが究極である理由は?

【多かったもの】.多くの回答がこれらに該当するものだった.


  • 何もしない検索:
    日々の履歴をもとにして,アクセスした瞬間にクエリを投げなくても「今日はこれを検索するだろう」というものを提示してくれるというもの.いわゆる推薦系.

  • デスクトップサーチ:
    自分のデスクトップ,ひいては現実世界の物体を検索対象とするもの.ここでたてきの応募した文章がそのまま引用されてビビる.「あのフィギュアどこにやったかなあ」というヲタっぽい文章が目を惹いた模様.別にたてきがフィギュア萌え族(仮)ってわけではなく,研究室の周りをサンプルにしたわけなんだが,まあいいか.

  • 海馬検索:
    検索は現実世界を飛び越えてとうとう脳内に.記憶をたどって昔の自分を検索するというもの.美崎さんの『記憶する住宅』で現実のものとなるかどうか.

【新しい情報で検索】.キーワードに代わるクエリという発想にカテゴライズされるもの.


  • 1ショット検索:
    カメラが入力インタフェースとなって,パチリと撮ればそれが検索クエリになる.これは何だろう?といったWhat検索にも応用される.類似画像だけじゃつまらないよなあ.

  • 位置リスク:
    GPSなどで位置情報をクエリにして投げると,犯罪や交通事故の発生率などその場所がどれくらいリスキーかを返してくれる.これを見ようとすることで交通事故を誘発しないか? などという言葉が聞かれた.住んでるところがいきなり危険度4とか言われたらイヤだなあ.

  • 潜在意識:
    キーワードの入力なんかめんどくさい.視線の動きや脳波を検知して検索をやってくれる.時期が進むにつれてユーザの閲覧履歴,視線の動き,脳波とステップアップしていくさまが書かれていた.

【新しいアウトプット】.さっきは入力,今度は出力の話.


  • 究極の検索(東西新聞社):
    俺のだ.びっくり.以下送った内容のコピー(実際はログを取ってなかったので参加者のみが閲覧できる資料より抜粋)


    【究極の検索】

    (1)料理お試し検索

    美味しい物が食べたくなったとき、料理名で検索すると人気レストランの一覧と専用端末から味と臭いがちょっとだけ試せる。食べたくなったら店に行く。

    (2)美味しさ表現検索

    料理の美味しさをあらわす表現(「もっちりしていながらも味はしっかり」や「シャッキリポン」など)をクエリにして検索すると、その表現にマッチした料理(もしくはレストラン)が検索できる。食べたくなったら店に行く。
    なお、競合サービスとして「至高の検索」があり、両者しのぎを削っている。

    まあ多分にネタなんですが.でも鈴木みそ『あんたっちゃぶる』の1巻(1995年)の中に未来のゲームとして味と匂いを当てるアーケードゲームってネタがあったからなあ(ストローは完全殺菌されるのだが,精神的に人が口つけたものを再利用するのはどうも……というのがこのゲームが流行らなかった最大の原因という設定だった).匂いをテレビから発射する技術ってのも一応はできているというのもうちの先生が講義(マルチメディアコンピューティング特論)で話してたし.


  • 萌えっこ検索:
    sibusさんのネタ.……会場では完全スルー.ヲタは流されてこそ華.流されるという対処ですでにコンセンサスを得られていることをむしろ誇りに思うべき.

  • 100日間:
    100日間ネットを利用していれば101日目からは自動的に検索してくれるという履歴をもとにした推薦系.

  • 1位検索:
    自分のサイトが何というキーワードで1位にヒットするのかを教えてくれる検索.形態素解析&キーワード抽出&検索をひたすらやっていけば見つかりそうだが,アイデアは面白いと思った.確かに気になるもんね.

  • 価値観:
    自分に近い価値観の人を見つけてくれる検索.司会の橋本さんが言った「ブログが将来個人の履歴書になるのでは?」という発言に個人的に注目.

【(勝手に)設定追加】.「究極の検索」だけ言ってるのに勝手に設定を追加してくれたもの.

  • タイムマシン検索:
    将来,「質量がごく小さいものであれば時間転送が可能に」という設定でもって,過去にクエリを投げるというもの.「昔の自分に投げるのであればその回答は誰よりもやさしいものになるだろう」という言葉で締めくくられていた.深夜の馬鹿力の『夏のタイムマシン』みたいになるんかな.

以上で事前課題については終了.色んなアイデアがあることに加え,それらがこのような形でカテゴライズされることが興味深かった.確かに自分のものは考えてみればアウトプットの変形だわ.何が検索を構成する要素なのかを考えて整理することが大事なのかな.

まーた長くなったのでここでいったん切りまーす.次はYahoo Searchのお二人の講演と会議.

『検索会議2005【技術動向編】』に行ってきた(前編)

『検索会議2005【技術動向編】』

●→【中編】
●→【後編】


直前にたてきから「集合して行くんですか?」というメールが来る.研究室にいたので一緒に一路六本木ヒルズへ.

調布→新宿→(大江戸線)→六本木.てくてく.

六本木ヒルズ!

ビルディング!(建設中)

エントランス!(工事現場の)

エグゼクティブ!(お疲れ様です)

フューチャー!(監視カメラ&スピーカ)

カラフル!(パイロンとバリケード)

ソリューション!(資材置き場)

普通の六本木ヒルズはたてきのブログたてきのfrickr!を見てください.常に足元からの目線を大事にしていきたい『今日の渋沢』,『今日の渋沢』でございます.

それだけだと何なのでちょっとよかった入り口の表示を.

上のプロジェクタで向かいの壁を映す

んで,双方の壁にこんな標識ができる

金の使い方が違う.こっちのほうが低予算なのか? むむむ.

と,写真載せてたら結構な長さになったと思うので,前編「六本木ヒルズ初上陸編」はここまで.次は検索会議の内容について書きます.

2005年03月04日

来年度の学会会員費

NくんとIくんが学会費の請求が来て云々という話をしていた.うちは学長の計らいで学会費が一部免除(正確には立て替え)されるのだが,なのになぜ請求書が来たんだろう,と.

んで先輩(俺)はどうなのか? ということを聞かれた.
何のことやらさっぱりピンと来なかったのだが,引き出しをあさってみると同様の請求書が見つかった.どうやら来年度の会員費の請求書のようだ.情報処理学会と自然言語処理研究会.振込み期限は今月の31日.

あー.

つまり免除されるのは初年度だけってことか.メールを確認してみたがやはりそのようだった.

てことは来年度からは自腹かあ.んー.

ちなみにNくんより1ヶ月遅く入会手続きしたIくんには請求が来なかった.どうやら来年度の入会になって,支払うのは再来年かららしい.いいなあ.……ていうかなんでそれで全国大会発表できるのさ>Iくん.

追記

今年度分も申請すれば何とかなる,との連絡が多方面から届きました.
yoshikiさん,showyouさんありがとうございます!

2005年02月22日

『検索会議2005 技術動向編』への申込をしました.

検索会議お申し込み開始!

前回の『検索会議』はモタモタしているうちに受付が締め切られていたので今回はリベンジ.
よろしくお願いします.

先輩であるところのryojuから色々教えてもらおう.

2005年02月16日

研究室内定

今年は情報工学科の卒研配属内定日が今日(2/16)だった.

うちは16日になった瞬間の午前零時に内定者にメールを出すとかなんとか(先生が)言ってましたが……どうですか?>3年生の皆様

といった具合に研究室の学生は何もタッチしていない状態でございます.

今年はグループ面談も卒研発表,修論〆切と時期が重なってたので主催できなかったしなあ……(去年までは研究室の学生が質問を考えて,面談の進行役を務めていた.先生は参加者の一人として同じ質問に答えながら参加者に目を光らすという役割だった).

さあ,内定メールが来た方も来なかった人も記念コメントカモン!(しないって

2005年02月04日

卒研発表

学部生(B4)の卒研発表を見る.

その前に前日の様子から.
前日の段階で,数えて2日ほど風呂に入れてなかったのだが,結局前日の夜まで研究室でだらだらしてしまう.あの時何やってたんだっけ? 気づけば午前3時.このまま帰宅して風呂入って寝てしまっては絶対寝過ごしてしまうと考え(卒研発表は午前9時開始),風呂に入ってからすぐに研究室に戻って朝を迎えることを選ぶ.

選んだら選んだでさっさとやればいいものをうだうだしてたので帰宅は午前4時ごろに.そして家でもなーんか知らんがだらだら.病気か.結局5時くらいに風呂に入って,研究室に戻ってきたのが午前6時.もう3時間も無い.ともあれ椅子を並べて寝る.今年の学部生は全員家に帰って英気を養っているところが偉い.俺なんか発表の前日は必ず研究室泊だってのに.って今回は俺が発表するわけでもないのになぜ.

ともあれ起床.午前9時.起こせよお前ら.ウソですごめんなさい準備の手伝いもできないダメ院生です.

前半は別研究室の発表なので聞き流す.やはり他の発表を聞くことでうちの研究室のハードルの高さそしてそのハードルを乗り越えた先を感じるといったら失礼か.いやしかし.

うちの研究室の発表が始まる.滞りなく終わってよかった.惜しむらくはほとんどが30秒くらい時間をオーバしていたことかな.時間オーバは何よりも劣るという風に先生から教わった身としては.まあ今年の指導がちょっと違うだけかなとも.

前半いなかった3年生以下の聴講生がうちの研究室のパートになってから激増してるのには驚いた.前半の研究室は来年はもうないので聞いたところで詮無いといったところなのだろうか.それでも自分の意中ではないところの研究発表を聞いとくのも比較材料としていいものだと俺は思うよ>3年生.

正午,発表会終わり.解散時にK先生と3年生と少し話す.卒研生がうまく答えられてないなと思った質問があったのでそのフォロー.

終わったー.ということで昼飯を食べにいく.先生もちょうどタイミングがあったので参加.『竹矢』でとんかつBIG Lを食べる.満腹.

午後2時半.さて研究室に戻って自分のことを,とここで猛烈な眠気が襲い昼寝.起きたら卒研生は一人もいなくなっていた.午後5時半.3時間も寝ましたか.

ともあれみんなおつかれさまでした!

2005年02月01日

急げや急げ

マイクロソフト、ついに独自サーチエンジンを始動 - CNET Japan

ウェブユーザーの心をつかむためにMSNが打ち出す戦略の1つに、ユーザーの質問に対して「答え」を提供するというものがある。他社のように無数のリンクを並べるものではないと、Payneは述べる。YahooやAsk Jeeves、Google、そしてAnswers.comなどの検索エンジンは、検索リクエストに対する答えとして、天気や娯楽関連情報、荷物の所在などの情報を表示する。それに対してMSNは百科事典ソフトのEncartaを利用して、より的確な回答を提供するという。

ひぃ(;´Д`)y-~~早くしなきゃ.

2005年01月24日

情報処理学会の論文投稿手続きが煩雑な件について

論文の投稿を終えた.

しかし,印刷やコピーが多くてめんどくさい.情処の投稿に必要なものは以下の通り.


(1)原稿を投稿する際は、次の(A)〜(D)を必要とする。不足がある場合は受け付けない。また、別途(E)を電子メールにてeditt@ipsj.or.jpまで送信する。

(A) 紙出力の原稿(オリジナル)一式(i.〜x.)
(B) キーワード・チェックリスト2部:情報処理学会所定のもの
(C) (A)のコピー1部(i.〜x.)
(D) (A)のコピー2部(ただし査読用として、ii. 著者名・所属およびvi. 謝辞を除いたもの)。(LaTeXのときはi.,ii.,iii.-iv.,v.-vii.-viii.-ix.-x.,vi.がそれぞれ別々に出力される)

(E) 標題、著者名、所属、著者連絡先、和文アブストラクト(英語論文の場合は英文アブストラクト)、(A)〜(D)の発送日
 以上をプレーンテキストにて学会事務局editt@ipsj.or.jpまで電子メールで送信する。電子メールのサブジェクトは次のようにする.
  新投稿-著者名
 (例)新投稿-情報太郎

(A)〜(D)までは印刷&コピー.めんどい.原稿がA4片面18枚くらいだったから(A),(C),(D)あわせて約70枚.さらに(B)のチェックリストA4片面8枚×2部を加えて,封筒に入れて情処の論文担当まで送らないといけない.まあ,郵送は学科の事務方がやってくれるのでフロアのポストに入れておくだけでいいのだが問題は(B)のチェックリストだ.

http://www.ipsj.or.jp/08editt/journal/shippitsu/keyword.html

上のリンクはチェックリストのHTML版(郵送用にpdf版もある)なのだが,そこの一番下にある「論文誌投稿者用原稿チェックリスト」がわけわかめ.

「はい・いいえ」で答えるチェック項目なのに,「いいえ」じゃ不味いんじゃないのかと思うような項目内容.「和文標題は内容を適切に表現しているか」で「いいえ」じゃダメだろ.投稿時の確認としてはいいんだが,それじゃ「はい・いいえ」じゃなくてチェックボックスの方がいいよなあ.

枚数内訳(標題記入欄の右側).図○枚,表○枚ってことは図表の個数じゃないんだよね? 悩む.

「総合評価」(5段階評価)って投稿者にやらせてどうする.査読者が判断することじゃないの? 迂闊に低い評価にして読まれずに捨てられるのは嫌だったので{5,5,4}と記入したら尾内先生に「謙遜して控えめにしとかないと心象悪くするかもよ」と云われたので{4,4,4}に直した.こんなところで人間性とか国民性を測られるのは気持ち悪いなあ.

んで,論文の性格(アブストラクトの概要)ってなんですか!? アブストラクトの概要ってさらに要約するの? 何書けばいいのか分からん.ググってみるとそれらしいところが見つかったのでそこの書き方にしたがってみたものの(ググった結果).

何がこんなに悩ませるかって,記入例がまるでないのが問題だと思う.説明しないならしないなりに例示だけでもしてくれれば,いやむしろ,説明をどんなに割いても例示してくれなければ伝わらないと思うんだが.

こういう書式について,論文投稿の常連の方々は内部からリークがあるから悩まないんだろうな.ここで差をつけている気もする.内輪意識というか.

と,ちょっと卑屈になるような論文投稿でした.疲れた.

2005年01月22日

情処の投稿論文をコピーした

木曜には尾内先生からOKをもらい,出せる状態だったのにずるずるしてしまった.

コピーはした.あとはキーワード・チェックリストに記入して,封筒にまとめて,メールを送れば投稿できる.

でも先生が来る月曜までお預け.

2005年01月20日

みんなの卒業活動日記

卒論、修論の時期だ。みんながんばって書いている。

昔自分の卒論の時に書いた日記を貼っておくので気分転換にでもしてほしい。

卒論(2004.1.25)

卒論完了.(2004.1.30)


あと井原のも。000350.html〜000370.htmlまで。日付にして2004年2月19日〜2月2日。2月?
あの頃は自分の卒論書きながらこれ読んで他人事ながらハラハラしていた記憶がある。

ヤバイ。おれの卒論ヤバイ。(2004.1.19)卒論@残り-71時間(2004.2.2)

2005年01月19日

ブログ推薦システムMineBlogの公開実験を行っています

現在,当研究室のmorimoto先輩がブログ推薦システム『MineBlog(マインブログ)』の公開実験を行っています.

MineBlogの特徴は,

  1. ユーザ自身が書いたブログの記事を使って,
  2. ユーザの新たな興味をうながすような
  3. Web上のブログ記事を推薦する

という3点です.

ブログ検索といえばふつうはキーワードを使ってある話題に触れているブログ記事を探す(キーワード『ハウルの動く城』で,『ハウル〜』について述べてるブログ記事を探すといった具合)といったもので,またブログ推薦といえばふつうは自分が書いた記事と同じ話題について触れているブログ記事を推薦する(『いま、会いにいきます』を観た感想を自分のブログに書いて,同じように『いま、会いにいきます』について書いているブログが推薦されるといった具合)といったものですが,

MineBlogは「自分が書いた内容と異なった視点や話題」を推薦することでユーザの新たな興味をうながすシステムであるという点で大きく異なります.

いったいどんな記事を推薦するんだ? と疑問を持った方はぜひ実験にご協力ください.MineBlogが試せます.

んで,実験内容ですが,

  1. MineBlogにアクセス(メール登録したあとにアカウントが届きます)
  2. MineBlog上でBlogを作成(自分のBlogを使う人はコピペで.なお日付は元記事の投稿時にあわせてください)
  3. MineBlogが推薦する結果10件を読んでアンケートに答える(推薦記事とアンケートは投稿記事の下に出ます)

です.1つの記事につき推薦が10件出ます.

時間とブログに余裕のある方は10記事(推薦合計100件)についてアンケートしていただけると完璧なのですが,たぶん無理です.1記事でもかまわないのでアンケートください(ただし推薦10件は全部読んでアンケートに答えないとアンケートが送れません).

そしてアンケートの締め切りなのですが,

2005年1月22日の正午

です.アホですね.無茶ですね.

それでもいい.試してみたい! という方はぜひMineBlogのホームページ(http://www.seman.cs.uec.ac.jp/MineBlog/)にアクセスしてください.よろしくお願いします.

2004年11月30日

これでいく(発表練習ラスト)

朝10:30にWISS最終リハ.
尾内先生審査も通った.何とかなるかな.
ギリギリだったから通してくれた,というのもあるんだろうけど.

午後は,発表準備に気を取られて何もできていなかった出発のための手続き.
銀行で参加費などの立て替えのために貯金を下ろす.京王観光で新幹線のチケット購入.家に帰って洗濯物を取り込み着替えの準備.持って行く発表用のノートパソコンにデータを移動.もしもに備えて電源タップやLANケーブルなども準備.

終わりは結局午前1時くらいになった.明日は8:00調布発だというのに.

2004年11月29日

自暴自棄と活路(WISS発表練習2回目,3回目)

尾内先生を加えての発表練習.

前日に出されたダメ出しやいはらに教えてもらったここ(プレゼン道入門)を参考にしながら色々削ってはみた.

しかし削った分,どういう流れで説明するかがまったく分からなくなり,前回以上にグダグダ.やりながら「あーダメだな」「くそ,違うな」と口に出すほど自暴自棄になる.

尾内先生からは「WISS始まっても3日目だから作れるし練習できるから大丈夫.あとはあんちゃんと話して作りなさい」という言葉をもらう.
あまりダメだったから優しくしないとこいつはヤバいと思ったのだと今になって思う.
今になってあの言葉とそういう結果を作り出した自分を思うと,あの自暴自棄は無意識的な自己防衛だったのかと思い吐き気がする.弱い上に迷惑だ.

あんちゃんと話して,システムの流れを入れてシステムの全体像を早めに説明する反面,アルゴリズムの話はもっとあっさりさせる,再現率について言葉で説明してるところを図で表してみる,などの変更を施す.流れ図を作り,構成を少し変えた結果,だいぶやりやすくなり,時間も15分に収まった.あとは微調整.

しかし,終わってみると,なぜあんなに酷い悩み方をしていたのだろうと思い出せなくなる.こうやっていつも先にいかされずに繰り返すのだ.いかんなあ.

2004年11月25日

要シェイプアップ(WISS発表練習1回目)

WISS2004の発表練習(1回目).結局まとまらなかったので中途半端なまま見せてツッコミをもらいながら体裁を整える.

ゼミの夏合宿で発表した資料を減量したのだが,もともとがppt19枚20分オーバという代物だったので案の定時間大幅オーバ.

色々削れといわれる.
詰め込みすぎで見る気が萎える.口で言えることは載せなくていい(あんちゃんの研究室では1ページ6行以内だったらしい).見る人が欲してる情報はそれではないのでそこに時間は割かなくていい.などなど.

直していく指針が見えたので助かった.

WISS関連の記事はだいたいどこも「笑いが起こる」とか「楽しい」とかそんなことが書いてあって不安を煽る.だったら俺の発表は何なのだ.エフェクトもインタラクションも唸るような視点もない.あんちゃんは「発表自体は真面目にやってるから,そんなことで心配しなくてもいい」とは言ってるが.

予想としては無反応(さっさと終われ)か「弱え〜」なんだが,レスポンスがあるだけ後者のほうがありがたいと思う.打ちひしがれたところで死にはしないし(自分からそうしなければ).

とにかく形を整えるべき.話はそれから.なんだが…….

2004年11月23日

WISS発表資料作り

滞る.何をどうやっていいのかわからん.

何から伝えればいいのか わからないまま時は流れて

自作のノートより抜粋.オリジナル.

2004年10月21日

ゼミ:後学期1回目

朝9:00に起きて,10:30からゼミ.昼飯を挟んで14:20まで.
そこから14:40の4限・記号処理特論へ.
そして18:00からはバイト.

後学期初のゼミ.自分が院生であることを思い出した.
シングルタスクはいかんな.マルチタスクでまんべんなく.

2004年10月08日

近況

WISSの予稿集に載せるための最終稿を作っていました.講評の直し.
で,先ほど投稿いたしました.

これから来週の日曜までxyz=3大阪の準備に専念いたします.

なお,10/3のxyz=3東京にご参加くださった皆様,スタッフの皆様,本当にありがとうございました.いずれ書ければいいんですけど.

WISS最終稿投稿完了

なんだかんだで疲れた.
色々eps化したり,関連研究の紹介,比較の仕方がわかんなかったり,参考文献の書式(論文に示すときの定型)がわかんなかったり紙媒体が最後まで見つからなかったり.

これから1週間はxyz=3大阪に向けて全力投球.

2004年10月07日

論文サーベイ(WISS最終稿作成中)

バイト中に少し光明が見えた.
手直しして今.削らないと枚数オーバだけど.

shunshunの発表を見て,色々言う.
言う中で自分のシステムの数々の未熟さを発見する.
これは先が長いな.でも少しわくわくするのは事実だ.

2004年09月24日

テスト

研究室のサーバの調子がおかしいとのI原の報告があったので,こっちでもテスト.

追記

(2004/9/29記す)
なんてやってましたが,直後にHDDがイカれました.
ただいま復旧ができたということで再度テストしております.

これのリビルドがうまくいけば,一応Blog復活と.

2004年09月22日

情報処理学会の入会意義

情報処理学会(以下,情処)の入会費が4,800円(学生会員).

でも論文誌(ジャーナル)の購読費が別途必要で,6,930円.
インターネットのバックナンバーも購読者でないと閲覧できない(下図参照).

JAROに聞いたらどうですか

で,情処の各分野の研究会の入会費は,情処会員である場合はこちら
非会員である場合は準登録となる.入会金はこちら
非会員の方が1000円高い.

さて,情処に入る意義があるんだろうか.
研究会の準登録だけでいいんじゃないかという気がふつふつ.

情処の全国大会は学会員じゃないと高くなる.講演するなら学生会員は6,000円,学生非会員は15,000円.聴くだけなら学生会員は無料,学生非会員は6,000円.
でも,入らないなら全国大会に出る必要もないわけだし,情処に入ったからにはジャーナル投稿が半ば義務付けられるし(大学院の方針として).

研究会だけ入っとけば読みたい研究報告は読めて,全国大会も強制されないから,いいんでないか.

しかし,これだけのお金をどう流用するんだろうなあ.

2004年09月15日

『テーマ潰れてしもたがな』

興味深かった.

http://atom11.phys.ocha.ac.jp/front/theme.html

こういうケースもあるというリアリズム.

2004年09月04日

9/4朝〜9/5夕方まで

研究室のゼミ合宿に行ってきます.箱根.

連絡は携帯にお願いします.

現在,10分の発表用の資料が出来上がったわけなんですが(まさか今日(9/3)にメールで指示が出るとは思わなかった),スライドが18枚に達してしまったわけで.どうしようか.

キッチュリターンなみのマシンガントークスピードでならできるけども.だめだろ.

2004年09月01日

出したよ

WISS2004

8/31 22:30をもって.

M先輩も,いま投稿完了.

2004年08月05日

クローラ勉強会をすっぽかす

寝過ごすとかではなく完全に忘れていた.だって起きたのは午前.

研究室に向かいながらうっすら見えてくる壁に貼られたホワイトボード,出席状況の確認.
なぜか人がやたらいる.ドアノブに手をかけた瞬間すべてに気づくが,体は止まらずに勝手にドアを開けて中に入っていく.崩れ落ちる.なんてこった.

申し訳ありませんでした.

2004年08月02日

今日はISの試験日

大学院・IS(情報システム学研究科)の試験.尾内研の学部生が何人か受けている.

うちの研究室はEC(電気通信学研究科)に属し,本命はもちろん尾内研=ECであるわけでISはあくまで前哨戦なのだが,何にしてもがんばれ.

2004年07月09日

アルゴリズム打ち合わせ

今日のまとめ

  • 関係の書籍をリストアップして,購入.今回の〆切には間に合わないがやっておく.
  • アルゴリズムはまずはこれで完成とする.
  • 再来週までにシステムの実装を完了させること

よし,進んだ,固まった.次のプロセスは完全に俺にかかっている.怠けは許さんぞ.

2004年07月04日

Y口先輩来訪.

午前中をだらだらと過ごしてしまい,ちょっと研究を進めておこうと大学へ.

研究室には院試の勉強中のY口が.さっきOBの方のY口さんが来ていたという.「○○したいのにみんな来ない」と愚痴ってたらしい.Y先輩は小西本店・日独写真機商店に就職した今も,一つ論文を抱えて週末には大学に来ている.熱心な人だ.

で,Y口先輩の指令で尾内研メンバを招集.夜8時半〜10時半まで○○.

全然巧くならない.やるたびにストレスが溜まるのに何故やるんだろう,俺は.

2004年07月02日

SWTとSenでWindowsアプリケーション

今まで,JavaのGUIキット「SWT」とChaSenの移植版「Sen」を使っていろいろとシステムをいじくっていた.自分のシステムはswt.jarやSen.jar,またそれらのjarがさらに必要とする他のjar(commons-logging.jarとか)を利用していて,今まではeclipseの設定によってビルドパスに指定し(プロジェクトの「プロパティー」の項目「Javaのビルド・パス」で設定(eclipseは日本語化してある)),eclipse上のデバッグ(実行)によってしか動かすことができなかった.

最近になってやっとある程度ちゃんと動くようになったので,eclipse無しでも起動するように,つまり一個のアプリケーションとして使いたくなってきた.

ファイルはごちゃつかせたくない,exeファイルのようにダブルクリックで起動させたい,という欲求から何とか自作システムをjar化しようと今までAnt用のbuild.xmlをこねくり回していた.

何をいじってもうまくいかず悶々とする日々.しかし,たった今,ダブルクリックで起動する自作システム作成にとうとう成功した.というわけで,この記事を書いている.すんでのところでこの記事の内容が「いくらやってもjarがうまく作れねえよバカ!ボスケテ!」になるところだった.

というわけで苦難の記録とその対処法を.

まずはコンパイル,jar作成をなんとかしなければならなかった自分は,あちこちからbuild.xmlの例をコピーして試していた.クラスパスの設定が厄介ながらも豊富なサンプルのおかげで何とか成功.とりあえず下のような感じ.

<?xml version='1.0' encoding='Shift-JIS'?>
<project default="jar" basedir="." name="SearchAndGet">
<!-- ****以下,プロパティ**** -->
<!-- ソースファイルがあるディレクトリ -->
<property name="src.dir" location="src" />
<!-- クラスファイルを出力するディレクトリ -->
<property name="classes.dir" location="bin" />
<!-- クラスパス -->
<property name="lib.dir" location="lib" />
<path id="classpath">
<fileset dir="${classes.dir}"/>
<!-- lib.dir 以下の jar, dll, zip ファイルには全てパスを通す-->
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
<include name="**/*.zip" />
<!-- 追加のクラスパスなどがある場合はここに追加 -->
</fileset>
</path>
<!-- ****以下,ターゲット**** -->
<!-- compile:コンパイル -->
<target name="compile">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}"
destdir="${classes.dir}"
classpathref="classpath">
<classpath>
<pathelement path="${classes.dir}"/>
<path refid="classpath" />
</classpath>
</javac>
</target>
</project>

これで一応コンパイルは通る.ここまではネットのサンプルを真似するだけでもできた.

お次はjarファイルの作成.

<!-- jarファイルを出力するディレクトリ -->
<property name="jar.dir" location="exe" />
<!-- jar:jarファイルの作成 -->
<target name="jar" depends="compile">
<jar destfile="${jar.dir}/${jar.name}.jar"
basedir="${classes.dir}">
</jar>
</target>

これでjarファイル(SeaechAndGet.jar)も生成される.でも,それをダブルクリックすると,でてくるのはエラーダイアログ.

Could not find the main class, program will exit

むぎゃ.と,ここで調査の結果,MANIFEST.MFにmainがあるクラスを指定する必要があることがわかる.MANIFEST.MFはeclipseを使っていれば

[ソースのあるディレクトリ]/META-INF/MANIFEST.MF

にあるので,そこにmainはここにあるぞということをMain-Class:で指定してやる.自分の場合はmein()はInputWindow.javaに書いてあるので以下のとおり..classは書いちゃダメ.

Manifest-Version: 1.0
Main-Class: InputWindow

そして,build.xmlにもMANIFEST関係の記述を追加

<!-- マニフェスト名 -->
<property name="meta_inf.dir" value="META-INF"/>
<property name="manifest.name" value="MANIFEST.MF"/>

<!-- jar:jarファイルの作成 -->
<target name="jar" depends="compile">
<jar destfile="${jar.dir}/${jar.name}.jar"
basedir="${classes.dir}"
manifest="${src.dir}/${meta_inf.dir}/${manifest.name}">
</jar>
</target>

さあ,これでどうだと再びbuildしてダブルクリック.しかし結果は同じ「Could not find the main class, program will exit」.同僚のアドバイスより,コマンドプロンプトからjavaコマンドで実行してみるとこんなエラーメッセージ.

C:\eclipse\workspace\SearchAndGet\exe>java -jar SearchAndGet.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/events/ShellListener

なんでじゃ.クラスパス通しておろうが.と,ここからが長くて一日かけて色んなところにswt.jarを置いたり,build.xmlを書き直したり,ネットを調べたりしたが,一向に変わる気配がない.MANIFEST.MFにもClass-Path:要素があるのだが,そこで外部jarのある"ディレクトリ(ここでは「lib」と書いてみた)"を指定してみたがダメ(今思うとここが重要だった).もう何をどう変えて失敗し続けたかも忘れてしまった.

なので一気に解決編に向かうが,「jarファイル ダブルクリック swt」でGoogleしてみるとswtを使ったフリーアプリを置いてるところを発見.ダウンロードして,jarをzipに名前変更してMANIFEST.MFをチェックしてみると,

Class-Path: ./swt.jar

と,swt.jar自体を指定していることに気づく.これは,つまり…….

自分のMANIFEST.MFに./swt.jarを入れてみる.するとエラーメッセージは「java.lang.NoClassDefFoundError:」のままであるものの,別のjarに関するものに変わっていた.ここで自分のシステムでコンパイルに利用している全てのjar(つまりSWTとSenが使っているjar)を直接Class-Path:の要素にぶち込んでみる(注意:実際は全て半角のみで区切ってある長い1行の記述です).

Class-Path: ./
./sen.jar
./castor-0.9.3.21-xml.jar
./commons-httpclient-2.0-rc2.jar
./commons-logging-api.jar
./commons-logging.jar
./lucene-ja.jar
./xerces.jar
./swt.jar
./googleapi.jar

説明すると,./はカレントディレクトリ, ./sen.jar〜 ./xerces.jarの7つは全部Senのために必要なもの.SWTはswt.jar,そして最後のはSWT,Senに全く関係ないGoogleAPIのjar.ここではあまり関係ない.

そして,Ant実行……SearchAndGet.jar作成……ダブルクリック……しばしの沈黙……起動!
やったー!

だらだらと長かったが,まとめると,main()のあるクラスをMANIFEST.MFのMain-Class:で指定しておくこと.外部jarはjarのあるディレクトリを指定するだけではダメで,外部jarを使うときはMANIFEST.MFで直接指定すること.手っ取り早いのは自分の作るjarと同じ階層に置いとくこと.以上.

他の方法としては外部jar内の使うclassだけを解凍しておいて,自分のシステムとまとめてからjarにするというものがある.これならClass-Pathで個別に設定する必要もないし,ファイルは自分の作ったjar一つですむ.てかこっちのほうがファイルサイズや煩雑さの点から見てもいいだろう.ただ,swtの使うところだけを解凍するのが面倒くさかったので今回は上記の方法をとった.いずれ「使う部分解凍→自作jarでまとめ」にするつもり.今Sen.jar見たらそうだったし.始めからSen.jarとか調べろよとか言わないでくれ.効率のいい方法はいつも成功の後に思いつくもの.

有識者の方々は,他にもっと効率のいい方法があったら教えてください.こんなヘタレな方法,コレ読んじゃった有望な若手に真似してほしくないでしょ?

2004年06月25日

三者面談(教授,助手,自分)

昨日のゼミ直前に自分にドンピシャな論文が発表されていたので,強烈な焦りを感じながらその論文を取り寄せて読み合わせ,そして今後の方針決めの打ち合わせ.

問題の論文だが,4ページの研究報告だったし,それほど劇的にこっちのやることを先取りしてるわけではなくて少し安心.

打ち合わせは,こっちが備えるべき新規性についていくつかの要素を列挙,そして自分が用いる手法の拠り所(なぜその手法を選んだかという論拠)となるようなものを見つけることを課題として今日のところは終了.

ホントに休んでいられないホットな話題であることを実感する.がんばるよ.

2004年06月17日

日々の研究を怠ると大変

ここ1ヶ月ろくに研究関連のことをやっていなかった.
頭でおぼろげにイメージするだけで具体的な策を何も講じていなかったのだ.

先週にゼミで報告するはずだったのだが,体がだるく(前夜が怠惰だったせいなので自業自得),研究室に行かずにバイトまで家で寝ていた.つまりサボった.

それでいて,何もできてない.

結局,ゼミ前夜からつらつらとアイデア出し.一応の発表資料としてまとめる.うう,気が重い.しかも,直前になって前回のゼミの資料を見直してみると,そこでの課題とか留意する点をまるで忘れていることに気づく.まずいなあ.

ゼミ開始.


% 報告中...................終了
% 正常に終了しました.

報告完了.あれ,意外に何とかなったみたいだ.次の一週間でがっちり先生方と手段を講じることになる.何らかの方針が定まったのは心強い.がんばります.

2004年05月28日

研究室新歓飲み会

今更と思われるかもしれないが仕方がない.幹事が俺なんだから.

朝8時から飲み会で焼肉をやりたいというオノレの欲求を満たすために武蔵野市場の『アンデス食品』に肉を買う(詳しいレポート).当てにしていたアンデスカルビ(肉厚牛カルビ,1kg900円)が狂牛病のあおりでなくなっていてショック(アメリカ産だったそうだ.今売ってるカルビは1kg2500円.無理)だったが豚に切り替えていたので,まあいいかと豚カルビ,豚ハラミ,豚スタミナ焼を飲み会用にそれぞれ1kgずつ購入(キロ単位でないと買えない).そして自分用に豚カルビを1kg.

研究室に寄って冷蔵庫に肉を入れ,泊まっていたT先輩にビールの注文をしてもらい,いったん家に帰宅.買った肉で早速,焼肉丼(レシピ:肉を焼く,丼飯に乗せる,適当に目玉焼きを作る,丼飯に乗せる,できあがり)を作って喰らう.ああ豚肉美味い.
満腹したら急に眠気が.2限をサボって眠る.

4限終わって,飲み会の準備にとりかかる.西友に買出しに行かせて,馬車道にピザ取りに行かせて,会場の準備に行かせて.これでずいぶん楽できたと思ったのに,サラダを作るための包丁やたこ焼きのためのボウルを取りに行くためにいちいち大学と家を結構往復してしまったのが誤算.持ってくれば良かった.めんどくさい.

飲み会の会場はサークル棟近くの教職員研修所.大学のマップにも載っていないレアな場所.

サラダを作って(学部生が),たこ焼きの具を臨時で買いに行って(学部生Kが),たこ焼きを作って(学部生が),酒を注ぎ(各自が),追加のビールを買い(Yが),肉を焼き(各自が),皿洗いをやって(Kさんが),机の片付けをやって(みんなが),ゴミをまとめて(みんなが),M先輩を介抱して(T先輩らが),一次会終了.いや,疲れた(みんなが).

研究室に戻って学部生部屋では余ったサラダや飲み物で二次会.自分は明日のために書類に目を通していると,岩崎・河野研の飲み会から戻ってきたYさん,Aさんが遊びに来る.酔ってる二人始めて見たけど,結構変わってる印象があって面白かった.酒ってすごいな.

午前4時に帰宅.Y先輩を泊める.寝る前に渡した『メグミックス』が好評でうれしい.そして寝る.

と,皆さんお疲れ様でした.悪かったところは来年の幹事が直してくれるでしょう.これからもよろしく>学部生

2004年05月20日

打ち合わせ&ゼミ

朝の10時半から林先生とこれからの研究のことで打ち合わせ.
ねーむーいー.頭がちゃんとまわらない.かといって眠くなかったらどうなのかと問われれば自信がない.ちょっとイメージが練り足りない.本当にそれが欲しいのか? 本当にうれしいのか? 欲求を突き詰めないと,途中で目的を見失うし,モチベーションもあがらない.
とりあえず攻めていく方向を固める.

で,午後3時からゼミ.Yの発表のあと,午前の打ち合わせを踏まえて報告.

方向はこれでいい.ただし2ヶ月かかったら手遅れ.という尾内先生の言葉.
確かに2ヶ月もすればどこかで発表されている気がする.下手したら明日にでも.
始めた先から尻に火が点いている.猛烈な勢いが必要.

基礎を固めつつ,アイデアを出しつつ,動機を煮詰めつつ,全てを同時進行で.

抽象的な日記だね,これ.

2004年05月17日

半休養

午前8時に就寝,午後2時に起床.
久々にうどんを食べて,銭湯に入って,大学に来てカップラーメンを食べる.
友人から借りていた欠席した講義のノートのコピーを自分のノートに書き写す.これをしないと頭に入らないので.

全体的にだらりとしてる.昨夜の反動とすればいいか.
でも気がついたら言語処理系特論のレポート〆切がもう今週の金曜に差し迫っていた.先生曰く「二晩くらい考えないと出来ないと思いますよ」というレポートなので,油断しないで明日にでも取り掛かったほうがよさそう.
MC特論,最適化法もうかうかしてるとすぐ〆切が来る.考え始めないと.

追記

て,もう明日じゃないよ.今日だよ.
月曜は1限からなので,もう退散します.

2004年05月13日

昨日に引き続きゼミ

Yの発表がひとまず終わる.でもこれで全部ではないそうなので来週再び.

自分の発表というか報告.
とりあえず今日までの目標はクリア.
来週までに新しいところに踏み込むためのブレインストーミングを命じられる.

問題集読むか,問題作ろうかな.
結局,研究の動機がクイズである以上,クイズを作ってるときにアイデアや問題点が最も見つかるのだ.

遊んでないぞ.

一段落はしたので,xyz=1の原稿を書かなきゃ.

Todo:
5/15 xyz=1原稿〆切
5/21 言語処理系特論レポート〆切
5/24 最適化法特論宿題,MC特論レポート(5)〆切
xyz=3仙台の会場確保
各クイズイベントの参加手記

2004年05月12日

ゼミ

研究室でゼミ.
結局,評価用の質問があんまり作れなかったなあ.

と思ったら,その前のYの発表で今日は終わった.
Yの調べた論文は確かに面白い.
ていうかYは頭良い.説明もちゃんとしてるし,面倒くさい数学周りもちゃんと咀嚼してるから質問されても淀みないし.ただのDOMだとあなどっていた.

質問をさらに作って今日は終了.
今までのアルゴリズムの改良法も思いついたけど,そこは実装せず.怠慢だなあ.

2004年05月11日

ゼミ準備

嵐の月曜を乗り切ったからといって油断はしていられない.
ゼミで進捗を発表しないといけない.期限は明日.明日!?

つらつらつらっと実装と,評価用の質問を考える.あまり多くは言いませんが.
疲れがたまってたし水曜は2限があるので,徹夜はせずに帰宅.午前4時就寝.

なんかここらへんの記憶がない.疲れてるな.

2004年04月28日

修羅場宣告

本日,院生ゼミがあった(流れ的に,なし崩し的に,ではあるが).

各自にかなり強めの宣告が下される.
いわく,このままだと修士はあげられない.
いわく,就職決まっても蹴ってもらう.
いわく,このままだと博士はあげられない.

自分にも課題がある.前から言い渡されている.
できてなければそれは単なる怠慢だ.

やる気を,スイッチを入れて,エンジンをかけないと.
ああ,第二ファウンデーション人の精神操作でいいから俺にやる気をくれ.

というわけでアイザック・アシモフ『第二ファウンデーション』読了.
安心して読めるどんでん返し.さあ,親父から借りた第四部,第五部はいつ読めるかな.

そんな中,K先輩来訪.やっほー.連休いいなあ.H先輩来訪.お疲れ様です.風邪早く治るといいですね.

さて始めよう.

2004年04月21日

修士企画発表会

尾内研,岩崎研,河野研,竹内研の4つの研究室で今年M2になった人が,合同で行う企画発表会.
中間発表,修論発表だけだと動かない学生がいるだろうということで,去年から実施されている(去年は尾内研,岩崎研,益田研,竹内研,中山研で行った.益田研は今年なくなり,河野研は今年発足).

この4研究室の先生は情報工学科の中でも特に厳しいパンチを繰り出す(研究への突っ込みのことをここらではパンチと呼ぶ)方々で,いわば四天王.去年の発表会でその厳しさは実証済みである.

うちの先輩方も発表直前までパワポとレジュメと発表内容を詰めていた.

で,発表会.予想していたとおりのパンチの応酬.応酬じゃないな.一方的.

時折ジョークだかなんだか分からない返しをする院生もいて,会場に笑いが起こるのだが,自分にはその笑いの意味が分からない.

笑えるか?
明日は我が身なんだぞ?
いつ誰が西9の屋根から身を投げたり,首を括るかもしれないんだぞ?

以前読んだ本で,動物の笑顔は,笑顔でなく防衛本能の表れだとあった.牙を相手に見せるという行為は相手への威嚇であって,決して友好の証ではない,と.
(付け加えるなら,意味も無いのによく笑う人はそういう防衛が働いているらしい.本では男性関係で性的なトラウマを持った女性の例が紹介されていた)

この会場の笑いはそれなのかな.と思った.

俺は笑わない.笑わないように努めた.

いかにもな言葉だけを並べ立て,具体的なものは何一つない発表があった.その人は先生方の突っ込みに,余裕たっぷりに何もできていないと開き直った.余裕たっぷりに.さも何もできていないことを自覚している自分を誇示するかのように.

ああ,これはオタクだ.シニカルな目を持っている風に振る舞い,大言壮語を披露して,周囲からの指摘があると,自分に何も無いことを臆することなくひけらかすことでそれ以上相手に踏み込む隙を与えずに自我を保つ,90年代後期から現在までの,単なる消費者と似非批評家に変質した,現代の呼称としてのオタクだ.と俺は感じた.
((笑)という記号を意味も無いのに多用するのも防衛本能の表れだと思う.)

俺は笑わない.笑うもんか.
笑わないために,真っ向ぶつかるためには,研究を進めなければならない.

2004年03月27日

入学手続き完了

入学金免除申請も無事完了.
4/12〜13の授業料免除も忘れずにせねば.

これで晴れて大学院生でございます.

2004年02月02日

というわけで

卒研発表会終了.

結果は、失敗だな.
発表時間超過した時点で発表は失敗といえる.
練習不足だった.時間はあったのにやらなかった最悪のケース.
質問にも的確に答えられなかったし.

それに,発表者が答えるべき質問とやりあってしまった.Kくんごめん.

卒業はできるかもしれないが,反省の多い内容でした.以上.

さて

いってきます.やってきます.

次の更新は昼.

発表練習

いよいよ6時間後に迎える卒研発表.
一人で詰めの発表練習.

しかし,眠いと頭もろれつも回らないね.

仮眠をとって朝にもう一度やろう.起床予定は7時.

2004年02月01日

今更ながら判った

PowerPointは編集と上書き保存を繰り返すと,何故かサイズが膨れ上がってしまう.
これだと開くのが遅いし,持って行きづらいしで不便.
『名前を付けて保存』をするといきなりサイズがスッキリするので変だなあと思ってて,
多分バグだろうみたいな話をしていたのだが,今日その理由が判明.

それは,ツール→オプションの保存タブ,保存オプションの中で『高速保存』がONになっているため.

これだと差分を追加保存するのでどんどんサイズが大きくなるのだ.
というわけで,『高速保存』をOFF.これで大丈夫だと思いたい.
ただ,何も変更しないで上書きしてもサイズが大きくなるのはなぜでしょう? 更新情報が増えてる?


それよりも,印刷設定をデフォルトで『配布資料』にしておくことはできないものか.
間違えるたび落書き帳が増えてしまう.

2004年01月31日

レジメ,パワポ第一稿完成

H先生にメールで送る.
練習は明日の昼に変更された.
これよりバイトに向かい,終わり次第自主練習を始める.
バイト明けには先生からの直しも来ることだろう.
そして困難な直しに頭を抱えることになるだろう.
まあ何とかなる.あと1日半.

2004年01月30日

もう一度言う,いや書く

これより第二段階,発表準備にとりかかる.
発表は来週月曜2月2日.朝9時より開始.

プレゼンテーション規定5枚に対し製作状況0枚.
レジュメ規定A4用紙1枚〜4枚以内に対し製作状況0枚.
発表練習状況0回.

研究室の学生全員による発表練習は土曜の夜9時を予定.

卒論完了.

完了.

今日までの状況を以下に述べる.

1月中旬
システムはほぼ完成していたのに,ダラダラと評価実験のための質問セットを作成.
システムのチューニング(というかデータ構造やらの作り直し)が楽しくてそればかりやる.

1月23日
研究室で方々(院生)にそれでは不味いと言われ,危機感を煽られる.
1章の「はじめに」を書き始める.
この段階においても実験はまだやっていない.実験自体はすぐに終わるので(実際すぐ終わった)大丈夫だろうと高をくくっていたのだ.過去形.
規定枚数ライン30枚に対し執筆状況2枚.

1月24〜25日
書いてみてやっと,これでは間に合わないということが分かりブルーどころか恐怖で体が震える.とにかく書く.やらなければならない.
24深夜から25日朝にかけて実験を行う.データを集める.
いざ評価をするとなるとデータだけではどうにもならん.あたりまえだ.
データをあちこち見て評価する.これは果たして評価の対象になりうるのか?などと思いながら.
I先輩にノートパソコンを借りて,バイト先で作業を進める.
規定枚数ライン30枚に対し執筆状況14枚.

1月26〜27日
体を壊してはすべてが終わるので食事はちゃんととる.カップラーメン&ビタミン剤を.
念のため100円ショップでビタミンCの錠剤を買っておいてよかった.
規定枚数ライン30枚に対し執筆状況22枚.

1月28日
実験の評価から「おわりに」まで書きあがりなんとか規定の枚数に達し,第一稿ができる.
先生に見てもらう.直す箇所は大体以下の通り.

●「はじめに」で目的が明確に書かれていない.
●「関連研究」の節の分け方が意味不明.
●構成が悪い.システムの各機能と実現方法と実装がぐちゃぐちゃで意味わかんない.
●論文は読み始めてから最後まで淀みなく読んで理解するもの.行ったり来たりして読まなきゃならないものは不可.

評価実験の項,分量はこれでいいということで安心する.
構成は根本的な問題ではあるが,内容自体に影響はないので大丈夫だ.と自分に言い聞かせる.
何より一度先生に見せることができたので,心の底から安堵し,胸をなでおろす.
そのとき吸ったセブンスターがやたらに美味いので,精神は煙草の味に影響するということを実感する.
深夜,「はじめに」を直すために読み返す.背景から提案に至る内容および流れがおかしいと感じる.色々構成を変えながら書き直す.泥沼にはまった気になる.
規定枚数ライン30枚に対し執筆状況31枚.

1月29日
「はじめに」を書き終えて,システムの説明の構成を考える.
先生に再び見せる.やはり構成が悪いと言われる.しかし,直すべき点が明確だったので,完成に向けて遮二無二直す.
先生の再々度のチェック.ようやく全体の構成にOKが出る.
細かいところを訂正して明日の午前に最終チェックを受けてOKが出るようなら提出してよいとの指示を授かる.
再びI先輩のノートパソコンを使い,バイト先で付録の質問一覧と実験結果を作成.
研究室に戻り,論文を完成形にして午前2時帰宅.
一週間弱ぶりの布団だ!ちゃんと寝て明日以降の発表準備に備えるぞ!と思いつつ布団にもぐるが,消そうとして最後にザッピングしたテレビで珍妙な映画が放映しているのを発見.つい見入ってしまう.
CMに入るときにタイトルが出る.確認する.
なんと『けものがれ、俺らの猿と』ではないですか.
こんなぶっとんでるんだーと思いながら見入ってしまう.これではまずいと思い,部屋の電気を消し,CMに入るたびに眼鏡を外して寝ようと思うのだが,CMが明けて映画が再開するのを音で確認するとまた眼鏡をかけなおして見てしまう有様.
結局途中から最後まで見てしまう.今度DVDで見よう.研究室のプラズマディスプレイで見よう.と決意し,午前4時30分頃就寝.
規定枚数ライン30枚に対し執筆状況37枚.

1月30日
午前10時,I先輩に電話で起こしてもらい研究室へ.
先生の最終チェックを終え,昼12時半に卒論を提出.

これで第一段階が終わった.

これより第二段階,発表準備にとりかかる.
発表は来週月曜2月3日.朝9時より開始.

プレゼンテーション規定5枚に対し製作状況0枚.
レジュメ規定A4用紙1枚〜4枚以内に対し製作状況0枚.
発表練習状況0回.

研究室の学生全員による発表練習は土曜の夜9時を予定.

追記

発表,来週月曜2月"2"日でした.
よかった,曜日の間違いじゃなくて.そっちだったらケツから何かをひり出しながら死ぬる.

2004年01月25日

卒論

昨日、ようやっと一日かけて書き始めてみて始めて生まれた焦燥感。
一年前のLispの課題の時に感じたものに似ている。
震えて眠りにつくこともできんような状態。

ここから回避するためには是が非でも書き上げなければならん。

2004年01月16日

スコアリング

ある程度固まったので、あとは論文書きながら実験して、実験しながら評価して、それを論文に書こう。

2004年01月15日

何をしているか

卒研をカリカリ進めています。現在、出力の順位付けのためにスコアリングの方法を模索中。

ソースコードの管理ソフトCVSWinCVS)を使いこなせないから、代わりにこまめに更新していこうと始めたblogなのに、これでは。情けない。

CVSやWinCVSの頭になぜ「ソースコードの管理ソフト」などと説明をつけているかというと、尾内研のblog、やたらにPageRank(Googleの検索ランキング)が高い。国立の研究機関にサーバがあることがその理由だろうが、そのせいでどんな検索語でも上位に来てしまう(なんで俺個人の書評なんかがトップにくるねん!)。

というわけで、検索をかけそうな言葉にはリンクに加えて一応の説明をつけることにした。役立たずなページで来てくれた方々には申し訳ない。

2003年12月24日

SWTで画面表示を更新する

JavaでGUIを実現するためのコンポーネントの一つ「SWT」。

これでアプリで変更された値をGUIに反映させるときの注意。

SWTのGUI部分はメインスレッド以外からは直接いじることはできない。

例えば、
メインでウィンドウ(mainWindowとする)を開いている。ウィンドウにはテキストボックス(Text)
別のスレッドで1分ごとに値minutesを1増やして、それをウィンドウに表示したい。

というとき、別スレッドの方で".setText(minutes)"とやったらエラー。
メインからTextオブジェクトを引数としてもらっていてもエラー。

ここで自分は、Observerパターンによる解決を試みた。しかし失敗した。でも書いておく。

/** Observerパターンによる試み、そして失敗 */

メインスレッドは"implements Observer"。そしてupdate(Observable o, Object arg)メソッドを実装し、その中でTextを操作する。

class mainWindow implements Observer{


public void update( 省略 ){
// argを何とかして値valueを取り出す。
text.setText( value )
}


}

別スレッドでは"extends Observable"する。
(注意:Observableの方はクラスなのでスレッドと併用したいときはスレッドをThreadクラスの継承ではなくRunnableインタフェースの継承にしないといけない。クラスの多重継承ができないため)。
スレッドのコンストラクタで引数でメイン(window)を
もらっておき、addObserver(window)する。あとは表示を更新してほしいときに
notifyObservers(値=minutesとする)をすれば、Observerに通知がいく。でObserver側のupdate()が実行されて値の表示が変化する。

class Count extends Observable implements Runnable{
int minutes;


public Count(mainWindow w){
this.addObserver((Observer)w);
}


public void run(){
// なんやかやでminutes++;
notifyObservers(minutes);
}


}

はずだったが途中で止まる。update()内のsetText()で止まる。
つまりこれは結局はnotifyObservers()→update()という流れは全部別スレッドで
行っている処理だから、メインスレッドしか受けつけないSWTはエラーを出した。
と自分は捉えている。

/** 以上、Observerパターンによる試み、そして失敗 */

で、色々調べた結果。DisplayのsyncExec(またはasyncExec)と、内部スレッドを使うようである。

/** UpdateThreadによる試み、成功? */

メインスレッドの方で表示の更新、変更をするメソッドは作っておく。updateWindow(int 値)とする。
別スレッドの方ではUpdateThread()という内部スレッドを作っておき、そこのrun()でメインスレッドのupdateWindow(値)を呼ぶようにしておく。

class mainWindow{


public void updateWindow(int m){
text.setText(m)
}


}

そして、表示を更新したいときは、

mainWindow.display.asyncExec(new UpdateThread());

として内部スレッドを作ってやる。これで画面の同期をとって、つまりメインスレッドの方に画面
更新のお伺いを立てて、更新自体はメインスレッドで実行される。ようである。

class Count implements Runnable{


int minutes;
mainWindow mw;
Display display;


public Count(mainWindow w, Display d){
mw = w;
display = d;
}


public void run(){
// なんやかやでminutes++;
mw.display.asyncExec(new UpdateThread());
}


/** 内部スレッド インナースレッドという */
class UpdateThread{
public void run(){
mw.updateWindow(minutes);
}
}


}

とりあえずこれでうまくはいった。別スレッドの内部スレッドUpdateThreadでGUIのあるメインスレッドの更新メソッドを呼び出すため、メインスレッド(とそれが使っているDisplay)は別スレッドにも教えてあげないといけないのが、めんどい気がする。
でも、呼び出した親を呼び出された子が知るためにはそうするしかないか。
なんかデザイン(GUI)とロジック(プログラム)が癒着してる感じがあって格好悪いと思うのだけれども。

/** 以上、UpdateThreadによる試み、成功? */

有識者のもっと巧い方法を求む。いや、教えてください。

2003年12月01日

自粛→呑み会

今日は三回目の尾内研グループ面談。
今回は女子の方、いわゆる女性がいらっしゃるということで、参加および見学を自粛。

終了後は研究室で呑み会。詳細はこっちを見ればよろしいですね。

いや、楽しかった。呑めない人のためにワリカン料金も勉強してもらったし。

とにかく美味いなあそこは。いいところですよ。アイリッシュ・ケルト・ミュージック界の大御所ディーヴァだけのことはあります。ヒントですよ。

2003年11月27日

グループ面談1日目

うちの研究室では卒研配属希望者に対するグループ面談を行っています。うちに入るためには必ず必要なんですが、その前に研究室説明会があって、そこで配ったアンケートに答えた人だけがこのグループ面談に参加することができるという段階的な方式をとっています。アンケートを提出していない人は残念ながら尾内研への配属は不可能となっています。

で、今日はそのグループ面談の1日目でした。面談は最大10人前後で行うので、何回かに分けているのです。

で、自分といえば、外野として大いに五月蝿かった。これを読んでいて面談に参加した人は「何だコイツUzeeee」なんて思って、尾内研へ行こうとする意思がシュルシュルとしぼんでしまったかもしれませんのでこの場でお詫びいたします。もっといいところがあるさ。

とりあえずTHEE MICHELLE GUN ELEPHANT好き(好きでなくても知ってはいる)人がJ科の三年に一人でもいることを知ったのが収穫でした。M先輩はテクノ好きがいなかったと嘆いていましたが。

さて、明日は2日目です。司会を担当します。時間配分を気にすることが課題。

2003年11月21日

研究室公開

今年は担当ではない。

しかし、展示ではない研究室の雰囲気を高校生に見せられたらよいのでは? と思いゲリラ的な、全くおもてなしをせずに素の風景を見せるような研究室公開をしたい、と教授に提案したが断られた。

理由はこうだ。
公開とする以上、高校生のみにというわけにはいかない。来る人にはすべて見せなければならない。
しかし、企業には費用対効果というものがある。研究室公開の効果というのはここを受験する人が増えることだ。それを考えると完全オープンな研究室公開はリスクが大きすぎる。
現に研究室公開を狙う産業スパイもいる。公開を行うなら部屋の中は見せずにロビーでパネルを展示するという方法でなければ危ない。実際、企業などのオープンラボも内部は公開しないし、公開する内容は論文や製品という形ですでに発表したものに限っている。

費用対効果について、なるほど、と思うと同時に、自分たちが行っている研究というものの重さをほぼ初めて自覚することとなった。学生が行っていても研究は研究であり新規性が求められる。出し抜かれる事態はあってはならない。今まで自分の研究については、新規性や独自技術というものを、正直あまり感じていなかった面があったのだが、この一件で認識の甘さを痛感した。

となると、このblogも迂闊なことは書いていられない。だんだん研究についての情報は少なくなっていくと思うがご容赦いただきたい。

守秘義務。口の軽い自分が試される時期に来たようだ。

2003年11月20日

研究室説明会

尾内研の尾内研による尾内研のための、失礼、卒研着手予定者(つまりスムーズに行けば三年生)のための研究室説明会がありました。

良い人材に、つまりは人財に来て欲しいがため行うのだから尾内研のためではあるんですが。人財て。おっさんか俺は。

はじめに尾内先生による今の修士(もしくは卒業生)の研究内容紹介があり、続いて林先生による現在の卒研生の研究内容の紹介。

って、林先生。黒一色フォント統一じゃ味気ないですよ。それより研究テーマの横に担当の卒研生の名前がないのはどうでしょう。自己紹介のときに言ったからいいけど。まあ30分で作ったそうだから仕方がない。これも費用対効果か。

壇上に上がって自己紹介しつつ、周りをいじりつつ、質問しつつ、お前五月蝿い。お前とは他ならぬ自分のこと。

OGにも関わらずいらしてくださったK先輩曰く、砕けた雰囲気で先輩としては良かったらしい、とのこと。実際そう思っていただけたのは二回目の説明会が行われた25日。その日僕はバイトでいませんでした。

というわけでこの日記?blog?も25日以降にかかれています。現在11月27日、がそろそろ終わりそうな時間。

この中から来年の卒研生として寝食を共にはしないまでも同じ部屋にいることになる人がいるのでしょう。いる、なる、いるって下手な文だな。ill、nul、ill。ああ緊張する。緊張するのはあなた達だけではありませんことよ。ほら口調が変だ。文章なのに口調とはこれいかに。こういった文章には「文体」という言葉よりは「書き口調」という言葉が似合うと思う。

だらだらだらと書いていけば思考は前後上下に動き回り、いつまでも書いてしまうのでこの辺で打ち切り。だからtf-idfでもいい結果が出ないのですね、とこれはM先輩のblog参照。

2003年11月18日

なんで/

「ドイツ」が未知語やねん。>Sen
こりゃ早々に辞書を拡張しないとまずいな。

しかも品詞情報をStringで返す仕様になってて微妙。
内部をいじってbyteとかintで返すようにするか、あらかじめ品詞情報とIDのマップを作っておくかしないと快適な動作は見込めないかもしれない。

実装しなけりゃわからんが、方針としてはそういうことで。

2003年11月17日

アマルティア・セン

こんな人です。

で、Senの話。
ChasenTNG(現Mecab)を基にJavaで書かれたのがSen。

Javaで現在のソフトを作っている以上、Cで書かれたChasenを外部呼出ししてたんでは効率も悪いしちょっと怖い。ということでSenを使おうと思っている。

MecabもC++で書かれているもののSWINGによるバインディングがなされ、Javaからも利用可能とあるが、いまいちJNIを理解してないというか「JNIを理解してない」なんて迂闊にいえるかどうかも危ういので回避。

で、Sen。辞書のインストールに少し難儀。Ant1.5以降とPerl5.6以降が別途必要とは面倒。

Windows2000にて。Antは展開して、ANT_HOMEを環境変数で設定するだけで使えるようになる。ActivePerlは先代のPC利用者によってインストールされてた。辞書作成時はHPにも書いているがWindowsは

$ ant -Dperl.bin=C:\Perl\bin\perl.exe

とやらないと作成途中で失敗するので注意(S先輩わざわざすみませんでした)。

で、そこからデモプログラムをeclipseでプロジェクト作って走らせようとしたらエラーエラー。

java.lang.NoClassDefFoundError
ですよ。コンパイル通るのになーんでー。クラスパスはほぼ通してるのにー。

なんてやってたら必要な外部jarが足りなかった。Senを検索エンジンLuceneと関係なく使うだけでも、まず sen\build\lib\sen.jar は必須と思われる。加えて sen\libの中も lucene*.jar 以外の全てが必要。

さて、実行じゃと思ったらまたエラーエラー。
設定ファイルであるところの\conf\sen.xmlを読み込めていない。
呼び出し元の\src\java\org\debian\sen\StringTagger.javaを読んでみると、xmlを格納しているパス情報を取得しようとしてる。

System.getProperty("sen.home");

でもこれをprintlnさせてみるとnull。むぎー。環境変数でSEN_HOMEを作ってC:\senとしてみるも駄目。いい加減どうにもならないのでmainで

System.setProperty("sen.home","C:\\sen");

として強引に設定すると、動いた。

むう。なんかいやーな気もするが仕方ないのか?
Senの処理はjarファイルに任せてるとして、使ってるのは設定のconfディレクトリとipa辞書のdicディレクトリだけなのかな。
最終的にはシステムにそれだけ組み込むようにして、インストール先のパスをシステムで取得してからsen.homeをいじるって感じになるんだろう。

2003年11月16日

とりあえず

11月15日は何もせず家で療養。

11月16日の日記ということで。実際書いてるのは17日の午前10時なんですが。

というわけで16日日曜の日記。

いい天気なので洗濯物を干して、夕方から研究室。
ウダウダやりつつも午前三時、「一文」の抽出に成功。

前回の段階では検索語を含む区間をただ取ってくるだけだったが、これで形態素解析がちゃんとできそうな形になった。

追加した部分は単純で、まずhtmlをテキスト化する部分では、

・タグは全部除去、改行コードだけは残す

としていた手順をちょっと変更して、

1.タブとか改行コード系はすべて除去
2.<p>と<BR>をすべて改行コードに置換
3.その他のタグをすべて除去

として、より効果的に改行が残る感じにした。

それから、ProxymitySearchでとってきた区間の部分文字列に改行コードが存在する場合はそれを候補から排除する。これで、厳密に「一続きの一文」だけを選び出すようになっている。
かなり辛い基準だと思うけど、とりあえず。(文章の途中で<BR>入れてるやつは排除してしまうようになったけど)

そして、現在の部分文字列の左端から、文の開始位置を探すために元の文章を1文字ずつ遡って、前の文章の終了(改行か句点かピリオド)が見つかったらそこを文の開始位置に更新。
部分文字列の右端からは、文の終了位置を探すために、1文字ずつ進んで、同じく改行か句点かピリオドが見つかったらそこを終了位置に更新。

で、substring(開始位置,終了位置)で一文を取り出す、と。

まあ取り掛かってしまえば即できるようなお粗末な処理ですが。
作業開始は午前二時くらいだったし。

さて、ここからはchasenに通して、答えとなる情報を抽出する部分を実装。
ここまでくれば一応の完成を見るわけだが、はてさて。
一応senを利用してみるつもり。
しかしこれ、辞書はどこに置いてやればいいんだ?

2003年11月14日

挨拶

今日は何もせず。

■昼に大学に行って学祭のライブチケットを購入。
 この面子はやばいと思う。
 おぎやはぎ、江戸むらさき、田上よしえ、長井秀和が出て800円とは。
 とりあえず、自分、ノダシュー、ヲバキウ、nobu、だうさんの計五枚は購入。
 希望の方は言ってください。チケットぴあでも売ってますが。

■夕方は奨学金の継続願を提出し、そのまま返還説明会へ。
 来年から独立行政法人になり、先行き不安育英会
 ちゃんと返すつもりでいるのであと二年は持ってほしいところ。

■今まで進捗状況しか書いてなかったので研究の概要をご紹介。
 今までは検索と言うとキーワード検索で、ページ内に検索に使ったキーワードがあるページが結果として返されてきた。Googleとか。
 しかし検索には「次回のオリンピックの開催地はどこか?」とか「北杜夫の直木賞受賞作のタイトルは何だ?」といった5W1H型の意図を含むものがあるわけで、そういったものにキーワード検索では不十分である。「どこ?」とか「何?」なんてキーワードに使えないから、結局ページを見ていって答えを探さなければならない。
 というわけで、キーワード検索に加えて「どこ?」「何?」という要求を与えると、検索で引っかかったページから答えになりそうなものを抽出して、ユーザに提示してくれるものがあると便利だろうと考え、そういったものを作っておるところです。
 まあ、こういったシステムは「質問応答システム」と呼ばれ、すでに開発されていたりするのですが
「Webに対して日本語で」質問を行うシステムはまだそんなに見られないので、そこのところで何とか研究の体裁を持ってくれればいいんですけど。
 でも今まで実装した部分ってやろうと思えば中高生でも作れちゃうんだよなあ。戦々恐々。
 発想というか動機は完全に趣味であるクイズを作っているとき出てきたもので、何というか。

2003年11月13日

できたかな

ProximitySearchは大体完成っぽい。

ただ、文の構成を考えず、あくまでキーワードをすべて含む部分文字列を
得るだけなので、それが答えとなる情報を含んでいるとは限らない。
取得する文字列の範囲をもう少し広げる必要がある。

例えば、「2004年 オリンピック 開催」で近接検索した結果の文字列だと
「2004年の夏季オリンピックが開催」だけが抽出される。
この文字列が「(2004年の夏季オリンピックが開催)されるギリシャのアテネでは……」
と続いていた場合、本当に欲しいのは抽出した文字列以降の情報なのである。

よって、部分文字列からさらに前後の範囲を広げ、句点(。)や改行が見つかるところまでを
形態素解析、そして地名抽出の対象にしていこうと考える。

そこらへんはまた明日。
今日は洗濯物洗って、休む……。でも夜バイト……。

2003年11月11日

Proximity Search

今日はWebページ評価部におけるProximity Searchアルゴリズムの実装。
Proximity Searchとはテキスト中から、k(=>2)個の検索語をすべて含んだ上に近接している箇所を見つけるというもの。
これができれば、検索語の有無だけでなくページを評価できるので、
ユーザの検索意図をより反映することができると思うのだが……。

これまで3、4日実装していたが全く試運転していないのが怖い怖い。
でも、ある程度までできないと試すこともできないし。
コンパイルエラーだけを消す作業。きっとどこかでException。

ちょっと風邪を引いたみたいなので本日はこれで終了。
家でもう少しアルゴリズムのコードを練り直すか。