W3C und Linguistische Datenverarbeitung
Bestandsaufnahme, Perspektiven und Prognosen
Felix Sasaki, W3C
WARNUNG!
- Diese Präsentation stellte eine private Sicht der Dinge dar
- Eine "offizielle" W3C Sicht zu Linguistik gibt es (noch) nicht
- Beispiel: nicht vorhandene "Kooperation" zwischen LREC und WWW Konferenzen
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Wo ist Linguistik im W3C?
- Ein verbindender Standard: BCP 47 (IETF)
- Text: Repräsentation und Manipulation (XQuery 1.0,
XSLT 2.0)
- Metadaten zu Sprache und "locale" im Web (LTLI)
- Informationen über Text (ITS 1.0)
- Speech und Multimodalität (SSML u.a.)
- Verbindung von Ressourcen (RDDL / GRDDL)
- Metadaten über Ressourcen / semantische Annotationen (SWASDL u.a.)
Überblick
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
BCP 47: Standard zur Repräsentation von Sprachidentifikatoren
- Umfasst zur Zeit RFC 4646 ("Tags for Identifying Languages") und RFC 4647 ("Matching of Language Tags")
- (Nicht linguistische) Anwendungsgebiete:
- Sprachspezifisches layout
- Suche
- Vergleich
- Generelle Metadaten
- ...
- Linguistik: nachhaltige Korpuserzeugung und -verarbeitung
Beispiel: Sprachspezifisches Layout
<p xml:lang="zh-CN" lang="zh-CN">雪 zh-CN</p>
<p xml:lang="zh-HK" lang="zh-HK">雪 zh-HK</p>
<p xml:lang="ja" lang="ja">雪 ja</p>
<p xml:lang="ko" lang="ko">雪 ko</p>
雪 zh-CN
雪 zh-HK
雪 ja
雪 ko
Struktur von BCP 47 "language tags"
- BCP 47 language tag grammar:
langtag = (language
["-" script]
["-" region]
*("-" variant)
*("-" extension)
["-" privateuse])
File-Date: 2006-04-19
%%
Type: language
Subtag: aa
Description: Afar
Added: 2005-10-16
%%
Type: variant
Subtag: 1901
Description: Traditional German orthography
Added: 2005-10-16
Prefix: de
%%
Beispiele
Tag | Form | Bedeutung |
en | language | Englisch |
de-AT | language-region | Deutsch in Österreich |
de-CH-1901 | language-region-variant | Deutsch in der Schweiz, Ortographie von 1901 |
sr-Cyrl | language-script | Serbisch im Kyrillischen Skript |
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Textrepräsentation und Manipulation
- Nutzung von XML und Unicode (utf-8) zur Dokument und -textrepräsentation: "Folklore"
- Neue Standards zur Dokumentmanipulation: XQuery 1.0 und
XSLT 2.0:
- Gemeinsam: Daten-, Typen- und Dokumentpfadmodell, Funktionen und Operatoren sowie Serialisierungsparameter
- Unterschiedliche Anwendungsbereiche: Suche und Verknüpfung von Informationen versus Dokumentransformation
XQuery 1.0 und XPath 2.0 Volltextsuche
- "XQuery 1.0 and XPath 2.0 Full-Text"
- Erweiterung von XQuery 1.0 und XPath 2.0 um:
- Operatoren für Wort und Phrasensuche
- Matchoptionen (Stemming, Diacritics, Stopwörter etc.)
- Nutzung von Zusatzinformationen (Lexika, Algorithmen etc.) implementationsabhängig
Volltextsuche: Beispiele
Variante Inputdaten:
<s><cl>Ich mag Tübingen </cl> <cl>nicht aber Tokyo</cl></s>
<s><cl>Ich mag Tübingen nicht</cl> <cl>aber Tokyo</cl></s>
übergreifende Suche:
//s[ftcontains "nicht" && äber" window 2 words]
Nutzung von BCP 47:
//s[ftcontains "mögen" with stemming language "de"]
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Die Rolle des W3C
- Working draft zu Language and Locale Identifiers nutzt BCP 47
- Ziel: (nicht normative) Unterscheidung von "language" versus "locale", und
- ... Beschreiung der Nutzung von Identifikatoren in verteilten Szenarien
Was ist eine "locale"?
- "A Set of User Preferences"
- Posix Locale Identifier: umfasst Zeichenkodierungsinformationen
- Locale mit oder ohne Sprachinformationen? Beispiel: Zeitzonen, Währung
- Normative Definition nicht möglich
"locale" Identifier Beispiel
Unicode "Common Locale Data Registry" CLDR Locale Identifier:
locale_id := base_locale_id options?
base_locale_id := bcp_47_identifier
options := "@" key "=" type ("," key "=" type )*
Beispiel für "locale" spezifische Suche / Sortierung:
de_DE@collation=phonebook
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Internationalization Tag Set
Markup für "data categories" zur Internationalisierung und Vorbereitung von Lokalisierung:
- "Translate": Informationen zur (nicht) übersetzbarkeit
- "Localization Notes"
- "Terminology": Termidentifikation, Referenzen zu termbezogenen Informationen
- "Directionality": Direktionalitätsinformationen in Text mit verschiedenen Skripten
- "Ruby": Annotation z.B. zur Aussprache
- "Language Information": Identifikation von BCP 47 "language tags" Werten
- "Elements Within Text": Beschreibung von "nesting" Eigenschaften
ITS: Einfache "lokale" Anwendung
-
@translate
Attribut drückt übersetzbarkeit aus
- Jede "data category" beschreibt Default Werte und Vererbungsverhalten
<corpus xmlns="http://www.corpusdata.example.com"
xmlns:its="http://www.w3.org/2005/11/its"
its:version="1.0">
<head>
<title>Beispielsätze für Zweitsprachlerner</title>
<ident its:translate="no">Zweitsprachlernerkorpus</ident> [...]
</head>
<body>
<s><cl>Ich mag Tügbingen</cl> <cl>nicht aber Tokyo</cl></s>
[...]</body>
</corpus>
ITS: "globale" Anwendung (1)
- Nutzung von XPath zur Selektion von Knoten, hinzufügen von ITS Informationen:
<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
<its:translateRule selector="//cd:ident" translate="no"
xmlns:cd="http://www.corpusdata.example.com"/>
</its:rules>
<corpus xmlns="http://www.corpusdata.example.com">
<head>
<title>Beispielsätze für Zweitsprachlerner</title>
<ident>Zweitsprachlernerkorpus</ident>
[...]
</head>
<body>
<s><cl>Ich mag Tügbingen</cl> <cl>nicht aber Tokyo</cl></s>
[...]</body>
</corpus>
ITS: "globale" Anwendung (2)
- Verweis auf existierende Information, z.B. über Sprache
- Beispiel "language information data category": Existierende Informationen (vgl.
@langPointer
Attribut) entsprechen BCP 47
Werten:
<corpus xmlns="http://www.corpusdata.example.com" langinfo="de">
<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
<its:langRule selector="/corpus//*[@langinfo] langInfoPointer="@langInfo"
xmlns:cd="http://www.corpusdata.example.com"/>
</its:rules>
<head>[...]</corpus>
ITS: "Terminology" Beispiel
<corpus xmlns="http://www.corpusdata.example.com">
<head>
<title>Beispielsätze für Zweitsprachlerner</title>
<ident>Zweitsprachlernerkorpus</ident>
<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
<its:termRule selector="//cd:span[@type='term']" term="yes"
termInfoRef="http://termdatabase.example.com/entries/t4736"
xmlns:cd="http://www.corpusdata.example.com"/>
</its:rules> [...]
</head>
<body>
<s><cl>Ich mag japanische <span type="term">Spielekonsolen</span> sehr,
nicht aber amerikanische</cl></s>
[...]</body>
</corpus>
ITS: "Elements within Text" Beispiel
<corpus xmlns="http://www.corpusdata.example.com"
xmlns:its="http://www.w3.org/2005/11/its"
its:version="1.0">
<head>
<title>Beispielsätze für Zweitsprachlerner</title>
<ident>Zweitsprachlernerkorpus</ident>
<its:rules
xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
<its:withinTextRule withinText="yes" selector="//span"/>
<its:withinTextRule withinText="no" selector="//s | //cl"/>
<its:withinTextRule withinText="nested" selector="//transkriptinfo"/>
</its:rules>
[...]
</head>
<body>
<s><cl>Ich mag japanische <span type="term">Spielekonsolen</span>
<transkriptinfo>Nicht sicher: "Spielekonsolen" oder "Spielkonsolen"?</transkriptinfo>
sehr, nicht aber amerikanische</cl></s>
[...]</body>
</corpus>
Anwendungen von ITS
- Unterstützung von automatischen übersetzungstools
- Unterstützung von Lokalisierungstools
- Termextraktion
- Spellcheck Parametrisierung
- etc.
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Speech und Multimodalität
- VoiceXML 2.1
- SISR ("Semantic Interpretation for Speech
Recognition")
- SSML 1.1 ("Speech Synthesis Markup Language")
- PLS 1.0 ("Pronunciation Lexicon Specification (PLS) Version
1.0")
- EMMA ("EMMA: Extensible MultiModal Annotation markup language")
Anwendung von VoiceXML und SISR
<vxml xmlns="http://www.w3.org/2001/vxml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/vxml
http://www.w3.org/TR/voicexml20/vxml.xsd"
version="2.0" xml:lang="de">
<form>
<field name="drink">
<prompt>Was möchten Sie trinken?</prompt>
<grammar src="drink.grxml" type=äpplication/srgs+xml"/>
</field>
<block>
<submit next="http://www.drink.example.com/drink2.asp"/>
</block>
</form>
</vxml>
SISR Grammatik
#ABNF 1.0 UTF-8;
language de;
mode voice;
tag-format <semantics/1.0>;
root $order;
$order = Ich möchte $drink {out.drink = new Object();
out.drink.liquid = rules.drink.type;
out.drink.drinksize = rules.drink.drinksize;};
$kindofdrink = "Bier"{out="beer";} | "Sake"{out="sake";}
// "medium" is default if nothing said
$foodsize = {out="medium";}
[klein {out="small";} | gross {out="large";}];
// Two properties (drinksize, type) on left hand side Rule Variable
$drink = $foodsize $kindofdrink
{out.drinksize=rules.foodsize; out.type=rules.kindofdrink;};
Regel Repräsentation
{
drink: {
liquid:"beer",
drinksize:"medium"}
}
vs.
{
drink: {
liquid:"sake",
drinksize:"medium"}
}
Speech: PLS 1.0 und SSML (1.0. oder 1.1)
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="de-DE">
<lexicon uri="http://www.corpusdata.example.com/corpus_de_lexicon.pls"/>
Ich bringe Ihnen Ihre Getränke.</speak>
EMMA Beispiel
Wähle ein Getränk mit einem elektronischem Stift:
<emma:emma version="1.0"
xmlns:emma="http://www.w3.org/2003/04/emma"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2003/04/emma
http://www.w3.org/TR/2007/WD-emma-20070409/emma.xsd"
xmlns="http://www.example.com/example">
<emma:interpretation id="voice1"
emma:medium=äcoustic"
emma:mode="voice">
<command>
<action>zoom</action>
<location emma:hook="ink">
<type>area</type>
</location>
</command>
</emma:interpretation>
</emma:emma>
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Verbindung von Ressourcen
- RDDL ("Resource Directory Description Language")
- GRDDL ("Gleaning Resource Descriptions from Dialects of Languages")
RDDL
- Natursprachliche Beschreibungen über eine Zielressource
- Verlinkte Ressourcen bezogen auf die Zielressource
- "nature" der Links: URI, z.B.
http://www.w3.org/2001/XMLSchema
- "purpose" der Links, dokumentiert unter http://www.rddl.org/purposes/
RDDL Beispiel
W3C Namespace Dokumente, z.B. für ITS 1.0:
<p>This document describes the namespace of the
<rddl:resource
id="Core_Spec" xlink:title="Internationalization Tag Set (ITS) Version 1.0"
xlink:role="http://www.isi.edu/in-notes/iana/assignments/media-types/text/html"
xlink:arcrole="http://www.rddl.org/purposes#normative-reference"
xlink:href="http://www.w3.org/TR/2007/REC-its-20070404/"
xlink:type="simple" xlink:show="none" xlink:actuate="none">
<a href="http://www.w3.org/TR/2007/REC-its-20070404/">
Internationalization Tag Set (ITS) Version 1.0</a></rddl:resource>
specification (November 2006 version).[...]</p>
GRDDL
- Markup zur Extraktion von RDF kompatiblen Informationen aus nicht-RDF basierten XML Dokumenten
- Anwendung: Verknüpfung von "Semantic Web" mit anderen Semantikbeschreibungen (z.B. "Microformats")
- Anwendungsszenario: Querying sites and digital
libraries
GRDDL Anwendungsbeispiel
- Szenario: Querying sites and digital libraries
- Vorraussetzung: Inputdokumente beinhalten RDF kompatible Informationen z.B. über Autor, Thema etc.
- GRDDL Nutzung: Extraktion der Daten in ein RDF Format
- RDF basierte Datenanalyse
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Metadaten über Ressourcen / semantische Annotationen
- SWASDL ("Semantic Annotations for WSDL and XML Schema)"
<xs:element name="s"
sawsdl:modelReference="http://www.corpusdata.example.com/ontology/textualcorpus#s">
[...]
</xs:element>
Zukünftige Entwicklungen zu Metadaten / semantischen Annotationen
WARNUNG! Keine Working Groups, aber Incubator
Übersicht
- Wo ist Linguistik im W3C?
- Ein verbindender Standard
- Text: Repräsentation und Manipulation
- Metadaten zu Sprache und "locale"
- Informationen über Text
- Speech und Multimodalität
- Verbindung von Ressourcen
- Metadaten über Ressourcen / semantische Annotationen
- Perspektiven und Prognosen
Perspektiven und Prognosen
- Hosting von Ontologien?
- Standardisierung von Mechanismen ("hooks") zur Intergration linguistischer Informationen in XML Dokumente?
- TC 37 / 4 Kooperation im Rahmen von MLIF ("Multi Lingual Information Framework")?
Perspektiven und Prognosen
- W3C Standardisierung linguistischer Beschreibungskategorien? Nein
- W3C Standardisierung linguistischer (datenverarbeitungs)Prozesse? Indirekt ...
- Vermehrter Input von diversen Sprachräumen - Beispiel Indien
- Schaffung von Vorraussetzungen multilingualer Sprachverarbeitung über Zeichenkodierung hinaus