タグとオントロジー
タグとは何か
- del.icio.usのWhat are tags?から
- ブックマークなどを整理したり後で思い出すために、自分で自由に与える1語の説明
- タグは階層がなく自由なので、あてがいぶちの分類に無理に合わせる苦労がなく、扱いやすい
- ほかの人のタグと合わせて、関心事項についての協調型レポジトリを構築できる
- 統制されない自由なキーワード
- 手軽に利用でき、新しい現象もすぐタグにできる
- 既存の統制語彙では新しい動きに対応できない
- 一方、多数のユーザが与えるキーワードには、同義語、多義語が必然的に含まれる
- 手軽に利用でき、新しい現象もすぐタグにできる
- 体系化のないフラットな空間
- 階層ではなく、キーワードの組み合わせで詳細概念を柔軟に表現
- 一方、階層を利用したグループ化や関連概念の検索はできない
- 統計的なグループや関連付けはある程度可能
タグのかたち
- 対象、ユーザ、キーワードの3大要素
- タグは、タグを与える対象、タグを与えるユーザ、タグに用いられるキーワードの3つが基本構成要素
- 誰が何に対して与えるキーワードかによるタグの類型
- 自分で与えるか、第三者によって与えられるか
- 自分の作品に与えるか、第三者の作品に与えるか
システム外部からみたタグ
- ほとんどのソーシャルサービスはAPIでタグを取得できる
- 例えばFlickrのflickr.photos.getInfoを使うと次のような情報が得られる:
<photo id="2733" secret="123456" server="12" isfavorite="0" license="3" rotation="90" originalformat="png"> ... <
tags
> <tag id="1234" author="12037949754@N01" raw="woo yay">wooyay
</tag> <tag id="1235" author="12037949754@N01" raw="hoopla">hoopla
</tag> </tags
> ... </photo>- del.icio.us、はてなブックマークなどのRSSにもタグ情報が含まれる
- ∴タグを外部から利用する手段は提供されている(Web 2.0!)
- 多くのタグはURIすら持っている
- http://del.icio.us/tag/opera
- http://www.flickr.com/photos/tags/opera
- ただしこれらは必ずしも概念には対応しない(後述)
タグのデータモデル
- 既存のタグシステムによるRDF
- del.icio.usのRSSフィードはtaxo:語彙を使ってタグを記述している
<item rdf:about="http://example.org/resources/Operapage"> ... <dc:creator>masaka</dc:creator> <dc:date>2006-11-19T05:31:03Z</dc:date> <dc:subject>
opera browser
</dc:subject> <taxo:topics
> <rdf:Bag> <rdf:li rdf:resource="http://del.icio.us/tag/opera
"/> <rdf:li rdf:resource="http://del.icio.us/tag/browser
"/> </rdf:Bag> </taxo:topics
> </item>- dc:subjectにはタグの文字列そのものが列挙されている
- はてなブックマークのRSSもよく似たモデル
- これらはブックマークのウェブページの情報を素直にRSSにしたものと思われるが…
del.icio.usモデルのグラフ表現
- グラフで表現してみると
- タグのセットがRDFコンテナ(Bag)に含まれるという位置づけ
- dc:creator、dc:dateとタグの関係に注目!
リソースとタグと作者
- del.icio.us型モデルの作者とは?
- このdc:creatorはリソース(Operapage)の作者を表すが、del.icio.usのRSSではタグ付与者のユーザ名になっている
- 複数ユーザのグラフを併合したときに、同一itemに作者(この場合タグ付与者)が複数出現する一方、どのタグセットが誰によるものか識別できなくなる
- ※RDFグラフでは順序は意味を持たない
タグ・オントロジーのモデル
- なぜオントロジーが必要か
- タグの利点を生かしながら複数サービスのタグを連動させるためには、タグを記述・処理するための共通モデルが必要
- オントロジーは分類語彙集ではなく、異なるアプリケーションをつなぐもの
- タグの意味論的な違いのあるシステム間の連携は“Precision without accuracy”“Statistical fantasy”(Gruber)
- 「誰が何に対して」を表現する
- 誰が:タグを与える主体(ex.ブックマークユーザ)
- 何に対して:対象となるリソース
- どんなタグを:タグ文字列ではなくタグの表すコンセプト
- タグ・オントロジーの案
- Tom GruberのOntology of Folksonomy
- タグ共有のオントロジー・モデルの考察
- Richard NewmanらのTag Ontology
- OWLベースのオントロジーも定義されているが、完全とはいえないモデル
- Tom GruberのOntology of Folksonomy
Gruberモデルのグラフ
- Taggingノードに対してリソース、タグ、人などが並行して記述される
Newmanモデルのグラフ
- リソースがTaggingを持ち、Taggingが人などの属性を持つ
- 対象リソースがグラフの出発点(Gruberモデルと矢印が逆)
- RDFグラフの処理としては大差ない
- 日付、タグ付与者がタグセット(Taggingクラスのインスタンス)に結び付けられる
- ※Newmanオントロジーには
Operapage--taggedWithTag-->opera
という別モデルもあるが、これはリソースの主題をdc:subjectなどを用いて記述するのと同じでタグオントロジーの考え方とは違うので、ここでは取り上げない
- 対象リソースがグラフの出発点(Gruberモデルと矢印が逆)
オントロジーモデルでのグラフの併合
- 個別のタグセットの属性を保持して併合できる
- 誰がいつ付与したかという情報をタグセットごとに確認できる
なぜ人ノードが重要か:信頼の指標
- タグの数と信頼度
- 注目度(ある種の社会的評価)の目安にはなるが…
- 注目=必ずしも(自分にとって)有益、信頼できるとは限らない
- 誰が付与したタグかに基づく信頼度
- del.icio.usのsubscriptionのように、特定の人(=信頼する人)のブックマークに注目する
- ホワイトリスト:信頼できる人のタグを信頼する
- 特定のサービス内では誰が付与したタグかは自明だが、RDFではグラフが併合されるので、モデルとして「人」を保持することが重要
タグと概念
- タグ文字列は必ずしも概念ではない
- 同義語:同じ概念が「semanticweb」「semweb」などさまざまなタグ文字列で表現される
- 多義語:タグ文字列「opera」は歌劇を表すこともあればブラウザを表すこともある
- 「あとで読む」「これはすごい」など、To Doや感想のメモとしてのタグが非常に多い
- タグは概念そのものというより概念に対応する何か
- 方法1:タグ文字列をある概念のラベルとして扱う
<skos:Concept rdf:about="
http://example.org/concepts/SemanticWeb
"> <skos:prefLabel
>semanticweb
</skos:refLabel
> <skos:altLabel
>semweb
</skos:altLabel
> </skos:Concept>
- 方法2:タグリソースを概念の「表現」の一種(例えばtagformOf)として扱う
<rdf:Description rdf:about="http://del.icio.us/tag/
semanticweb
"> <ex:tagformOf
rdf:resource="http://example.org/concepts/SemanticWeb
"/> </rdf:Description> <rdf:Description rdf:about="http://del.icio.us/tag/semweb
"> <ex:tagformOf
rdf:resource="http://example.org/concepts/SemanticWeb
"/> </rdf:Description>
- 方法1:タグ文字列をある概念のラベルとして扱う
方法1:タグ文字列を概念ラベルとして考える
- メリットとデメリット
- 長所:モデルがシンプルで扱いやすい
- 短所:グラフ記述にタグ文字列→概念の変換が必要;利用者ごとのタグを保持するには別のグラフが必要
- グラフの例
- masakaが「semamticweb」、fooが「semweb」というタグで同じ「SemanticWeb」を表している場合
- このままではどちらのユーザが「semweb」というタグを与えたか分からない
方法2:タグリソースを別途概念に結びつける
- メリットとデメリット
- 長所:タグの機能と概念をきちんと分離できる;既存サービスの「タグURI」がそのまま利用できる
- 短所:モデルがやや複雑(同じ概念のタグであることが直接は分からない)
- グラフの例
- 同じくmasakaが「semamticweb」、fooが「semweb」というタグを与えている場合
同義語とタグ・オントロジー
- 同義語をあらかじめひとつの概念に対応させる
- 同じ概念の異なるラベルとして(方法1の場合)
- もしくは共通する概念の
tagformOf
として(方法2の場合)
- タグと文書、タグとユーザの共起関係から同義語を推定する
- 文書の共起率が高くユーザの共起率が低いタグは同義語である可能性が高い(cf: タグを統計解析して同義語などを選別する研究)
多義語を解決する方法の提供
- Wikipediaの曖昧さ解決(disambiguation)を応用
- Wikipediaで曖昧さ解決が行われている語句を
AmbiguousConcept
などとし、Wikipediaに対応する形であらかじめ複数概念に結び付けておく <ex:
AmbiguousConcept
rdf:about="http://example.org/concepts/opera"> <dc:description rdf:resource="http://en.wikipedia.org/wiki/Opera_(disambiguation)
"/> <ex:ambiguousFormOf
rdf:resource="http://example.org/concepts/Opera
"/> <ex:ambiguousFormOf
rdf:resource="http://example.org/concepts/Opera_(Internet suite)
"/> </ex:AmbiguousConcept>
- Wikipediaで曖昧さ解決が行われている語句を
- 関連概念をあらかじめ定義して共起タグの関係で曖昧さ解決
- Wikipediaなどを利用して関連する概念を見つけ、あらかじめ
skos:related
、skos:broader
などの関係で結び付けておく - アプリケーションは、共起タグを利用して複数の
ambiguousFormOf
のうち適切なものを推論する <skos:Concept rdf:about="
http://example.org/concepts/Opera
"> <skos:related
rdf:resource="http://example.org/concepts/Music"/> </skos:Concept> <skos:Concept rdf:about="http://example.org/concepts/Opera_(Internet suite)
"> <skos:related
rdf:resource="http://example.org/concepts/Browser"/> </skos:Concept>
- Wikipediaなどを利用して関連する概念を見つけ、あらかじめ
曖昧さ解決のタグのモデル
- 多義語を含むグラフの例
- operaというタグに対して、歌劇のオペラとブラウザのOperaの2つが対応する場合
概念の関連を利用した曖昧さ解決
- 共起概念が関連付けられていないかを調べる
- 共起しているタグに対応する概念が
skos:related
で結ばていれば、曖昧さ解決が可能
- 共起しているタグに対応する概念が
タグ付け時点での曖昧さ解決
- ほかのユーザが与えているタグ、自分が以前に用いたタグなどから候補を推薦
- del.icio.usのタグ推薦など
- コンテンツの分析によるタグの推薦
- 個人用オントロジーを利用してタグを提案するConTag
- Wikipediaを利用したタグの推薦
- Wikipedia LaboratoryによるWikipediaのオントロジー/シソーラス化とタグ推薦の試み
Wiki:集合知を利用したタグ語彙の洗練
- Wikitag
- タグのセマンティクスを利用者がWikiで定義、討議、変遷を記録
- たとえばDave BeckettによるSemantics Through the Tag
<a href="http://en.wikitag.org/wiki/opera" rel="tag">オペラ</a>
- Wikipediaとオントロジー
- 前述のWikipedia Laboratoryと、そのベースになるWikipediaのリンク構造解析によるシソーラス構築
- Wikipediaのリンク構造をそのまま記述するオントロジーの試案WikiOnt
- 英語版Wikipediaの全データからリンク構造RDFを抽出したWikipedia3
参照先
- 参照したリソース
- What are tags?, ソーシャルブックマークサイトdel.icio.usの説明ページ
<http://del.icio.us/help/tags> - Flickr Services: Flickr API: flickr.photos.getInfo
<http://www.flickr.com/services/api/flickr.photos.getInfo.html> - Where the Social Web Meets the Semantic Web, by Tom Gruber, , Keynote presentation at ISWC, The 5th International Semantic Web Conference
<http://tomgruber.org/writing/social-web-meets-semantic-web.pdf> - Ontology of Folksonomy: A Mash-up of Apples and Oranges, by Tom Gruber, , Invited paper/keynote to the First on-Line conference on Metadata and Semantics Research (MTSR'05)
<http://tomgruber.org/writing/ontology-of-folksonomy.htm> - Tag ontology design, by Richard Newman,
<http://www.holygoat.co.uk/projects/tags/> - Folksonomyの3部グラフ構造を利用したタグクラスタリング, by 丹羽智史, 土肥拓生, 本位田真一, , 第14回セマンティックウェブとオントロジー研究会
<http://www.jaist.ac.jp/ks/labs/kbs-lab/sig-swo/papers/SIG-SWO-A602/SIG-SWO-A602-07.pdf> - ConTag - A Tagging System linking the Semantic Desktop with Web 2.0, by Benjamin Horak
<http://esw.w3.org/topic/ConTag?action=AttachFile&do=get&target=ConTag.pdf> - Wikipedia Laboratory, by 大阪大学大学院 情報科学研究科 西尾研究室
<http://wikipedia-lab.org/ja/> - Semantics Through the Tag, by Dave Beckett, , presented at XTech 2006
<http://www.dajobe.org/talks/200605-semantics-tag/> - Wikipediaマイニングによるシソーラス辞書の構築手法, by 中山浩太郎,原隆浩,西尾章治郎, , 情報処理学会論文誌, Vol.47, No.10, pp.2917-2928
<http://fw8.bookpark.ne.jp/cm/ipsj/search_test.asp?flag=6&keyword=IPSJ-JNL4710004&mode=PRT> - WikiOnt: An Ontology for Describing and Exchanging Wikipedia Articles, by Andreas Harth, Hannes Gassert, Ina O'Murchu, John G. Breslin, Stefan Decker, Proceedings of Wikimania 2005
<http://sw.deri.org/~jbreslin/presentations/20050805a.pdf> - Wikipedia3 - Wikipedia in RDF, by Andreas Bolka et al.,
<http://labs.systemone.at/wikipedia3>
- What are tags?, ソーシャルブックマークサイトdel.icio.usの説明ページ