プログラミング言語をインドの言葉に翻訳している男の素顔に迫る

SHARE:
Arduino Day at WeMake via Flickr by WeMake Milano
Arduino Day at WeMake via Flickr by WeMake Milano

私はあるコーヒーショップで Cohan Sujay Carlos 氏と彼のノート PC を囲んでいる。短い USB ケーブルの先にあるのは緑と黒の小さい Arduino(アルデュイーノ)基盤だ。

Arduino は私たちがコンピュータにインプットとして打ち込んだコードを処理する。コードを走らせると基板上にある数個の LED ライトがチラチラ点滅する。Arduino はアウトプットとなる他の対象物に接続することでさまざまな効果を生むことができる。例えば自転車に乗っている人が左や右へと信号を送れば、着ているバイクジャケットについている矢印が点灯する、といったものだ。

地下鉄の駅が機械いじりの作業場を兼ねるようなバンガロールの街では珍しい光景ではない。Arduino はオープンソースで誰でも手に入れることができ、子供たちに電子工学について教えるには手軽な方法だ。アーティストがこれを使ってインタラクティブな展示品を制作したり、自宅で自分のデバイスに Arduino を活用している人も多い。

Cohan Sujay Carlos, founder of Aiaioo labs.
Aiaioo labsの設立者、Cohan Sujay Carlos氏

しかし、私と Cohan 氏が行っているのはそれとは少し違う。私たちは Aruduino を使ってバンガロールの母語、カンナダ語で会話している。

曲線の多いカンナダ文字で「bari」と打ち込むと「write」のコマンドになる。「Ankiya」は「digital(デジタル)」のコマンドだ。さらにユーザはヒンディー語やタミル語で打ち込むこともできる。これは Cohan 氏が彼の会社 Aiaioo labs で手がける多くのプロジェクトの一つだ。しかしこのプロジェクトはもっと大きな課題に対する回答を導く小さな一歩に過ぎない。その課題とは、「英語を話せない人はどのようにプログラミングについていけばよいか?」というものだ。

プロジェクト進行中

このアイデアがひらめいたのは2009年、Cohan 氏がタミル・ナードゥ州を訪ねた時だ。そこで彼は Arduino を使って子どもたちにロボット工学や電子工学を教えるスタートアップと出会った。そこで設立者が興味深いことを言い出したのだ。「ほとんどの子供は英語がわからないので、プログラミングの基礎知識を理解するのが難しい」と。

この時の会話が Cohan 氏の頭から離れなかった。彼はバンガロールに戻ると、彼のチームと共にこの件に関する研究論文に取り組んだ。そして、このプロジェクトに出資してくれる人を探した。「資金提供してくれる人はいませんでした」と彼は笑う。

Aiaioo は資金調達を模索した。それはバンガロールでは珍しくない、堅苦しくない方法だった。ある時 Cohan 氏がお気に入りの喫茶店でチャイを飲んでいると、Arduino のシャツを着た男性を見かけた。

私は、「やあ、あなたはハッカーですか?」と尋ねました。彼は、自分がバンガロールでオフィスを立ち上げるのだと答えたのです。(Cohan 氏)

その後、二人は2、3回顔を合わせ、やがて Cohan 氏は自分の仕事について彼に語るようになった。「話をした後、彼はぜひ力になりたいと言ってくれました。」こうして Arduino のチームは Aiaioo と協力して Arduino のプログラミング言語に合うコードを考え、構築していった。

彼らが直面した課題は、言語間でコードを翻訳するということを理解するために必要な足がかりだったと表現する。一つには、インターネットやコンピュータまたコーディングの記述子に関する英語は簡単に見つかるものの、カンナダ語のような言語ではまだ曖昧になってしまうことだ。

「analogWrite」というコマンドで考えてみよう。これはピンにアナログ値を送り、Arduino 基盤で LED を点灯させたり、モーターを動かしたりするものである。

この「analog」に合うカンナダ語を見つけるのが難しかった。「ankiya」というデジタルを意味する言葉はあったため、それに「anti」をつけて「anankiya」とするか、analog のままにするのが自然な流れだった。

すると、カンナダ語の翻訳を手伝ってくれていた友人がすぐに良いアイデアを出してくれた。正確に一致する単語を探すよりも、意訳する、つまりその意味を翻訳する方が良いのではないかと。

まず彼女が挙げたのは[write without spaces(空白なしで書く)]について。しかしまもなく私たちは[write value(値を書く)– maulyavantu bari –]ならコマンドとして意味が通ると気づきました。そしてそれでいくと、analogDigital は[write number(数字を書く)]、つまり ankeyannu bari となります。(Cohan 氏)

その時が来るまで

An Arduino makes it possible to tweet to your coffee pot and have a fresh brew ready before you get home. Photo credit: Instructables.
Arduinoを使えば、帰宅前にツイッターでつぶやくだけで自宅のコーヒーポットに淹れたてのコーヒーを用意させることができる.Photo credit: Instructables.

このプロジェクトに Cohan 氏は根気よく取り組んでいる。人工知能を研究する小さな研究所である Aiaioo labs の設立者である彼は、自身らが作り上げてきたテクノロジーは常に最先端のものだと説明する。

例えば彼らは「インテンション解析」のパイオニアだ。これは言葉のコンテキストにフォーカスしたテクノロジーだ。「良い Canon 製のカメラを知っている人」という文章は、そのクオリティについて語っているものではない。インテンション解析は、そのツイートが送信された真意を理解しようとするものだ。

現地の言葉を利用した Arduino スクリプトは時代の先をいくものかもしれない。しかし、そこにはコンテキストもないかもしれない。Cohan 氏はそういった面についても問題意識を持っている。

「子どもたちにとって、英語を学ぶことと Arduino のプログラミング言語を学ぶこと、どちらが大事なのだろうか」と彼は問う。

そして、彼らがカンナダ語やタミル語でコーティングを始めた時に、もともと英語であったものを他のコーディング言語にしていくことを難しいと思うでしょうか?

しかし、彼は責任の多くは学校にあるとしている。もし学校が英語をコアカリキュラムにしないのであれば、その結果生徒が失うかもしれない知識を補う責任があるという。

一番大切なのは、手の届くところにコードがあることだと彼は言う。だからこそその言語がオープンソースで Aiaioo のウェブサイトで手に入れることができる。インドでは Arduino の動きは勢いを増しており、誰かがコードを使って重要で現実的な使い道を見つけるかもしれない。そしてそれが電子工学の新たな世界を切り開くかもしれない。

それまでの間、同プロジェクトは Arduino の言語翻訳によって力を与えられたわずかな人々への影響に注力していく予定だ。そして Cohan 氏は今後も機械いじりを続けていくそうだ。

【via Tech in Asia】 @TechinAsia

【原文】

----------[AD]----------