ひな祭りおめでとうございます。
まさに、今問題となっている"入試ネット投稿問題"でありますが、私も大学受験を経験した身といたしましてはとても心が痛いお話です。
また、利用されたヤフー知恵袋が大々的に報道されており、ヤフーの関係者の皆様は迷惑なのかメシウマなのかは関係者ではない私にはよくわかりませんが、ここにきてWebAPI公開のエントリが出てきたためになかなか注目されています。
TechBlogのタイミングが絶妙で、おいおい便乗かみたいなことまで言われていますが、公開は2/24であることは覚えておきましょう。
きっと問題が起こらなければAPI公開をスルーされていた方もいるかと思います。やはり何事もタイミングは重要ですね。
と、前置きが長くなりましたが、今回は、この問題で行われた一連のフローをAPIを利用してシステム化する方法を検討したいと思っております。
もちろんここではOAuth + 知恵袋APIがどのように利用できるのかを中心とさせていただきます。
大丈夫です。ここに書かれていることは皆さんが想像されているぐらいもしくはそれ以下の低スペックなものです。
要件
こんな感じでしょうか。
- ユーザーは携帯電話のメールに添付した画像や文字で、質問する
- 質問はY!知恵袋に投稿され、他のユーザーから回答を得る
- 回答はユーザーにメールもしくは電話で伝えられる
今はやりのマッシュアップ!って感じですね。
システム構成
- ユーザーからの質問受付/ユーザーへの回答返信機能 : 主にユーザーからの携帯メールの送受信を行うところ
- 画像からの文字列抽出/質問作成機能 : OCR機能とか言うんでしたっけ?
- Y!知恵袋への質問投稿/Y!知恵袋からの回答取得機能 : WebAPIでごにょごにょ
なんだこの図。3つに分ける必要はありません。
処理
初期設定
- Y!JのOAuthのフローにしたがって知恵袋APIを利用するためのアクセストークンなど取得(メアドと紐づけておく)
- ユーザーの携帯電話メールアドレスを登録/確認
- ユーザー単位の投稿用メールアドレスを用意
保存しておくのは以下の紐づけか。
- ユーザーのメールアドレス
- アクセストークン
- 投稿用メールアドレス
忘れてはいけないのは、Y!のOAuthはモバイルにも対応しているということ。
つまり、ユーザーは携帯電話とYahoo! JAPAN IDだけでこのシステムを利用できるということですねっ!
投稿
- ユーザーが質問メールを送信。質問を全文送るだけなら"Y!知恵袋はメール投稿機能"を持っているので、ここでは質問の概要を"添付画像として送信"
- 添付画像をOCR技術もしくは人的リソースを駆使して質問生成
- Y!知恵袋 投稿APIを用いて投稿完了
- ユーザーに投稿完了メールが送信される
保存しておくのは以下の紐づけか。
- ユーザーのメールアドレス
- 質問内容
- 投稿APIのレスポンスに含まれる質問ID
回答待ち〜回答通知
- 定期的に回答の有無を確認
- 回答があったらその内容を取得
- ユーザーに質問内容と回答をメール通知(複数質問中でも混乱しないように)
- その後も回答チェック+通知は続ける
回答締め切り、お礼コメント投稿
- ユーザーは役に立った回答があってもうおkになったら、メールに書かれている終了用URLにアクセス
- 固定文 or ちょいと気を利かせたのお礼コメント投稿
- 回答のメール通知がSTOP
2人以上の人間が似たような処理を手動で作業する場合との比較
- ○ 投稿専用の携帯電話を用意する必要がない
- ○ 自動化されている方が複数の質問をさばけると思う
- ? 質問生成の精度はお金をかければ問題ないレベルまでいくはず
- ○ OAuthを使うことで、Y!知恵袋上の投稿者は、携帯電話で手動で投稿する人のY!J IDではなく、本当に質問したいユーザーのY!J IDで利用可能(Y!J IDの共用はイクナイ!)
- △ 携帯電話にたくさんメール送ってたりすると、バウンスするかもしれない
興味のある方は作ればいいじゃない
書いてて気づきましたが、いや、書く前から気付いていましたがこんな簡単なしくみをだらだらとまとめる意味はあるのでしょうか。誰得なのでしょうか・・・
実装するにあたりOAuth処理のあたりはお手伝いできます。
このネット社会のどこかに埋もれている私のメールアドレスまで連絡をお願いします。