Ubiquity: Interfaces and Internationalization インターフェースと国際化

Preview:

DESCRIPTION

Slides from an ITSP special lecture at Chuo, Waseda, and Keio Universities, June 3rd, 2009. 文部科学省ITスペシャリスト育成プログラムの2009年6月3日特別講義のスライド。

Citation preview

mitchoMichael 芳貴 Erlewine

ITSP special lecture, TokyoJune 3, 2009

ubiquity:インターフェースと国際化

今日は二つの問題の話

問題1

「インターフェース」という問題

~1980: GUIが生まれる

= Graphical User Interface

“Desktop” metaphor

WIMP:• Window

• Icon

• Menu

• Pointer (mouse)

CC-BY-NC-SA: flickr.com/photos/pixcat/2324175139/

1984

1997

2001

あまり変わっていない

機能が増えればどうすれば良いのか

ボタンを増やす?

メニューを増やす?

CC-BY-SA: flickr.com/photos/daveduarte/2678853923/

from http://tecfa.unige.ch/~nova/img/lopez1.png

Aza RaskinCC-BY-NC: flickr.com/photos/santheo/2360961001/

ACM interactions 2008

text-based interface

“Standard GUIs, with their drop-down menus, check buttons, and tree-lists, cannot compare to the range of options that a text interface effortlessly provides. With just five alphanumeric characters, we can choose one out of 100,000,000 possible sequences... It’s difficult to come up with a non-text-based interface that can perform as well.”

?

text-based interface

“...maybe this confusion isn’t the fault of command-line interfaces in general; maybe it’s just the command lines we’re used to. If commands were memorable, and their syntax forgiving, perhaps we wouldn’t be so scared to reconsider these interface paradigms. Perhaps the linguistic command line is the future of computing.”

text-based interface

“...maybe this confusion isn’t the fault of command-line interfaces in general; maybe it’s just the command lines we’re used to. If commands were memorable, and their syntax forgiving, perhaps we wouldn’t be so scared to reconsider these interface paradigms. Perhaps the linguistic command line is the future of computing.”

自然言語インターフェース

ubiquity

目的:

方法:

目的:ウェブをより有益に、より使いやすく

方法:

目的:ウェブをより有益に、より使いやすく

方法:

言葉を使った自然なインターフェース

ちなみに...

ubiquity = 遍在

デモ

open APIs

*JavaScript

verbs*

*JavaScript

CmdUtils.CreateCommand({name:"flip-page",preview:"Flipstheentirepageupsidedown."+"<spanstyle='-moz-transform:rotate(180deg)'>"+"Usefulforbats</span>.",execute:function(){vardocument=CmdUtils.getDocument();varmatrix=jQuery(document.body).css("-moz-transform");jQuery(document.body).css("-moz-transform","rotate("+(getRotationFromMatrix(matrix)+Math.PI)+"rad)");}});

ubiquity

Mozilla Labsの実験的プロジェクトのひとつ2008年8月にアルファ公開

目的: ウェブをより有益に、より使いやすく方法: 言葉を使った自然なインターフェース先例: Enso, QuickSilver, GNOME Do等ロゴ: かわいいロボット「ubiquibot」http://ubiquity.mozilla.comhttps://wiki.mozilla.org/Labs/Ubiquity/

ubiquity

問題2

「国際化」という問題

ちなみに...

「国際化」

ちなみに...

「国際化」= (ソフトウェアの)

internationalization/localization

ちなみに...

「国際化」= (ソフトウェアの)

internationalization/localization

= (貿易、情報の)

globalization

ちなみに...

「国際化」

= (貿易、情報の)

globalization

The multilingual internet:

1. The Internet is disconnected by language. ウェブは言語で分断されている。

The Internet, 2005CC-BY: commons.wikimedia.org/wiki/File:Internet_map_4096.png

The Internet, 2005: jp, cn, tw, au, deCC-BY: commons.wikimedia.org/wiki/File:Internet_map_4096.png

The Internet, 2005CC-BY: commons.wikimedia.org/wiki/File:Internet_map_4096.png

The Internet, 2005: ut, it, pl, frCC-BY: commons.wikimedia.org/wiki/File:Internet_map_4096.png

The multilingual internet:

2. The tools of the future must be multilingual. これからのツールは他言語対応でなければいけない。

「国際化」

「国際化」= (ソフトウェアの)

internationalization/localization

「国際化」

ubiquity 0.1

English 日本語

ubiquity 0.1

Afrikaans Shqip عربي Euskara Беларуская বাংলা (ভারত) català-valencià 中文 (简体)

正體中文 (繁體)

