知識ベース特論 第4回 ―Semantic Web(1)― 吉岡真治 本講義のすすめかた n n 情報検索 Semantic Web – コンピュータがWebページの意味(Semantic)を理解し、 組み合わせて問題解決にあたれるようにするための 方法論 • Description Logic – 概念の定義・表現に優れた論理 – オントロジーの記述言語への論理的な裏づけ • 標準化技術 n n 授業資料(前日の午後には公開) http://www-kb.ist.hokudai.ac.jp/~yoshioka/kb/ 質問・レポートはメールで [email protected] 前回の回答(どのような情報抽出を実現し たいのか?) n 情報の要約 – 複数の情報源から情報を集めて、その差異などをまとめ たり、矛盾の発見をする。 – 検索結果から関連情報をまとめる。 – 類似の質問に関するQAサイトの結果をまとめる。 n 検索支援 – キーワードが思いつかないような場合に、断片的な情報 から候補を選ぶような支援 – ユーザーが頭に思い描いたものから検索 – キーワードの類似性を考慮した検索 – 自分が知っているもの知らないものを考慮したような検索 – 単語の意味の違いも考慮して、検索語の分野などを考慮 した検索 – ある程度、曖昧性を許容した検索 前回の回答(どのような情報抽出を実現し たいのか?) n 情報推薦・評価 – 自分と同じような趣向を持つ書き手の情報を抽出 – 評価者の評価結果の抽出 – イベントなどの評価情報の要約 n 質問応答 – あまり聞かれないような質問にも答えられるような システム n 多言語からの情報抽出 – 同じ内容について述べている日英の文章のペアを抽 出 – 多言語からの情報を用いて、様々な情報源を利用 n 知識獲得 – 常識的な知識を獲得したい。 前回の回答(どのような情報抽出を実現し たいのか?) n マルチメディア – テキストからの場所情報の特定 – 画像中に含まれる文字の検索 – 音楽の検索、どのような類似度を使うのか、気分に 応じた曲といった感性に応じた検索などを考える。 n 特定の情報抽出 – 製薬会社のページから薬と効能をまとめて整理 – イベント情報や商品の発売日をまとめて整理 – 情報源の信頼性を考慮した新しい情報が欲しい。 – 特定の商品の値段をトラッキングして、一定の値段 以下になったらメールなどで知らせる。 – お悔やみ欄などから、人口の動態情報の抽出 前回の質問 n n n n n Googleの画像検索などはどうやって実現して いるのか? テキスト以外の情報検索はどうやっている のか? 情報検索システムが原因で、誤った情報の伝 播が起こることがあるのではないか? 検索をすると、次回以降、それに関する広告 が出るが、それを止めることはできないのか? 異なる言語で同じものを検索した時に、結果が 同じように統一するような動きはありますか? 前回の質問 n n n n n n 情報検索で、どのような基準でランキングが行 われるのかは、理解が困難だ。 疑問文での検索で何が出るかに興味がある。 情報検索や情報抽出を用いたWebサービスや 研究の具体例を知りたい。 情報検索において、どのような技術発展が期 待できるのか? 現状できている一番困難な情報抽出の例を知 りたい。 最新の情報抽出の方法を知りたい。 参考資料 n n DL:Description Logics 兼岩憲、佐藤健、人工知 能学会誌 Vol.18, No.1, pp. 73-82 記述論理とWebオントロジー言語、兼岩憲、オー ム社,2009 Semantic Webの目指すもの n インターネット上にある情報を組み合わせて利用 可能な状態にする。 近くで、今、開い ている病院は? A病院への行 き方は? • 家庭の医学 • 簡単な医療 知識の提供 病院のWWWページ • 住所 • 診療時間 • 交通機関 • 乗り換え案内 のページ 医者が必要 A病院が あいている。 病院へ の行き方を 指示 子供が体調が悪いが どうしよう? テキストベースの情報検索の問題点 n テキストベースの情報検索 – キーワードを含むか含まないか – キーワードの役割を考慮しない • 例:札幌の居酒屋を探したい – ○魚や一丁 札幌駅前店 – ×居酒屋札幌の味 新宿店 n 人間が複数の情報を必要に応じて統合 – 住所→近くの駅→乗り換え案内への入力 Semantic Webを実現するためには n 情報の構造化が必要 – 札幌は住所か店の名前か? – 必要なカテゴリーとしてはどんなものがあるのか? n 表記の揺れの吸収 – 住所・場所などの異表記を統合 – 体系的な語彙の整理 • オントロジー:計算機にとっての概念化の仕様 n 推論が必要 – 医者が必要→病院を探す Semantic Web n 人間が読んで理解しやすいWebページからコン ピュータが理解できるWebページへ – 人間にとって理解しやすいページ • きれいなレイアウト – 機械にとって理解しやすいページ • 正確な内容を理解できるために、意味に関する厳 密な記述が必要 Semantic Layer Cake http://www.w3.org/2002/Talks/04-sweb/slide12-0.html Semantic Webを支える技術 Trust コンテクスト、プルーフ、暗号化と電子署名により、 エージェントが示した結果の信頼性を判断 Proof エージェントの処理の履歴、処理理由など、結果を導 いた根拠を示す (TBA) Logic 一階述語論理などを用いた知識の記述と、それに基 づくエージェントの処理 KIF, N3(?) Rules 問い合わせ、フィルタリングを可能にする共通基盤とし RDQL, N3(?) ての論理の定義 Ontology より精密な語彙の定義と、複数のスキーマの関係づ け・融合を可能にする推論 OWL, DAML+OIL RDF Schema 語彙(クラス、プロパティ)を定義する手段の提供 RDF Schema RDF MS 機械処理可能なメタデータの表現(データモデル) RDF Model & Syntax XML/ 処理が容易な記述言語(XML)と複数語彙の区別・混 Namespace 在を可能にするメカニズム(名前空間) XML,XMLNS URI/ Unicode URI,Unicode リソースのグローバルな識別(URI)と グローバルなデータ表現(Unicode) 新しいLayer Cake n Layer Cakeの修正(Tim Berners-Lee:WWW05) – Rulesの位置が変更 http://www.w3.org/2005/ Talks/0511-keynote-tbl/ n SparQL – RDFに対する検索言語 URI n URI(Uniform Resource Identifier) – インターネット上でのリソースを特定するための記述 – URL (Uniform Resource Locator) • インターネット上のアクセス可能な場所を示す • 例:http://www.hokudai.ac.jp/ – URN(Uniform Resource Name) • 永続的で場所に依存しないリソース指定のために 用意されているスキーム • 例:URN:ISBN:4-8399-0454-5 n 参考資料 – http://www.w3.org/TR/uri-clarification Unicode n 多言語を扱うためのコード体系 – 従来の言語依存のコード体系では、複数の言語を含 むページをうまく記述できない → 多言語を一括して扱う出来るコードの必要性 – 全ての文字を2バイトで表現するUCS-2と その拡張として4バイトで表現するUCS-4が存在 • UCS-2の場合は、言語に依存する異体字などをひ とまとめにしている点などについて異論がある CJK統合漢字(日中韓の異体字がひとまとめに エンコーディングスキーム n UTF (Unicode (or UCS) Transformation Format) – UCSで定義される文字集合を記号列としてエンコー ディングする手法 – よく用いられるエンコーディング • UTF-8:ASCIIコードとの親和性の高い8ビット(1 バイト)単位の可変長エンコーディング – ASCIIコードをそのまま扱うために、ASCIIコードは1バイ トで扱えるようにしているが、多くの漢字が3バイトで表 現されるため、日本語の場合には、ファイルサイズが大 きくなる場合がある。 • UTF-16:16ビット(2バイト)単位の可変長エンコ ーディング – UCS-2で表現される2バイト文字は全て2バイトの固定 長で表現される。 XML (eXtensible Markup Language)とは? n n n n 拡張マークアップ言語 W3Cが作成 文書や文書中のデータを構造を保持した形で記 述 WWWなどのネットワークによる利用が前提 <?xml version="1.0"?> <!DOCTYPE department SYSTEM "department.dtd"> <department> <employee id="J.D"> <name>John Doe</name> <email>[email protected]</email> </employee> <employee id="A.M"> <name>Alice Miller</name> <url href="http://www.trl.jp.ibm.com/~amiller/"/> </employee> </department> <!ELEMENT department (employee)*> <!ELEMENT employee (name, (email | url))> <!ATTLIST employee id CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT url EMPTY> <!ATTLIST url href CDATA #REQUIRED> XMLの文書とDTD XML in 10 points (W3Cのページから) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. XML is a method for putting structured data in a text file XML looks a bit like HTML but isn't HTML XML is text, but isn't meant to be read XML is a family of technologies XML is verbose, but that is not a problem XML is new, but not that new XML leads HTML to XHTML XML is modular XML is the basis for RDF and the Semantic Web XML is license-free, platform-independent and wellsupported XML in 10 points (W3Cのページから) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. XML は構造化データをテキストファイルに記述する方 法です XMLはHTMLに似ていますがHTMLではありません XMLはテキストで書かれますが、必ずしも直接読むわ けではありません XMLには何種類もの技術が関係しています XMLの記述は冗長ですが、それは問題ではありません XMLは新しい技術ですが、考え方はそんなに新しいも のではありません XMLはHTMLをXHTMLへと導きました XMLはモジュラー(組みあわせ可能なもの)であります XMLはRDFやSemantic Webの基礎になるものです XML はライセンスフリーでプラットホーム独立であり、 しっかりしたサポートがあります XMLに至る歴史 n SGML(Standard Generalized Markup Language) – 構造化された文書を記述するための枠組み – DTD(Document Type Definition)によるタグの定義とタグを用い た構造化 – DTDはユーザ側で作成可能であるが、完全なDTDを書くのには かなりの労力が必要 – 汎用性が高いが、記述が困難、パーザーの作成や利用するため のハードルが高い n HTML(HyperText Markup Language) – SGMLのサブセット+ネットワークへの拡張(ハイパーリンク) – シンプルなタグセット、覚えやすく、使いやすい – 文書の構造を記述するにはタグセットが不充分 XML開発の前提と方針 n 前提 – ネットワークアプリケーションへの対応 – 構造化した文書の記述が容易 – 必要に応じてユーザが拡張が可能 n 方針 – 文書の正当性の検証可能 – 文書の構造が記述でき、ユーザによる拡張が可能 ⇒ SGMLのタグの中からタグセットを厳選 – HTMLのようなハイパーリンクの機構を含む XMLの構成要素 n XML宣言 – XMLの文書であるという宣言 – XMLの基本タグセットと文法が利用可能 n DTD – ユーザが拡張するタグセット(省略可) n インスタンス – タグが付いたテキスト – XML宣言とDTDを用いて正当性がチェック – 拡張したタグセットをDTDとして与えるかどうかによって正当性の レベルを区分 • DTDあり:Valid • DTDなし:Well Formed XMLのインスタンス例 n タグを用いた階層的なデータ定義 <?xml version=“1.0”?> <!DOCTYPE department SYSTEM “department.dtd”> <department> <employee id=“J.D”> <name>John Doe</name> <email>[email protected]</email> </employee> <employee id=“A.M”> <name>Alice Miller</name> <url href="http://www.trl.jp.ibm.com/~amiller/"/> </employee> </department> :XML文書である宣言 :利用するDTDの宣言 :departmentというデータ構造 :departmentの要素 :employeeの要素 :employeeの要素 :一人目のemployeeの定義終了 :二人目のemployeeの定義 :departmentの定義終了 DTDの例 n データ構造の定義 – Valid:データ構造に関するチェックがされているもの – Well Formed:文法が間違っていないもの <!ELEMENT department (employee)*> <!ELEMENT employee (name, (email | url))> :departmentはemployeeの エントリを複数個もつ :employeeはnameとe-mail もしくはurlのエントリを持つ <!ATTLIST employee id CDATA #REQUIRED> :employeeは必須の属性として idを持ち、その属性はString タイプである <!ELEMENT name (#PCDATA)> :nameのタグで囲まれた中に データが記述される PCDATA (Parsed Character Dataに由来) <!ELEMENT email (#PCDATA)> :nameと同じ <!ELEMENT url EMPTY> :urlはエントリを持たない <!ATTLIST url href CDATA #REQUIRED> が必須の属性を持つ XMLの構成要素(まとめ) n 複数のDTDを扱うときは名前空間の管理が可能 – AというDTDのBという定義という参照が可能 文法:開始タグは終了タグで終わる必要がある。 … … … … 基本タグ(予約語):DOCTYPE, …… XML宣言 DTD インスタンス <!ELEMENT department (employee)*> <!ELEMENT employee (name, (email | url))> <!ATTLIST employee id CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT url EMPTY> <!ATTLIST url href CDATA #REQUIRED> <?xml version="1.0"?> <!DOCTYPE department SYSTEM "department.dtd"> <department> <employee id="J.D"> <name>John Doe</name> <email>[email protected]</email> </employee> <employee id="A.M"> <name>Alice Miller</name> <url href="http://www.trl.jp.ibm.com/~amiller/"/> </employee> </department> XMLの利用方法 n 文書の構造を利用した検索 – e-mailのアドレスが~の人といった検索を実現 – 単純な全文検索に比べ、検索範囲の絞込みが可能で あるため、高速でごみの少ない検索が実現 n 柔軟なデータベースとしての利用 – 関係データベースでは、データ項目を一度決めてしま うと変更が困難 – Well Formedなインスタンスを扱う場合には、データ項 目の追加や削除が容易 – ただし、データの中身や記述されているデータの種類 などの情報に関するチェックが弱い ⇒ XML Scheme, XML Dataなどの拡張が検討され ている Namespace n Namespaceとは同一の要素名を持つXML文書を区別し て取り扱うための方法 – 同じ名前のタグは同じ意味 • title:本の題 <title>XML入門</title> • title:役職 <title>部長</title> – 区別するために、<booktitle>などのタグを作っても良いが、煩雑 になる。 – あるタグセットにおけるタグであることが分かればよい。 • <book> <title> </title> <author> </author></book> • <employee><name></name><title></title></employee> – Namespaceの利用 n 例: – http://www-kb.ist.hokudai.ac.jp/yoshioka:title – xmlns:yoshioka= http://www-kb.ist.hokudai.ac.jp/yoshioka yoshioka:title XMLとWebアプリケーションの融合 n XSLによるXMLのHTMLへの変換 – データ構造に応じたHTMLの変換を支援 – データの管理とHTMLによるWebページの管理を整 理 n n Javaなどのネットワークでよく用いられる言語に 対応するパーザーなどが配布されており、利用 への敷居が低い データアクセスに対する標準化 – DOM(Document Object Model):データモデル – Simple API for XML(SAX):イベント駆動型API XMLのまとめ n n XMLは非常に実利的な規格であり、有用な枠組 みであると考えられる。 ただし、実際にデータを共有する枠組みとして利 用するためには、共通の基盤となるDTDが不可 欠であるが、この開発はそんなに容易ではない。 参考資料(XML) n W3CのXMLのページ – http://www.w3.org/XML/ n DTDやインスタンスの例は、主に「XMLとJavaに よるWebアプリケーション開発」(丸山宏他著、ピ アソンエデュケーション発行)より引用 XPath n n XMLのノードの階層構造中の特定の部分を指 定するための言語である。 詳細は、仕様を参照 – http://www.w3.org/TR/2007/REC-xpath20-20070123/ n n ノードの階層構造を指定し、対応するノードを選択 使用例 – /html/head/title HTMLファイルのhead要素のtitle部分 のノードを指定 – //a アンカータグのノードを指定 – //a[@href=‘http://www.hokudai.ac.jp’] http:// www.hokudai.ac.jpへのアンカータグのノードを指定 RDF n RDF(Resource Description Framework) – データについてのデータ(メタデータ)を記述するため の枠組み – 複数のリソース間の関係を表す – 主語(リソース)+述語(プロパティ)+目的語(オブ ジェクト:プロパティの値)の三つ組みで表現 – 例:http://www-kb.ist.hokudai.ac.jp/~yoshioka/は吉岡 真治によって作成された。 • 主語 http://www-kb.ist.hokudai.ac.jp/~yoshioka/ • 述語 作者(dc:creator) • 目的語 吉岡真治 dc:creator Http://www-kb.ist.hokudai.ac.jp/~yoshioka/ 吉岡真治 RDFの実際の表記 n XML/Namespaceに基づく表記 <?xml version="1.0" encoding="Shift_JIS" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja"> <rdf:Description rdf:about="http://www-kb.ist.hokudai.ac.jp/~yoshioka/"> <dc:creator>吉岡真治</dc:creator> </rdf:Description> </rdf:RDF> RDFにおけるデータの単位 n 複数のリソースをまとめあげて関係付ける方法 – 順序つきリスト RDF:Seq – 順序なしリスト RDF:Bag – 代替可能なリスト RDF:Alt n 文をひとまとめとして関係付ける方法 – RDF:Statement 具体例 n http://www-kb.ist.hokudai.ac.jp/~yoshioka/ は吉 岡真治により作られ、IE,Safari,Firefoxでアクセス することが出来る <?xml version="1.0" encoding="Shift_JIS" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja"> <rdf:Statement rdf:ID=“mypage"> <rdf:subject rdf:resource=" http://www-kb.ist.hokudai.ac.jp/~yoshioka/ "/> <rdf:predicate rdf:resource="# dc:creator "/> <rdf:object rdf:resource="吉岡真治"/> </rdf:Statement> <rdf:Description rdf:about=“mypage"> <access> <rdf:Alt> <rdf:li> IE </rdf:li> <rdf:li> Safari</rdf:li> <rdf:li> Firefox </rdf:li> </rdf:Alt> </rdf:Description> </rdf:RDF> Dublin Core n 書誌情報の記述を中心として、必要なメタデー タの標準を定義 – http://dublincore.org/ – 定義項目(Ver1.1) • contributor, coverage, creator, date, description, format, identifier, language, publisher, relation, rights, source, subject, title, type – 最新項目 • http://dublincore.org/documents/dcmi-terms/ Dublin Core定義情報 n n n n n Name: A token assigned to the term, unique within the term's DCMI namespace. Label: The human-readable label assigned to the term. URI: The Uniform Resource Identifier used to uniquely identify a term. Definition: A statement that represents the concept and essential nature of the term. Type of Term: The type of term, such as Element or Encoding Scheme, as described in the DCMI Abstract Model. Dublin Core 追加項目(1) n 追加項目 – Comment: Additional information about the term or its application. – See: Authoritative documentation related to the term. – References: A resource referenced in the Definition or Comment. – Refines: A Property of which the described term is a Sub-Property. – Broader Than: A Class of which the described term is a Super-Class. – Narrower Than: A Class of which the described term is a Sub-Class. Dublin Core 追加項目(2) n 追加項目(最新版で追加) – Has Domain: A Class of which a resource described by the term is an Instance. – Has Range: A Class of which a value described by the term is an Instance. – Member Of: An enumerated set of resources (Vocabulary Encoding Scheme) of which the term is a Member. – Instance Of: A Class of which the described term is an instance. – Version: A specific historical description of a term. RDFの応用事例 n RSS : サイトに書いてある情報の要約 – RDF Site summary (RSS0.9, RSS1.0) – Rich Site summary (RSS0.91) – Really Simple Syndication(RSS2.0) n 以下の情報をRDFで記述(RSS0.9, RSS1.0) – サイトの説明 – ページのリスト – ページの概要 n 利用方法 – ページの更新チェック – ニュースサイトのヘッドライン – Blogの更新情報 RSSで用いられるタグ n サイトの説明 – channel • サイトの説明 title, link, description, … • サイト内のページのリスト items – item • ページの内容を表す title, link, description RSS1.0の例 <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" > <channel rdf:about="http://www.xml.com/xml/news.rss"> <title>XML.com</title> <link>http://xml.com/pub</link> <description> XML.com features a rich mix of information and services for the XML community. </description> <image rdf:resource="http://xml.com/universal/images/xml_tiny.gif" /> <items> <rdf:Seq> <rdf:li resource="http://xml.com/pub/2000/08/09/xslt/xslt.html" /> <rdf:li resource="http://xml.com/pub/2000/08/09/rdfdb/index.html" /> </rdf:Seq> </items> </channel> RSS1.0の例(続き) <image rdf:about="http://xml.com/universal/images/xml_tiny.gif"> <title>XML.com</title> <link>http://www.xml.com</link> <url>http://xml.com/universal/images/xml_tiny.gif</url> </image> <item rdf:about="http://xml.com/pub/2000/08/09/xslt/xslt.html"> <title>Processing Inclusions with XSLT</title> <link>http://xml.com/pub/2000/08/09/xslt/xslt.html</link> <description> Processing document inclusions with general XML tools can be problematic. This article proposes a way of preserving inclusion information through SAX-based processing. </description> </item> <item rdf:about="http://xml.com/pub/2000/08/09/rdfdb/index.html"> <title>Putting RDF to Work</title> <link>http://xml.com/pub/2000/08/09/rdfdb/index.html</link> <description> Tool and API support for the Resource Description Framework is slowly coming of age. Edd Dumbill takes a look at RDFDB, one of the most exciting new RDF toolkits. </description> </item> </rdf:RDF> RSS2.0の例 n http://www.rssboard.org/の例 <?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:wordzilla="http://www.cadenhead.org/workbench /wordzilla/namespace"> <channel> <title>Really Simple Syndication</title> <link>http://www.rssboard.org/</link> <description>RSS Advisory Board announcements and RSS news< /description> <language>en-us</language> <docs>http://www.rssboard.org/rss-specification</docs> <generator>Wordzilla/0.52</generator> <cloud domain=“cadenhead.org” path=“” port=“2033” protocol=“xml-rpc” registerProcedure=“cloud.notify”/> <item> ….. </item> <item> …. </item> </channel> RSS2.0の例(続き) <item> <title>Jason Douglas Joins RSS Advisory Board</title> <link>http://www.rssboard.org/news/54/jason-douglas-joins-rss-advisory -board</link> <description> Jason Douglas, the project lead on the RSS platform at <a href="http://www.yahoo.com/">Yahoo</a> and the coauthor of an early attempt to syndicate web content, has joined the <a href="http://www.rssboard.org/">RSS Advisory Board</a>. 中略 <p>At Pointcast in 1997, Douglas worked with Castedo Ellerman of Microsoft on <a href="http://www.scripting.com/midas/cdf.html">Channel Definition Format</a> (CDF), an early attempt at XML syndication employed by Internet Explorer 4's Active Desktop feature. <p>Welcome, Jason! </description> <pubDate>Wed, 21 Jun 2006 18:10:32 -0400</pubDate> <comments>http://www.rssboard.org/news/54/jason-douglas-joins-rss -advisory-board#discuss</comments> <guid isPermaLink="false">tag:rssboard.org,2006:weblog.54</guid> <wordzilla:id>54</wordzilla:id> </item> RSSの利用例 n RSSを採用し、情報発信をしているサイト – 朝日新聞、読売新聞などの新聞サイト – Blogサイト n RSS対応のリーダ – 様々なメールソフト・Webブラウザなどに統合 – Web版なども存在 Blog(Weblog) n Web上に記述される履歴(log) – 近年流行しているWeb上への情報発信の形式 – Webの初期段階からあった日記サイトの発展 • 日記の更新情報の分散管理 – 特定サイトによる更新情報の管理→RSSによる更新情報 の管理 • 双方向性の確保 – 掲示板システムとの融合:コメントの入力 – 引用情報の追加:トラックバック – ユーザのニーズがあれば、規格が活用される好例 – 新しいインターネットコミュニティ研究の題材 まとめ n Semantic Web – コンピュータがページの意味を解釈 – Semantic Webを支える技術 • 様々な階層の技術の積み重ねによる実現 n 具体的な技術の紹介 – URL/Unicode – XML/Namespace – RDF
© Copyright 2024 Paperzz