文書資源の基礎: xml

47
文文文文文文文XML 2006 年 6 年 2 年 COE21-LKR 年年年年年年年年 年年年 年年

Upload: temima

Post on 25-Jan-2016

57 views

Category:

Documents


1 download

DESCRIPTION

文書資源の基礎: XML. 2006 年 6 月 2 日 COE21-LKR 認知的知識資源論 徃住研・松 本. 文書資源を扱う. 文字→記号→ 文書 →知識 文書を知識資源として扱うには... XML というものを使用する方法がある.  本日の講義では,文書を扱う枠組みとしての XML という視点で紹介をおこなう.. XML とは?. XML (E x tensible M arkup L anguage) 拡張性のある, テキストに印をつけるための言葉. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 文書資源の基礎: XML

文書資源の基礎: XML2006年 6月 2日

COE21-LKR 認知的知識資源論徃住研・松本

Page 2: 文書資源の基礎: XML

2006/06/02 2

文書資源を扱う 文字→記号→文書→知識

文書を知識資源として扱うには...

   XML というものを使用する方法がある.

 本日の講義では,文書を扱う枠組みとしての XMLという視点で紹介をおこなう.

Page 3: 文書資源の基礎: XML

2006/06/02 3

XML とは? XML (Extensible Markup Language)

拡張性のある,テキストに印をつけるための言葉

参考:たのしい XML: http://www6.airnet.ne.jp/manyo/xml/index.html

Page 4: 文書資源の基礎: XML

2006/06/02 4

印をつけるための言語 印をつける=意味(印)付けをする markup の例

Tag: <name>Natsume</name>, [name] Natsume[name],…

Tab: name Natsume ← 左が意味,タブを挟んで内容

Colon: name: Natsume ← 左が意味,コロンを挟んで内容

Page 5: 文書資源の基礎: XML

2006/06/02 5

XML が採用した markup 方式 tag(タグ )方式→記号は,” <“, “>”

start tag(開始タグ), end tag(終了タグ)で挟む

end tagは,” /”を最初に付ける例: <name> 夏目漱石  </name>

開始タグ 内容 終了タグ

Page 6: 文書資源の基礎: XML

2006/06/02 6

歴史: XML ができるまで

HTMLを, XML処理系で扱えるように定義しなおした言語.

SGML

XML

HTML

XHTML

簡素化,改良インターネット用

1980年代

Page 7: 文書資源の基礎: XML

2006/06/02 7

SGMLStandard Generalized Markup Language

インターネット用ではない,汎用の文書処理. 例.自動車のマニュアルドキュメントなど

ドキュメントの「論理的な構造」をテキストで表現して交換する(「見栄え」については交換不可能.)

デメリット: 不要な機能が実装され理解が困難 レイアウト構造が反映されないSGML文書

マニュアルタイトル

はじめに製品概要

本文

Page 8: 文書資源の基礎: XML

2006/06/02 8

XML をつくる人たち 世界でネットワーク業界に力を持つ団体

ウェブの概念を作った W3C が開発 W3C:World Wide Web Consortium

WWW 技術の標準化と推進を目的とした、会員制の国際的な産業コンソーシアム

http://www.w3.org/ ホスト: MIT(USA), INRIA(Fr), Keio(Japan) 成果物: XML, HTML, XHTML, SVG, SOAP, RDF

,...

Page 9: 文書資源の基礎: XML

2006/06/02 9

XML は “ Internet standard”

XML 文書には, UTF-8 を使用→防文字化け・処理ミスhttp://www.unicode.org/

http://www.w3.org/TR/2003/NOTE-unicode-xml-20030613

文字コードを, UNICODE を標準採用することで,世界中の文字を利用可能

メタ言語方式として Tag 方式を採用した→<tag>contents</tag> 挟み込みで対応→ つまり XML では, tab, space, LF, CR は無視

世界規模・国際間・言語間データ通信エラーを潜在的に回避する仕様