Čeština Dansk Nederlands English (British) English (US)

Esperanto suomi Français Frysk Galego ქართული Deutsch Ελληνικά ગ"જરાતી עברית !ह#दी (भारत)

Magyar íslenska Bahasa Indonesia

Gaeilge Italiano 日本語

한국어 Kurdî Latviešu lietuvių kalba Македонски Монгол Norsk bokmål Norsk nynorsk polski Português (do Brasil) Português (Europeu)

ਪ"ਜਾਬੀ română Русский српски සිංහල slovenčina slovensko Español (Argentina) Español (de España) Svenska ไทย Türkçe Українська

Afrikaans Shqip عربي Euskara Беларуская বাংলা (ভারত) català-valencià 中文 (简体)

正體中文 (繁體)

Čeština Dansk Nederlands English (British) English (US)

Esperanto suomi Français Frysk Galego ქართული Deutsch Ελληνικά ગ"જરાતી עברית !ह#दी (भारत)

Magyar íslenska Bahasa Indonesia

Gaeilge Italiano 日本語

한국어 Kurdî Latviešu lietuvių kalba Македонски Монгол Norsk bokmål Norsk nynorsk polski Português (do Brasil) Português (Europeu)

ਪ"ਜਾਬੀ română Русский српски සිංහල slovenčina slovensko Español (Argentina) Español (de España) Svenska ไทย Türkçe Українська

ubiquityの国際化

この革命を世界に!

• natural syntax (=自然な構文)

• 自然言語のルールと矛盾しないように

• でももちろん限られた構文を対象

• mitcho.com/blog/projects/how-natural-should-a-natural-interface-be/

ubiquityの国際化

•例: 一つがOKで一つがダメなのはおかしい!

• ジョノにボールを渡す• ボールをジョノに渡す

ubiquityの国際化

•例: 一つがOKで一つがダメなのはおかしい!

• ジョノにボールを渡す• ジョノにボールを渡して• ジョノにボールを渡せ• s/渡/わた/

ubiquityの国際化

• パーサを別々に書くのは面倒

• Principles and Parameters (=原理とパラメータ) 方式

• 汎用パーサ+各言語の設定

• 機能語 (functional words) を訳せばOK

ubiquityの国際化

parser* * JavaScript

parser*

ブレアにケーキを送って

* JavaScript

送ってケーキをブレアに

parser* * JavaScript

送ってケーキをブレアに

parser* * JavaScript

VNN

送ってケーキをブレアに

parser* * JavaScript

VNNgoal object

送ってケーキをブレアに

parser* * JavaScript

VNNgoal object

V ( goal, object )

[demo time!]

ubiquityの国際化

ubiquityの国際化意味的役割 (semantic roles) を使用

ubiquityの国際化意味的役割 (semantic roles) を使用

ubiquityの国際化意味的役割 (semantic roles) を使用

役割 英語 日本語

object ø を

goal to に、へ

position at, on で

ubiquityの国際化意味的役割 (semantic roles) を使用

役割 英語 日本語

object ø を

goal to に、へ

position at, on で

ubiquityの国際化意味的役割 (semantic roles) を使用

役割 英語 日本語

object ø を

goal to に、へ

position at, on で

ubiquityの国際化意味的役割 (semantic roles) を使用

役割 英語 日本語

object ø を

goal to に、へ

position at, on で

ubiquityの国際化意味的役割 (semantic roles) を使用

CmdUtils.CreateCommand({names:["email","mail"],arguments:[{role:"object",nountype:noun_arb_text},{role:"goal",nountype:noun_type_contact}],...

ubiquityの国際化意味的役割 (semantic roles) を使用

CmdUtils.CreateCommand({names:["email","mail"],arguments:[{role:"object",nountype:noun_arb_text},{role:"goal",nountype:noun_type_contact}],...

ubiquityの国際化設定はたったこれだけ:

branching:'left',usespaces:false,joindelimiter:'',anaphora:["これ","それ","あれ"],roles:[{role:'object',delimiter:'を'},{role:'goal',delimiter:'に'},{role:'source',delimiter:'から'},{role:'position',delimiter:'で'},{role:'position',delimiter:'に'},{role:'instrument',delimiter:'で'},{role:'alias',delimiter:'として'},]

ubiquity 0.5with Parser 2

CatalàDansk

EnglishFrançaisItaliano

日本語PortuguêsSvenska中文

< your language here* >

ubiquity 0.5with Parser 2

* mitcho.com/blog/how-to/adding-your-language-to-ubiquity-parser-2/

mitchoアーリーワイン・マイケル芳貴

mitcho.com

@mitchoyoshitaka

Recommended