"アホの子だけど読んだ本を紹介しちゃうぞ" archive

October 11, 2005

[読書]コンピュータはむずかしすぎて使えない!

Posted at 12:41 in アホの子だけど読んだ本を紹介しちゃうぞ . | 0 Trackbacks, 0 Comments

 488135826X.09.LZZZZZZZ.jpg

 ソフトウェア開発におけるデザインの重要性について述べた本。著者のアラン・クーパーはMicrosoftでVisual Basicを作った人。今ではMicrosoftを辞めて自分の会社をやっている。

 まず、コンピュータが使いにくいという話から始まる。使いにくいコンピュータの例を一頻り挙げた後で、それらが何故使いにくいのかを「知覚的なずれ」という言葉で説明する。「知覚的なずれ」とは何なのか、一言では説明しづらいが、ソフトウェアの操作と、それによって為される処理との間にある感覚的な乖離の度合い、といったところだろうか。「知覚的なずれ」の小さい例として、クーパーはタイプライターを挙げる。Aのキーを押せば紙にAが印字されるし、Bのキーを押せば紙にBが印字される。ユーザの操作(キーを押す)と機械の振る舞い(押されたキーを印字する)は完全に一対一で対応していて、感覚的な乖離は小さい。押されたキーに描かれている文字が印字されるというのは、ユーザにとって、まったく感覚的に受け入れやすい動作だ。初めてタイプライターを見た子供にだって直ぐに分かるだろう。それに対して、現在のコンピュータで使われるようなソフトウェアはそうではない、というわけ。現在的なソフトウェアは複雑な機能の塊で、どうしても「知覚的なずれ」は大きくならざるを得ない。それを踏まえた上で、できるだけユーザにとって使いやすいソフトウェアを作るにはどうしたら良いのでしょう、というのが本書の問題意識だ。

 続いて、クーパーはソフトウェア開発の現状を概観し、なぜ使いにくいソフトウェアが出来てしまうのかを説明する。彼の主張を端的にまとめると、要するに、「プログラマ(ソフトウェア開発者たち)が好き勝手にデザインをやっているのが悪い」ということになる。プログラマはとにかく機能を詰め込んでしまう傾向があるし、自分自身が上級者であるが故に上級者向けのデザインをしてしまいがちだ。それに、プログラマはコンピュータと同化しすぎているので、「知覚的なずれ」に鈍感になってしまっている。そうして出来上がってきたソフトウェアは、結果的に、ごく普通のユーザに取って使いにくいものになってしまっている。そこでソフトウェアデザインが必要になる。

 それで、クーパーは具体的な方法として次の2点を提案している。

  1. 最初にデザインをしてから開発に取りかかる
  2. そのソフトウェアの典型的なユーザ(ペルソナ)を想定した上でデザインする

 1.については、当たり前のことを言っているなという感じもする。いきなりプロトタイプを作り始めるのは止めましょう。ちゃんとデザインを固めた上で、プログラミングに着手するようにしましょう。そういうこと。

 2.が本書のキモになる部分。ソフトウェアをデザインするに当たっては、そのソフトウェアをどのようなユーザが使うのかということを想定し、彼らのプロフィールを作る。名前や年齢に始まって、職業や、そのソフトウェアをどういう目的で使うかなど、詳細なプロフィールを設定する。彼らを「ペルソナ」と呼ぶ。そして、ペルソナたちがソフトウェアにどんな要求を持つかということを分析し、ソフトウェアのデザインを決めていく。

 

 で、ここからは僕の感想。ペルソナを想定した上でデザインするというのは面白い。ソフトウェアに搭載する機能を絞り込んでいく方法としてはとても良いと思う。ただ、ニッチなソフトウェアを作るときには有用だろうが、たとえばMicrosoft Officeのような世界中のあらゆる層をユーザとするようなソフトウェアを作ろうとするときにも有用なのかは分からない。Microsoft Officeにペルソナを設定しようとしたら何百人ものプロフィールが必要になるのでは。ペルソナを使うというのは、「他のユーザのことはどうでも良いから、あるユーザにとって100点となるソフトウェアを作ろう」ということなのだと思う。

Post a comment to '[読書]コンピュータはむずかしすぎて使えない!'



September 23, 2005

[読書]研究者人生双六講義

Posted at 16:24 in アホの子だけど読んだ本を紹介しちゃうぞ . | 0 Trackbacks, 0 Comments