Page 10: 文書資源の基礎: XML

2006/06/02 10

XML の “ Extensible”

XMLのデータ処理は, XML Parserを使う

→Parserは,”タグ名”で検索して内容を取得するため データの追加(拡張)は,問題なく対応できる データの順序変更も,問題なく対応できる

<?xml version="1.0" encoding="UTF-8"?><environment>

<weather>fine</weather><temperature>30.1</temperature>

</environment>

<?xml version="1.0" encoding="UTF-8"?><environment>

<temperature>30.1</temperature><humidity>68</humidity><weather>fine</weather>

</environment>データ拡張

Page 11: 文書資源の基礎: XML

2006/06/02 11

XML 文書の構成

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE personal [<!ELEMENT personal (name,age,sex,address)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)><!ELEMENT sex (#PCDATA)><!ELEMENT address (#PCDATA)>

]>

<personal><name>Akutagawa Ryunosuke</name><age>31</age><sex>male</sex><address>Tokyo</address>

</personal>

XML Declaration (XML 宣言)

Schema (スキーマ)DTD (Document Type Definition)

XML Instance (XML インスタンス)

Page 12: 文書資源の基礎: XML

2006/06/02 12

XML 文書の構成

<?xml version="1.0" encoding="UTF-8"?>→XML Declaration (XML 宣言)

<!DOCTYPE personal [<!ELEMENT personal (name,age,sex,address)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)><!ELEMENT sex (#PCDATA)><!ELEMENT address (#PCDATA)>

]>

<personal><name>Akutagawa Ryunosuke</name><age>31</age><sex>male</sex><address>Tokyo</address>

</personal>

Schema (スキーマ)DTD (Document Type Definition)

XML Instance (XML インスタンス)

XMLのバージョン宣言,文字コードの宣言などをおこなう.

Page 13: 文書資源の基礎: XML

2006/06/02 13

XML 文書の構成

<!DOCTYPE personal [<!ELEMENT personal (name,age,sex,address)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)><!ELEMENT sex (#PCDATA)><!ELEMENT address (#PCDATA)>

]>

→Schema (スキーマ)

XML Instance (XML インスタンス) <personal><name>Akutagawa Ryunosuke</name><age>31</age><sex>male</sex><address>Tokyo</address>

</personal>

<?xml version="1.0" encoding="UTF-8"?>→XML Declaration (XML 宣言)

タグ付きデータに現れる要素,属性,エンティティなどの宣言をおこなう部分.文書構造の定義をおこなう.

Page 14: 文書資源の基礎: XML

2006/06/02 14

XML 文書の構成

<personal><name>Akutagawa Ryunosuke</name><age>31</age><sex>male</sex><address>Tokyo</address>

</personal>

→XML Instance (XML インスタンス)

<!DOCTYPE personal [<!ELEMENT personal (name,age,sex,address)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)><!ELEMENT sex (#PCDATA)><!ELEMENT address (#PCDATA)>

]>

→Schema (スキーマ)DTD (Document Type Definition)

<?xml version="1.0" encoding="UTF-8"?>→XML Declaration (XML 宣言)

実際のタグ付き文書が書かれる部分

Page 15: 文書資源の基礎: XML

2006/06/02 15

Schema( スキーマ )

スキーマは, XML に固有のタグ名・構造などを与える文書構造の定義

XML はタグの設計を自由に行える <name> 芥川龍之介 </name> <namae> 芥川龍之介 </namae>

→ つまり,同意味に対して複数の定義が可能→ データ通信で複数定義があると問題

Page 16: 文書資源の基礎: XML

2006/06/02 16

Schema( スキーマ ) の種類 XMLのスキーマは複数存在する

DTD (Document Type Definition)→公式サイトなし SGML時代から使っており実績がある

W3C XML Schema W3C作成の為今後のスタンダード 複雑

Relax NG 国産スキーマ W3C XML Schemaが策定されるまで一時的に使うなど・・

