評判のオントロジーとFOAF
パネルテーマ:オントロジーの作り方、使い方
- 語彙を作り、語彙を使ってインスタンスを記述
- ウェブにおいては、軽量オントロジーを用いて分散記述するのが主流
- 分散しているデータをどう結びつけるかというモデル(語彙設計)が重要
ユーザの評価とmicroformats
- microformats:コミュニティの合意による半構造化
- ウェブログなどに記述する内容を、XHTMLのclass属性を使って半構造化する
- 名前空間を用いず、コミュニティ内の合意によって語彙を区別
- Wikiを用いた合議スタイルによる仕様構築
- 利用が比較的簡単で、ウェブログ用のプラグインなどツールも多数
- ユーザの評価を半構造化するhReview
- hReview - microformats (2005年5月ごろ0.1登場、2007年1月時点でバージョン0.3)
- TechnoratiのReview Searchなどで利用
- XHTMLのclass属性値
hreview
を持つブロック内に、いくつかの評価class属性値を持つ要素を埋め込む。たとえば:item
:評価対象rating
:5段階評価description
:批評本文reviewer
:評者dtreviewed
:評価日
hReviewを用いた映画評の例
- XHTMLの記述
<div class="
hreview
"> <h3 class="item
fn"> <a class="url" href="http://www.flagsofourfathers.com/">父親たちの星条旗</a> </h3> <p><abbr class="rating
" title="4">★★★★</abbr> </p> <p class="description
">そもそも自分では見ていないので…</p> <p class="reviewer
vcard"> by <span class="fn">神崎正英</span>, <abbr class="dtreviewed
" title="2006-12-24">12/24</abbr> </p> </div>- 簡単に記述できるものではないが、簡易生成ツールがすぐ登場するのもmicroformatsの特徴
評価・評判のためのオントロジー
- レビューをRDFで記述する語彙
- Danny AyersとTom Heathによる軽量の実験語彙Review Vocabulary 0.2あり
- 2003年に作られてFilmTrustなどで使われ、2006年5月にhReviewを念頭に改訂
- cf: ウェブサービスの評判をエージェントが判断する詳細オントロジー
- Danny AyersとTom Heathによる軽量の実験語彙Review Vocabulary 0.2あり
- Review Vocabularyの定義
- xmlns:r="http://www.purl.org/stuff/rev#"
- 一つのレビューを表す
Review
クラスと以下のプロパティが定義されている: プロパティ domain range ノート reviewer r:Review foaf:Agent hReviewそのまま rating r:Review xsd:integer hReviewそのまま maxRating r:Review xsd:integer hReviewには対応なし minRating r:Review xsd:integer hReviewには対応なし createdOn r:Review xsd:dateTime dtreviewedに対応。dc:dateで代用 text r:Review xsd:string descriptionに対応。dc:descriptionで代用 hasReview rdfs:Resource r:Review (反対プロパティも欲しい) - ※本稿では
r:hasReview
の反対プロパティとしてr:target
を暫定的に定義し、Reviewを主語にした記述もできるようにする。
microformatsからのRDF抽出
- XSLTを用いてhReviewをRDFに変換する
- GRDDLの枠組みでレビュー・オントロジーとhReview変換用XSLTを利用できる
- hReviewをテスト記述したページから改良版XSLTを用いてGRDDLで抽出することが可能
- 抽出したRDFのグラフ
ユーザの評価や判断を記述する
- レビュー・オントロジー:評価の記述
HasReview(Resource, Review(Rating, Reviewer, Date, ...))
- Review Vocabularyのモデル
Review(Target, Rating, Reviewer, Date, ...)
- レビュー対象もReviewの中に取り込んだモデル
- タグ・オントロジー:判断や覚書きの記述
Tagged(Resource, Tagging(Tag, Agent, DateTime))
Tagging(Object, Tag, Tagger, Source [, +/-])
- (※Tagのモデルについては2007年1月17日の「タグとオントロジー」も参照)
- ユーザ記述モデルの3点セット
- いずれも基本はリソース、評価/タグ、人の3つ
レビュー検索サイトのモデル
- gooラボの場合
- オピニオン Reader for 映画はウェブログの映画評を分析して集積
- ウェブログの文章から、ある映画に関する「イメージワード」と「評判」を抽出
- Review Vocabularyの応用でモデル化可能(評判の定量化には評価関数が必要)
- オピニオン Reader for 映画はウェブログの映画評を分析して集積
人を識別する
- ユーザ記述モデルの併合には人の識別が不可欠
- 人(誰による批評/タグ)は、信頼=推薦にとっても重要
- しかし<dc:creator>神崎正英</dc:creator>ではデータ併合ができない
- RSSをはじめ、ウェブ上の既存データの多くは文字列としての作者
- 人物をエンティティとして表すことで、同一人物ならグラフが併合できる
人の識別子とグラフの併合
- どんな識別子を使って併合?
- 人に固有のURIを与える一般的な方法はなさそう
- FOAFでは通常メールアドレスURIもしくはそのSHA1ハッシュをIFPとして使う
-
foaf:mbox_sha1sum
のようなリテラル値のプロパティは厳密にはIFPにならないが、値がほぼ識別子として機能するので、実用的にはIFP代わりに使える
- hRevewやタグのように、一般にメールアドレス情報がない場合は?
逆関数プロパティとしてのウェブログ
- ホームページやウェブログもIFPになる
foaf:homepage
、foaf:weblog
はIFPとして定義されている- レビューのある個別ページとウェブログ、作者の関係(RSSなどから辿ることができる)
- すなわち、レビューが「どこに書かれていたか」(source)も重要
- IFPを含めたレビュー・オントロジーのグラフ
異なるサービスを結ぶFOAF
- ウェブログやホームページが複数ある場合
- RSSなどからは、通常ひとつのウェブログしか辿ることができない
- 同一人物のdel.icio.usタグとレビューを結び付けるには?
- FOAFを使おう
- 人物のプロフィールを表す文書(
foaf:PersonalProfileDocument
)として、所有するウェブログやホームページを列挙する <foaf:Person rdf:nodeID="me"> <foaf:name>神崎正英</foaf:name> <foaf:nick>masaka</foaf:nick> <foaf:
weblog
rdf:resource="http://blog.ex/
"/> <foaf:homepage
rdf:resource="http://del.icio.us/masaka/
"/> </foaf:Person> <foaf:PersonalProfileDocument rdf:about=""> <foaf:primaryTopic rdf:nodeID="me"/> </foaf:PersonalProfileDocument>
- 人物のプロフィールを表す文書(
IFP経由で人物が同じであることが分かると…
- レビューとタグを連動できる
-
- (OWLによる伴意によって複数の人物ノード間の
owl:sameAs
関係が導かれるので、これを利用してノードを併合したグラフ)
- (OWLによる伴意によって複数の人物ノード間の
-
レビューの信頼性とFOAF
- ホワイトリストとしての知人関係
foaf:knows
は相手への信頼の表明と解釈できる- 知人の評価を信頼する → 直接の知人による評価がなければ、知人の連鎖を(重みを付けつつ)利用することもできる
知人が評価する映画を検索する
- グラフを辿って評価を調べる
- 例)知人が4以上の評価を与えた映画をSPARQLで検索する
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX r: <http://www.purl.org/stuff/rev#> PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT ?title ?nick ?rating WHERE { ?me foaf:mbox <mailto:webmaster@kanzaki.com> . ?me foaf:knows
?friend
.?friend
foaf:nick ?nick . ?review r:reviewer?friend
. ?review r:target?movie
.?movie
dc:title ?title . ?review r:rating ?rating . FILTER(xsd:integer(?rating) >= 4) }- 間接的な知人による評価は、再帰的な探索などもう少し洗練された手法が必要
関心の共有とコンテンツ推薦
- foaf:interestを利用した協調フィルタリング
- 関心事項の「文書」を記述する
foaf:interest
- 同じ関心を持つ人々が高く評価するコンテンツは推奨に値する
- 関心事項の「文書」を記述する
関連する信頼のモデル
- 人ネットワーク、信頼ベースの推薦の研究は多数
- パーソナルネットワークを利用したコミュニティ システムの提案と分析
- 学会で発表される論文について、知人関係と誰がどの発表を聴講するかという情報に基づいて推薦を行うシステム
- Generating Predictive Movie Recommendations from Trust in Social Networks
- FilmTrustでの実験報告。映画に関する知人の信頼度を登録し、各人の映画格付けと信頼度を用いた「推薦格付け」を算出する
- パーソナルネットワークを利用したコミュニティ システムの提案と分析
- 人、信頼ネットワークの特徴
- 関心ベース(協調フィルタリング)による推薦は一般的に評価の高いものを取り出すのに対し、知人ネットワークによる推薦はより変わった(個人の嗜好に近い)ものを推薦する傾向がある
- 自分の評価が一般的評価と異なる場合、協調フィルタリングよりも人・信頼ベースの推薦のほうが自分の評価に近くなる
まとめ
- microformatsからRDFへ
- XSLTを使って変換・抽出が可能
- hRevewからレビュー・オントロジーの記述を取り出すなど
- グラフの併合と鍵ノードの識別
- 多くの場合、人物を識別することでユーザ生成情報のグラフを併合できる
- 人物の識別のために、ウェブログのURIなどがIFPとして利用できる
- FOAFを介したサービスの連動
- 一人の人が複数のウェブログやホームページを持ちうるので、PersonalProfileDocumentによる集約が役立つ
- 知人関係、関心共有などを通じたコンテンツ推薦がオープンな枠組みで可能になる
質疑応答から
- Q: オントロジーの作り方、使い方についてどう思うか?
- ウェブ・オントロジーをHTML普及のアナロジーで考えれば
- シンプルで使いやすいことが(データのウェブとしてインスタンスが広く記述されるために)重要
- 役立たないデータが量産されないよう、スキーマの妥当性、「アフォーダンス」(誤った使い方を防ぐ)が必要
- さまざまな分野を記述するドメインオントロジーが出てきて欲しいが…
- さまざまな業界XMLのような「語彙」をベースにオントロジーを充実させていくことはできる
- しかし、組み合わせて推論をしてみたらおかしな結果(モデルが不適切)、では困ってしまう
- オントロジーの検証ツール、データ記述のための使いやすいツールが重要
- ウェブ・オントロジーをHTML普及のアナロジーで考えれば
- Q: RDFデータを時間軸で管理するには?
- ひとまとまりのトリプル「セット」に日付情報を含めるアプローチ
- グラフに名前を付けるnamed graphを利用して、由来情報を扱うアプローチ(RDFの外側)
tag:
スキームURIなどでリソースの名前自体に時間軸を導入するアプローチ
- Q: セマンティック・ウェブに望むオントロジーは?
- Wikipediaオントロジーのような網羅的な概念のレポジトリに期待
- さまざまな語彙のハブとして機能する、5W1Hを記述できる基本語彙が欲しい
参照先
- 参照したリソース
- hReview - microformats
<http://microformats.org/wiki/hreview> - Review Search
<http://kitchen.technorati.com/review/search/> - Review Vocabulary 0.2, by Danny Ayers and Tom Heath,
<http://dannyayers.com/2006/05/25/review-revised-> - FilmTrust, The Trust Project@MINDSWAP
<http://trust.mindswap.org/FilmTrust/> - An ontology for Web service ratings and reputations, by Maximilien, E. Michael, Proceedings of the Workshop on Ontologies in Agent Systems 2003
<http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS//Vol-73/oas03-maximilien.pdf> - Gleaning Resource Descriptions from Dialects of Languages (GRDDL)
<http://www.w3.org/TR/grddl/> - hReview変換用XSLT, by Danny Ayers
<http://pragmatron.org/xslt/hreview2rdfxml.xsl> - 適切なRDFを抽出できるように改良したXSLT
</works/2007/pub/hreview2rdfxml.xsl> - Tag ontology design, by Richard Newman,
<http://www.holygoat.co.uk/projects/tags/> - Ontology of Folksonomy:A Mash-up of Apples and Oranges, by Tom Gruber,
<http://tomgruber.org/writing/ontology-of-folksonomy.htm> - オピニオン Reader for 映画, gooラボ
<http://opinion.labs.goo.ne.jp/> - FOAF - メタデータによる知人ネットワークの表現
</docs/sw/foaf.html> - パーソナルネットワークを利用したコミュニティ システムの提案と分析, by 濱崎雅弘ほか, , 人工知能学会論文誌, Vol. 19, No. 5, pp.389-398
<http://www-kasm.nii.ac.jp/papers/takeda/04/hamasaki04jsaij.pdf> - Generating Predictive Movie Recommendations from Trust in Social Networks, by Jennifer Golbeck, , in Proceedings of the fourth international conference on trust management
<http://trust.mindswap.org/papers/iTrust06.pdf>
- hReview - microformats