4000065963.09.LZZZZZZZ.jpg

 

 研究者人生双六講義
 http://www.amazon.co.jp/exec/obidos/ASIN/4000065963/250-2473531-2226663

 これは良い本だ。

 学部生や大学院生が読むことを想定して、研究/研究者とはどのようなものか書いた本なのだが、研究活動をする上で知っておくべきあれこれの知識を、要点をまとめて書いてあってなかなか有用と思う。

 たとえば、full paperとproceedingsの違いとか、投稿した論文が採録されるまでの査読プロセスがどんなふうなのか、とか。このあたりのことって、研究室に入った時点では知らなくて、そこから人に聞いたり人の話すのを聞いたりして次第に知っていくものなんだと思うんだけど、それがこうやってパッケージ化されて、書籍という形になっているのが偉い。

 とりわけ、大学院への進学を考えている理工系の学部生にお勧めしたい。

Post a comment to '[読書]研究者人生双六講義'



July 17, 2005

[書籍紹介]パターン認識の基礎理論

Posted at 21:30 in アホの子だけど読んだ本を紹介しちゃうぞ . | 0 Trackbacks, 0 Comments

isbn4-87361-853-3.gif

 薄い。たったの110ページ。そして安い。たったの1,800yen。

 内容としては、パターン認識に典型的に使われる、さまざまな手法を駆け足で紹介するというもの。第一章でパターン認識の概要を述べ(しかし、この第一章がたったの4ページしかない!)、第2章以下はひたすら各々の手法を順番に取り上げていく。

 取り上げられている手法は多岐に渡っており、やや画像認識の分野に偏っているきらいはあるが、ラインナップとしては適切と思う。しかし、なんせ一つ一つの手法に割かれるページ数が少ないので、ほんとのさわりだけを述べてそれでお仕舞いになってしまっている。

 お勧めはできない。パターン認識を学びたい人は別の本を選んだ方が良い。まず、全体的に数式をだらだらと並べるだけになってしまっており、概念図や具体例をほとんど示さないので内容を理解しづらい。次に、これだけ多くの手法を取り上げるなら、それらの相対的な位置付けを示すとともに、「この手法はこのような特徴を持ち、このような対象に適している」ということをしっかりと述べるべきだがそれが為されていない。最後に、参考文献が一つも示されていない。著者は大学の教授で、講義のレジュメをそのまま製本したのではないかと思われる。大学の講義ならちゃんと口頭で解説していくから良いのだろうけど、これだけを読まされてもちょっと困るというのが正直なところ。

Post a comment to '[書籍紹介]パターン認識の基礎理論'



July 9, 2004

[読書]進化的画像処理

Posted at 21:38 in アホの子だけど読んだ本を紹介しちゃうぞ . | 0 Trackbacks, 2 Comments

4-7856-9063-1.jpgmixiの増井俊之先生の日記で紹介されていたのを見て、面白そうなので読んでみた。面白かった。

GA&GP(遺伝的アルゴリズム&遺伝的プログラミング)の手法を使って、画像処理のフィルタを自動生成してみましょう、というのが全体を貫くテーマ。複雑な処理をする画像処理フィルタも、基本的なフィルタの組み合わせで表現できることが多いのだが、熟練した専門家であっても、その組み合わせを直感的に掴むことは容易ではない。そこで、GAやGPを使って、使い物になるだけのクオリティを持った画像処理フィルタを自動生成してやりましょう、というお話である。

文中で述べられる手法のおおまかな手順としては、まず、処理したい画像と、「こんなふうに処理して欲しい」という処理後の画像(これは手作業で作成しなくちゃならない)、そして重み付け画像を用意する。評価関数と、組み合わせる基本的なフィルタも用意する。で、GAかGPのアルゴリズムを使い、にょろにょろと実用解となるフィルタが生成されるまでプログラムを走らせる。……って、こうやって書いただけじゃいまいち分からないとおもうので、詳しく知りたい人は実際に読んでみてくださいな。

当然のことながら、最適化問題に定式化できないと扱えないため、あまり高度なことはできない(じゃあどのあたりまでなら出来るんだ、と言われると僕自身の無知もあってうまく答えるのは難しい。まず、評価関数をうまく設定できないと駄目だし、その評価関数が他の処理対象の画像にうまく適合するものでなくてはならない)。しかし、自分ではどんなふうにしたら良いのか想像も付かないようなフィルタが自動的に生成されるのはなかなかの驚きで、掲載された画像を眺めていくだけでも楽しめるとおもう。

基礎的な知識を丁寧にフォローしてあり、GAの知識がまったくなくても問題なく読めるようになっている。プログラミングリストが掲載されており、昭晃堂のサイトでダウンロードできるようになっているのもすばらしい。文句なしに刺激的な良著で、画像処理を(テーマとしている || 興味を持っている)尾内研のメンバーにはお勧めです。

Post a comment to '[読書]進化的画像処理'



June 14, 2004

読書: 『言語と計算5 情報検索と言語処理』

Posted at 12:04 in アホの子だけど読んだ本を紹介しちゃうぞ . | 0 Trackbacks, 0 Comments