Page 17: 文書資源の基礎: XML

2006/06/02 17

スキーマリポジトリ(一般) 同じ分野でスキーマが開発されていないか,独自開発する前に検索すべき

URL 説明

http://www.xml.org/ [Registry]より検索http://www.schema.net/ ジャンル毎別れているBizTalk Initiative http://www.biztalk.org/ 電子商取引OAG http://www.openapplicatoins.org/ 統合業務パッケージOASIS http://www.oasis-open.org 電子商取引RosettaNet http://www.rosettanet.org 電子商取引

Page 18: 文書資源の基礎: XML

2006/06/02 18

XML 文書の種類 整形式 XML文書 (well-formed XML document)

開始タグと終了タグの対応がある, 要素タグの論理構造が合っている,など

検証済み XML文書 (valid XML document) DTD(もしくは,スキーマ)の中の要素型宣言によって定義された要素の階層関係に従って,タグ付けがおこなわれている

ただのテキスト文書

整形式 XML文書

検証済みXML文書

Page 19: 文書資源の基礎: XML

2006/06/02 19

インスタンス部分:タグ付け

Element(要素)の書き方 Element(要素):タグで囲まれた文字列

例:  <name>芥川龍之介 </name>

content

<要素名> (内容) </要素名>

Element (要素)

start-tag(開始タグ)

end-tag(終了タグ)

Page 20: 文書資源の基礎: XML

2006/06/02 20

XML の基本文法ルール 要素(タグ名)は自由に設計できる 大文字・小文字は区別 ルート要素は1つのみ 入れ子構造に厳格

○<a><b></b></a> ×<a><b></a></b>

終了タグは必ず必要 内容が無い空要素の場合

<break></break> <break /> ← 半角スペース

Page 21: 文書資源の基礎: XML

2006/06/02 21

例:テキスト講義名: COE21-LKR 認知的知識資源論 単位数: 2-0-0担当教員:徃住彰文講義のねらい知識資源の設計,収集,獲得,蓄積,利用に関する基本知識を整理する.特に,認知科学的観点から知識資源研究にアプローチするための基本技能の習得をめざす.知識資源を,文字,記号,文書,知識資源,大規模知識資源として扱う方法を概観し,電子的(ディジタル化した)表現法,計算的(プログラミング言語やツールによる)操作法の基礎を学ぶことが主たる内容である.

成績評価学期末までに提出するレポート一篇の成績に基づく

テキストなどなし.

担当教員から一言人間行動システム専攻における実習授業「 COE21-LKR知識資源活用実習」(中川・赤間)と相互補完的な関係にある.

Page 22: 文書資源の基礎: XML

2006/06/02 22

例:タグ付けをおこなう<?xml version=“1.0” encoding=“UTF-8” ?><lecture>

<name>COE21-LKR 認知的知識資源論 </name><tani>2-0-0</tani><lecturer> 徃住彰文 </lecturer> <aim> 知識資源の設計,収集,獲得,蓄積,利用に関する基本知識を整理する.特に,認知科学的観点から知識資源研究にアプローチするための基本技能の習得をめざす.知識資源を,文字,記号,文書,知識資源,大規模知識資源として扱う方法を概観し,電子的(ディジタル化した)表現法,計算的(プログラミング言語やツールによる)操作法の基礎を学ぶことが主たる内容である. </aim><evaluation> 学期末までに提出するレポート一篇の成績に基づく. </evaluation><text> なし. </text> <comment>人間行動システム専攻における実習授業「 COE21-LKR 知識資源活用実習」(中川・赤間)と相互補完的な関係にある. </comment>

</lecture>

Page 23: 文書資源の基礎: XML

2006/06/02 23

例:タグの意味

lecturename

講義全体講義名

tani 単位数lecturer 担当教員aim 講義のねらいevaluation 成績評価text テキストcomment 担当教員から一言

Page 24: 文書資源の基礎: XML

2006/06/02 24

