Upload
michael-yoshitaka-erlewine
View
2.687
Download
0
Embed Size (px)
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/