4130654055.09.LZZZZZZZ.jpgこのあいだのゼミでプロフェッサー・ONAIが「この本を何度も読み返している」と仰せになったので、そんなに良い本なら読んでみようと手を着けてみた。10日くらい掛けてのんびりと読了。『言語と計算』は情報工学における自然言語処理を敷衍した全五巻のシリーズもので、この『情報検索と言語処理』ではテキストを対象とした情報検索技術を扱っている。

内容としては、まず概論から入って索引付けや接辞処理といった自然言語処理の基礎的な作法について述べ、次いでこれまでに提案されてきた主要な検索モデルを紹介している。ここまでで二章。「第3章 情報検索システムの性能評価」では検索システムを如何にして評価するかについて述べ、「第4章 言語処理技術の利用」ではテキスト検索システムにひろく使われる形態素解析、統語解析、シソーラスetcについてトピックス的に扱い、「第5章 ユーザ・インタラクション」ではフィードバックやユーザ・インターフェースについて述べられている。最後に意味論(セマンティクス)や語用論(プラグマティクス)について軽く触れてお終い。全体的に非常に見通しが良く、基礎的な知識を一通り身につけられるように構成されている。また、参考文献が豊富に挙げられているのもポイントが高い。プロフェッサー・ONAIが何度も読み返すだけのことはあって、良書だとおもう。

面白かったのはこれまでに提案されてきた検索モデルを紹介している箇所(p39〜)。いろんなアプローチがあって楽しい。名前だけ挙げておくので、気になるものがあったらぐぐるとかしてみてくださいな。amazonで本そのものをゲットしても良いし

  • ブーリアンモデル

  • ベクトル空間モデル

  • 確率モデル

  • ファジィ集合モデル

  • 拡張ブーリアンモデル

  • ネットワークモデル

  • クラスタモデル
  • 残念なのは、この本がgoogleの台頭以前に書かれているということ。また、全体を通じてインターネットへの関心も薄く、このあたりには非常に物足りなさを感じる。発行は1999年である。本書が実際に執筆されたのはYahoo!をはじめとするディレクトリ型検索エンジンが全盛だった時代で、インターネット上のテキストデータを対象とした検索技術が発展していく前夜といった時期なので、まあ仕方ないというところだろうが。五年後の今に書き直されるとしたら、また違った内容が多く含まれてくるのではないかな。Web検索に一章が割かれて、PageRankアルゴリズムの丁寧な解説がされたり、とか。

     

    この本がナイスだったんで、もう少し関連する本を漁ってみようと思う。今のところの候補はこんなところ。

    言語と計算4 確率的言語モデル
    コーパスを使った確率的な言語処理を扱った本。コーパス言語処理にはとっても関心があるので、まずこいつから逝ってみようとおもう。大学の図書館にもあるみたいだし。

    岩波講座ソフトウェア科学(15) 自然言語処理
    アルゴリズム中心に書かれた本。形態素解析のアルゴリズムとか載ってるらしい。面白いかも。

    Webマイニング
    Webデータを対象としたテキストマイニングについて書かれた本。タイトルは非常にそそるものがあるのだが、面白いのかな。

    Foundations of Statistical Natural Language Processing.』
     『Statistical Language Learning (Language, Speech and Communication Series)』
    コーパス言語処理の名著。とくに前者はバイブルと呼ばれているほどらしい。洋書なので手を着けるには勇気が要る。

    Post a comment to '読書: 『言語と計算5 情報検索と言語処理』'



    June 9, 2004

    spidering hacks

    Posted at 4:46 in アホの子だけど読んだ本を紹介しちゃうぞ . | 0 Trackbacks, 0 Comments

    spideringhacks.jpg

    spidering hacks』はWeb上のコンテンツを取得したり加工したりするためのテクニックを集めた本だ。和訳が出たのでさっそくgetしたのだが、評判に違わぬ面白さ。

    この本の良いところは、テクニックを単に適当にジャンル分けして羅列するのではなく(もちろんそういう本がダメだってわけじゃないが)、頭から読めば、きちんと段階を踏んでspider作りのノウハウを学んでいけるようになっているところだ。まずspiderとしてのマナー(robots.txtを遵守すべきことや、必要以上に相手のサーバに負担を掛けないこと)について触れ、続いてlib-www-perl や WWW::Mechanizeといったライブラリの使い方を説明し、実践的なテクニックの紹介に移るという流れになっているのだが、これはよくできた構成だとおもふ。

    amazonやgoogleの提供しているAPIや、RSSの利用など、新しめの事柄もちゃんとフォローされているのも良い。言語やライブラリを選ばず、適材適所に使い分けるという思想も宜しい(掲載されているコードの多くはperlだが、他にjava, python, PHPが使われている)。すべてのソースコードをダウンロードできるようになってるのも偉い。それにしてもCPANはすごいなぁ。

    Post a comment to 'spidering hacks'