DTD(Document Type Definition)をつくる(自分でつくる場合)

まずは必要なデータを考えてつくってみる(自由に設計することができる).

<lecture><name>COE21-LKR 認知的知識資源論 </name><tani>2-0-0</tani><lecturer> 徃住彰文 </lecturer> <aim> 知識資源の設計・収集・蓄積・利用に関する基本知識を整理する. </aim><evaluation> 学期末までに提出するレポート一篇の成績に基づく. </evaluation><text> なし </text> <comment>人間行動システム専攻における実習授業「 COE21-LKR 知識資源活用実習」(中川・赤間)と相互補完的な関係にある. </comment>

</lecture>

設計したデータ ( 構造 ) 以外を認めないようにスキーマ (DTD) を設計する

Page 25: 文書資源の基礎: XML

2006/06/02 25

XML 文書内に記述する方法(Internal Subset)

<?xml version=“1.0” encoding=“UTF-8” ?><!DOCTYPE lecture [

<!ELEMENT name (#PCDATA)><!ELEMENT tani (#PCDATA)><!ELEMENT lecturer (#PCDATA)><!ELEMENT aim (#PCDATA)><!ELEMENT evaluation (#PCDATA)><!ELEMENT text (#PCDATA)><!ELEMENT comment (#PCDATA)>

]>

<!DOCTYPE rootelement [    DTD 記述]>

DTD記述

基本形

Page 26: 文書資源の基礎: XML

2004/11/25 26

DTD まとめ XMLの文書構造を規定するスキーマ言語の1つ 将来は,W3C XML Schemaに置き換わる (というか現在進行形で置き換わりつつある)

DTDよりも細かくデータ型を指定できる. 名前空間が使用可能(本講義では説明略)

(しかしながら, XML Schemaも, DTDを理解していたほうが理解しやすい)

Page 27: 文書資源の基礎: XML

2006/06/02 27

Web Browser の XML 処理機能 最新ブラウザでは, XML 文書を簡易処理できる機

能が搭載されている well-formed XML 文書チェック XML 文書を Tree 表示(上記をクリアすると表示) 簡易 XSL 処理(本講義では説明略) その他, plugin機能により機能拡張可能

サンプル

Page 28: 文書資源の基礎: XML

2006/06/02 28

その他(本講義では説明略)

XHTML (Extensible HyperText Markup Language) Webページ記述言語である HTML を, XML 処理系

であつかるように変更したもの XSL (Extensible Stylesheet Language)

XML データをウェブページとして表示させるための言語

W3C XML Schema : XML 名前空間( Namespace in XML) 世界で一意の URI を使って,タグの重複を防ぐ

Page 29: 文書資源の基礎: XML

2006/06/02 29

XML の使用例1. 身近な XMLドキュメント

Messenger 各商品タグ,各文書

2. Corpus of Spontaneous Japanese (CSJ) プロジェクト

話し言葉コーパスのあつかい

3. TEI (Text Encoding Initiative) プロジェクト 人文科学的文書資源のあつかい

Page 30: 文書資源の基礎: XML

2006/06/02 30

1. 身近な XML ドキュメント Messenger

Page 31: 文書資源の基礎: XML

2006/06/02 31

2. Corpus of Spontaneous Japanese (CSJ) プロジェクト 話し言葉コーパス

開発は,国立国語研究所,通信総合研究所,東京工業大学(古井貞煕教授)

コーパス 電子化された自然言語の文章をおさめたテキストデータ

現代日本語の自発音声のデータベース 約 750 万語 [about 7,500,000 words] 約 600時間 [about 600 hours]

対象:主に講演 [Target: lecture, mainly] まとまった内容を持つ [definite contents] 全曲共通語 [a common language] モノローグ音声 [monologue]

サンプル音声

Page 32: 文書資源の基礎: XML

2006/06/02 32

音声を書き起こして, その後 XML文書化

2. Corpus of Spontaneous Japanese (CSJ) プロジェクト

Page 33: 文書資源の基礎: XML

2006/06/02 33

3. TEI (Text Encoding Initiative)

http://www.tei-c.org/ Text Encoding Initiative 文学的,言語学的文章のマークアップに特化

した XML スキーマ原文書の印刷上の特徴をマークアップする

ことに焦点を置いている.そのほかに,効果的な検索や索引作成、比較

なども可能.

Page 34: 文書資源の基礎: XML

2006/06/02 34

TEI の歴史 1987: ACH (the Association for Computers

and the Humanities) at Vassar College 1990: TEI P1 SGML 1994: TEI P3 1999: TEI P3 (1999 revised edition) 2002: TEI P4 XML 2004: TEI P5 (not yet) *** TEI LITE;;; for customization *** Pizza Chef

Page 35: 文書資源の基礎: XML

2006/06/02 35

そもそも文学とは...単語の意味や文章の構造はもちろん大切. でも,単語や文章の意味だけではない !!!⇒ 文章の意味を補助するものとして,印刷上の工夫がなされている. e.g. 強調(太字・斜体),字下げ,余白,改行な

ど 文章の深みを出したり,効果を高めたり... 例.小説,詩,脚本など

TEIでは,文章のこうした側面を区別できるマークアップ方法を提示している.

Page 36: 文書資源の基礎: XML

2006/06/02 36

<p>Oh speake againe bright Angel, for thou art <br>As glorious to this night being ore my head, <br>As is a winged messenger of heauen <br> Vnto the white vpturned wondring eyes, <br> Of mortalls that fall backe to gaze on him, <br> When he bestrides the lazie puffing Cloudes, <br> And sayles vpon the bosome of the ayre. <br>  O Romeo, Romeo, wherefore art thou Romeo? <br> Denie thy father and refuse thy name: <br> Or if thou wilt not, be but sworne my loue, <br> And ile no longer be a Capulet. <br> Shall I heare more, or shall I speake at this? <br>...</p>

HTML ファイル

Shakespeare の Romeo and Juliet

Page 37: 文書資源の基礎: XML

2006/06/02 37

Shakespeare の Romeo and Juliet

Oh speake againe bright Angel, for thou art <lb/> As glorious to this night being ore my head, <lb/> As is a winged messenger of heauen <lb/> Vnto the white vpturned wondring eyes, <lb/> Of mortalls that fall backe to gaze on him, <lb/> When he bestrides the lazie puffing Cloudes, <lb/> And sayles vpon the bosome of the ayre. <lb/> <q type=“spoken” who=“Juliet”>O <persName key=“romeo”>Romeo</persName>, <persName key=“romeo”> Romeo</persName>, wherefore art thou <persName key=“romeo”> Romeo</persName>? <lb/> Denie thy father and refuse thy name: <lb/> Or if thou wilt not, be but sworne my loue, <lb/> And ile no longer be a <placeName key=“capulet”><persName key=“capulet”>Capulet</persName></placeName>. </q> <lb/> <q type=thought” who=“romeo”>Shall I heare more, or shall I speake at this? </q><lb/>

TEI の DTD を使うと...

→TEIにより、多くの意味を持った内容を付け足すことが可能.  →たとえば, “ Julietの発話だけ斜体にしたい”といった要求に耐えうる.

Page 38: 文書資源の基礎: XML

2006/06/02 38

文学をあつかっている他プロジェクトとの比較 (e.g.) Project Gutenberg (http://www.gutenberg.org/)

文学的、歴史的作品 無料で一般に公開 目標:プレーンな ASCIIで文章を作成すること

どんな強調も → 太字  段落 → 空白行

これはこれで,テキスト利用者がテキストを自由に再構成できるという利点がある.

TEIでは文書作成側による明示的構成がされている 自動化されたツールでの処理や解析は容易になる.

Page 39: 文書資源の基礎: XML

2006/06/02 39

TEI にできること文書に対して,豊富な意味をもった

マークアップが可能.過去の出版物を表現可能

( e.g. ) 聖書 ( e.g. )カントの「純粋理性批判 」の「 A版」「B版」

TEIを用いたプロジェクト http://www.tei-c.org/Applications/index.html

Page 40: 文書資源の基礎: XML

2006/06/02 40

ほかに,文学をあつかうプロジェクト

Project Gutenberghttp://promo.net/pg/

Oxford Text Archivehttp://ota.ahds.ac.uk/

Electronic Text Center, UVahttp://etext.virginia.edu/

青空文庫http://www.aozora.gr.jp/

Page 41: 文書資源の基礎: XML

2006/06/02 41

XML 編集ソフト紹介◎XMLSPY (Windows のみ )

http://www.xmlspy.com/ XML統合開発環境.他の追撃を許さない.完璧.

○EmEditor (Windows のみ ) http://www.emeditor.com/ Text Editor としては高性能.シェアウェア.

○JEdit (Mac のみ ) http://www.artman21.net/product/Jedit4 Text Editor としては高性能.シェアウェア.

○Emacs (UNIX系 ) PSGML など http://db-www.aist-nara.ac.jp/xml/psgml/

Page 42: 文書資源の基礎: XML

2006/06/02 42

参考文献 XML 完全解説(上下)

技術評論社

Page 43: 文書資源の基礎: XML

2006/06/02 43

用語辞典 (Internet)

IT 用語辞典 e-Words

http://e-words.jp/ アスキーデジタル用語辞典

http://yougo.ascii24.com/ XML 用語辞典

http://www.atmarkit.co.jp/fxml/dictionary/indexpage/xmlindex.html

Webopedia from internet.com

http://webopedia.internet.com/

Page 44: 文書資源の基礎: XML

2006/06/02 44

参考サイト (XML 関連) World Wide Web Consortium (W3C)

http://www.w3.org/ アットマーク・アイティ ” XML, Web Services”

http://www.atmarkit.co.jp/fxml/ たのしい XML: XML/XHTML入門ページです http://

www.cityfujisawa.ne.jp/~yanai/xml/ XML Consortium (Japan)

http://www.xmlconsortium.org/ 日本 XMLユーザーグループ

http://www.xml.gr.jp/

Page 45: 文書資源の基礎: XML

2006/06/02 45

参考サイト (XSL/XSLT 関連) World Wide Web Consortium (W3C) XSL/XSLT

http://www.w3.org/Style/XSL/ 「サンプルで覚える XSLT プログラミング」(小山尚彦)

http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt00.html Arkサイト XML アカデミー(ジャストシステム)

http://www.justsystem.co.jp/ark/xml/ XSLT仕様(日本語訳)(インフォテリア)

http://www.infoteria.com/jp/contents/xml-data/REC-xslt-19991116-jpn.htm

Apache Software Foundation Cocoon 2 (Server Side XSLT)

http://cocoon.apache.org/

Page 46: 文書資源の基礎: XML

2006/06/02 46

参考サイト・文献 ( 文字コード) UNICODE

http://www.unicode.org/ 日本語文字コード: ASH Multimedia lab

http://ash.jp/code/ 文字コード超研究 深沢 千尋 (著 )

http://www.rutles.net/books/051.html

株式会社ラトルズ刊 ISBN4-89977-051-0

Page 47: 文書資源の基礎: XML

2006/06/02 47

参考サイト (XML Parser) DOM (Document Object Model) @ W3C

http://www.w3.org/DOM/ SAX (Simple API for XML)

http://www.saxproject.org/ XPP (XML Pull Parser)

http://www.extreme.indiana.edu/xgws/xsoap/xpp/ Sun XML Parser

http://java.sun.com/xml/ Microsoft XML Parser

http://msdn.microsoft.com/xml/ Expat (C++)

http://www.jclark.com/xml/expat.html Xerces (C++, Java2, Perl) Apache S/W Founda.

http://xml.apache.org