2011-07-28

Google Chromeの音声入力機能を英語学習に応用できないか?

音声入力で遊ぶ

遅ればせながら、Google Chrome 11から音声入力機能が追加されていたことを知りました。バージョン番号を言われても、Chromeの場合はあまりバージョンを意識することはないかと思いますが、普通は自動アップデートされているため、ほとんどのChromeでサポートされているはずです。

使い方は簡単で、以下のように、従来のテキストボックス(input要素)に"x-webkit-speech"を追加するだけです(HTML5の本来の仕様では"speech"だけでいいみたいですが、現状のChromeでは"x-webkit-"のプレフィックスが必要みたいです)。また、lang属性で明確に言語を指定しておくと、認識精度が向上します。

English: <input type="text" lang="en" speech x-webkit-speech>
日本語: <input type="text" lang="ja" speech x-webkit-speech>

Google Chromeを使っていてマイクを持っている方は、以下のテキストボックスで実際に音声入力を試してみることができます。右端のマイクアイコンをクリックすると音声入力待ちの状態になりますので、マイクで何かしゃべってみてください。

English:

日本語:

英語学習への応用

こういう面白いものが簡単に使えるとなると、これを応用して英語学習に活用できないものかと考えてしまうわけです。ぱっと思いついたのは、いわゆる「瞬間英作文」のトレーニングを、マイク入力をからめてインタラクティブ性のあるアプリっぽく仕立てることで、退屈さを少しでも紛らわせることができないものかと考えました。具体的にはこんな感じです。「回答」の欄に音声で英文を入力すると、「正解」の欄に正しい英文が表示されるはずです。

問題:

回答:

正解:

しかしながら、実際にやってみると分かるかと思いますが、(少なくとも私の発音では)認識精度に難があり、機械的に正解かどうかを判断させるのはとても無理そうです。仮にアプリ仕立てにするとして、正解/不正解の判断は人間側にやらせるほうが無難そうです。

また、現状のChromeのつくりでは、音声入力を開始する際にはいちいちマイクアイコンをクリックする必要があり、トレーニングをテンポよく進めることができないのではないかという懸念もあります。このあたりは、一度プロトタイプを作ってみないことには判断できないかなあ……。

2011-07-24

TwitterでOAuthを使う際の不満点

iKnow!の学習結果をTwitterでツイートするTwiKnow!というサービスをテスト公開していますが、他人のTwitterタイムラインにツイートするにあたり、OAuthという技術を使っています(OAuthについて詳しくは説明しません)。

で、TwitterでOAuthを使う際に思ったのですが、出来ることが多すぎるのがちょっと嫌な感じです。以下はTwitterのアプリ認証の画面ですが、「次の動作が許可されます」とあるリスト内に「新しくフォローする」とか「プロフィールを更新する」とか、穏やかでない内容が並んでいます。Twiknow!は「ツイートする」の機能しか使わないんですけどね。なんだか痛くもない腹を探られる感じです。

TwitterのOAuth認証画面

見てのとおり、アプリ認証画面の右側には開発者によるアプリの説明文も表示されるので、ここに「このアプリではツイートすることしかしません」みたいなことを記載するという手もありますが、それはそれで筋が悪い感じがします。OAuthの認可において、ユーザーが信用していいのはあくまでTwitter側が出す説明文のみであるべきで、開発者側の出す説明文を信用して認証するような風潮が蔓延すると、裏でこっそりとプロフィール更新やら新規フォローなどをしでかすアプリを安易に認証してしまうことにつながりかねません。

この件についての正しい解決法は、Twitter側がOAuthで可能な操作を細分化して、アプリ側では必要最小限の権限だけを取得するようにする、ということになるのでしょうか。聞くところによると、以前のTwitter OAuthでは、単にツイートするだけのアプリでも、ダイレクトメッセージへのアクセスができてしまう権限までついていたようなので、今の状態でもある程度は改善していると言えるみたいですが……。