Lycos 今日のオススメ
http://www.lycos.co.jp/new/
http://dir.lycos.co.jp/recommend/?d=20030225
にはてなアンテナが紹介されました。
キーワード分類改定案2 皆さんへお願い
はてなダイアリーのキーワードの親子関係について、色々とご意見を頂きありがとうございます。もともとこの親子関係は、
- 親子で共通の属性を何度も入力しなくてもすむ
- キーワードを閲覧した際の、閲覧性の向上
の2点を主な目的として導入しました。
1点目は、たとえばモーニング娘。にURLを登録しておけば、その構成員(たとえば加護亜依)の属性に毎回同じURLを登録しなくても良いといったことです。id:nobodyさんがおっしゃるように、オブジェクト指向の継承にあたります。また、将来的にポリモーフィズムに近い機能を考える事もできるのではないかという期待もありました。
また2点目については、特に第三者がはてなダイアリーを閲覧した際に、ある程度の分類がなされている方が遥かに閲覧性が向上すると考えたことです。日記作者は自動リンクによりキーワードにめぐり合う事ができますが、第三者(一般閲覧者)にとっては、キーワードにアクセスするための何らかのとっかかりが必要だと考えました。
これらの利点を実現するために、親キーワードと子キーワードは
キーワードAの集合にキーワードBが含まれる場合、AはBの親キーワードであり、BはAの子キーワードであるとします。
この関係は、「BはAに含まれる」「Aに含まれないものはBではない」の2文に二つのキーワードを当てはめることにより確かめる事ができます。
例:いぬは動物に含まれる ○
動物に含まれないものはいぬではない ○
→ 「動物」は「いぬ」の親キーワードです
親キーワードを登録すると、子キーワードの画面にも親キーワードの属性(住所、価格、URLなど)が表示されます。 親キーワードを変更するには、キーワード編集画面のポップアップメニューから選択をしてください。ポップアップメニューには、そのキーワードが現在登録されている階層の周辺のキーワードがツリー型に表示されます。
と定めました。
これは、恣意的になりがちな親キーワード・子キーワードの関係を明確に定義し、正しいか間違っているかを容易に判断できる事を目的としました。
ただし、この厳密な定義を適応すると、例えば「左京区」は「京都市」の子キーワードではなくなります。「左京区」は「区名」であり、「京都市」は「市名」であるからです。このような、直感的な分類との相違があると考えたため、ある程度解釈に幅を持たせ、皆さんがなされる分類を受け入れるべきだと考えておりました。
しかし、やはりこの関係に解釈の幅を認めた場合、その分け方にはどうしても個人の恣意的な要素が入ってしまい、ある人にとっては直感的に分かりやすいが、ある人にとっては非常に分かりずらい、といった現象を引き起こすことが分かりました。
そこで皆さんにお願いです。あらためて、
B の親キーワードは A である == B は A の部分集合である(A⊇B)
という定義を尊重してください。
不適切な親子関係は、適切な関係に修正してください。
適切な親キーワードがない場合には、最も親となるキーワード(はてなダイアリーキーワードなど)の直下に配置してください。
「多くのユーザーにとって有益であるため固有名詞化されたキーワード」については、そのための親キーワードを特別に用意し、そこに分類を行います。
昨日の日記では、カテゴリーをはてなが用意するといった案も書きましたが、現状のシステムで実現可能なこのルールの徹底を行い、検証したいと考えます。
よろしくお願いします。
はてなダイアリーに関するキーワード
はてなダイアリーに関することがらで、キーワードとしての形態をとることで利便性が向上すると判断したものを「はてなダイアリーに関するキーワード」と定め、これに属するキーワードをその子キーワードに登録しなおしました。
追記:上記と同様の理由で、はてなアンテナに関するキーワードを設置しました。
はてなダイアリーXSS対策
スタイルシート内での脆弱性対策として、次の行に記述を続ける事ができる行末の「\」を「\\」に置き換えるよう変更を行いました。id:hoshikuzuさん、ご指摘ありがとうございました。
キーワード編集画面の不具合
id:nobodyさんにご指摘いただいていました、キーワード編集画面の不具合について、さきほどキーワードページのURLを改めて変更した際に、見直しを行いました。コメント編集後の遷移異常は解消しているかと思いますがいかがでしょうか。
キーワード分類改定案3 ヘルプ改定
キーワードの親キーワード・子キーワードについて、ヘルプの文章を変更しました。「AはBに含まれる」という言葉を使うと、多少の曖昧さが残るため、「AはBである」としました。また、反例をいくつか挙げてみました。
キーワードAの集合にキーワードBが含まれる場合、AはBの親キーワードであり、BはAの子キーワードであるとします。
この関係は、「BはAである」「AでないものはBではない」の2文に二つのキーワードを当てはめることにより確かめる事ができます。
例:いぬは動物である ○
動物でないものはいぬではない ○
→ 「動物」は「いぬ」の親キーワードです
例:審判はカフカである ×
カフカでないものは審判ではない ×
審判は文芸作品である ○
カフカは作家である ○
→ 「カフカ」は「審判」の親キーワードではありません
例:日本はアジアである ×
アジアでないものは日本ではない ×
日本は国である ○
アジアは地域である ○
→ 「アジア」は「日本」の親キーワードではありません。
以上の例を参考に、厳密に親キーワードを登録してください。
継承の利点 多重継承
継承の利点について、同様の内容をどなたかが言及されていましたが(すみません、見失ってしまいました)、あらためて分かりやすく、当初からの意図をご説明します。例えば
- 動物
- いぬ
という親子関係があった場合、「コーギー」の説明としては、「足が短い」といった固有の性質について書けばよく、「4本足である」といった「いぬ」に共通の説明はその親キーワードに書けばよいことになります。
この場合、「いぬ」の事が分からない人は「いぬ」のページに行ってその説明を遡って読むことができ、「いぬ」についてはよく知っている人は「コーギー」特有の説明だけを読めばいいことになります。
同様に、「運動性がある」と言った「動物」共通のことは、「いぬ」ではなく「動物」に書くことができます。
一度「いぬ」に「4本足である」という説明文をつければ、次に「ミニチアダックスフンド」がその子キーワードとして登録された場合にも、やはりその説明文となり得ます。
キーワードの親子関係によって期待していた継承の効果はこのようなものです。
また、「村上春樹」は「小説家」であり「翻訳家」である、といった場合の問題(これを多重継承(いくつもの性質を継承することができる)問題と呼ぶ事にします)については、「小説家」と「翻訳家」のそれぞれの子キーワードとして「村上春樹」を登録する事で対応を図ろうと考えています。
id:phaさんや、id:candoさんにご提案いただいております属性による分類も、この多重継承の問題と同一であると思います。
つまり、「村上春樹」に「小説家」と「翻訳家」という二つの属性を登録するのか、「小説家」と「翻訳家」のそれぞれに「村上春樹」を登録するのか、という相違があるだけだと考えます。
この際、属性を登録するシステムの場合には、どのような属性を登録する事ができるのかをさらに何処かに規定しなければならず、仮にそれがキーワードであるとすれば、システムとしては何ら変わらない物になるのではないでしょうか。
id:phaさんの「1980年にイギリスで書かれた歌舞伎を量子力学の観点から分析する本」の例では、「論説」等が親キーワードであり、「歌舞伎」「量子力学」「イギリス」「1980年代」については説明文章内のキーワードリンクを利用して互いを参照する方法はいかがでしょうか。