Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
40th Tokyo.R
RでExperience API
(Tin Can API) をいじる
という話
@data_sciesotist
2014/06/14
1
1 まずは、自己紹介
• 社会人5年目の研修講師 (Linux、仮想化、ストレージ、
クラウド、ビッグデータ・データサイエンスなど担当) です
• その前は長々と大学にいました (心理学、教育工学、障害者
支援などを研究) が、学位もポストも・...
2 Experience APIについて
• xAPIとか、Tin Can (ブリキ缶) APIとか呼ばれることも
• “学びの体験” をやり取りする仕組み
• 米政府系Advanced Distributed Learningが仕様策定
• ...
3 どこでどう使うのか
• すごく前: 教室での集合教育、紙の教科書、板書......
• ちょっと前: LMS*1
でのeラーニング......
• イマドキ: MOOCs*2
、OCW*3
、ググる、SNS、勉強会、
ハッカソン.........
4 LRSによる学習履歴の集積
LRS
(Learning Record Store)
5
5 Experience APIの仕組み
• データをJSON*4
(REST) でやり取りする
• 誰が、どこの、何に、いつアクセスしてどうなったかが記録できる
• 教材やWebページ、アプリにLRSと通信するボタンを仕込む
{"id":"f...
参考: ジェイソンとは
最終的には冷凍保存されて400年後に復活、宇宙船内で暴れて
サイボーグになり、最後は大気圏に突入するらしい......
7
6 RでJSONを扱う
• JSONを扱ういろんなパッケージがある
■ rjson ... とりあえずこれで
■ RJSONIO
■ jsonlite
■ ...
> install.packages("rjson")
> require(rj...
7 コード例
> data<-fromJSON(file="test.json")
# > data<-fromJSON(file="http://.../xxx.json")
# リスト形式は扱い辛いので、ベクトルに変換
> json<-un...
8 RでJSONデータを読み込んだ様子
10
9 集計結果の例 (1)
aa arrows11 arrows12 CBP_DEMO_01 chro12 chrome11 de1 dem02 demo01 koeda ogawa shimada tarou
ユーザー名の集計結果
ユーザー名
...
10 集計結果の例 (2)
時間帯別のカウント結果
アクセス数
020406080100
05/07
10:00
05/08
16:00
05/09
22:00
05/11
04:00
05/12
10:00
05/13
16:00
05/14...
11 まとめ
• Experience APIというのがある
• オンライン、オフライン、「教育っぽい」、「教育っぽくな
い」問わずあらゆる学びを記録、蓄積できる
• 基本的にはLRSにJSON形式でデータを送る仕組み
• RでJSON形式のデ...
12 おまけ: 次のネタ
• TEXからRを呼び出すパッケージを思いついて作りました
• Markdownとかよくわからん
• 作業比率: TEX > R ←TEXからRを使うほうが効率的
usepackage{runR}
begin{runR...
Prochain SlideShare
Chargement dans…5
×

40th Tokyo.R "RでExperience API (Tin Can API) をいじる、という話"

4 024 vues

Publié le

第40回Tokyo.Rで発表した(する)資料です。

Publié dans : Données & analyses
  • Soyez le premier à commenter

40th Tokyo.R "RでExperience API (Tin Can API) をいじる、という話"

  1. 1. 40th Tokyo.R RでExperience API (Tin Can API) をいじる という話 @data_sciesotist 2014/06/14 1
  2. 2. 1 まずは、自己紹介 • 社会人5年目の研修講師 (Linux、仮想化、ストレージ、 クラウド、ビッグデータ・データサイエンスなど担当) です • その前は長々と大学にいました (心理学、教育工学、障害者 支援などを研究) が、学位もポストも・・・だったので就職 • 2002年にLinuxにはじめて触れて以来、細々とOSS関係 の活動をしています • 主に組版ソフトTEXの周りでIDEの日本語化、ドキュメン トの翻訳、解説サイトの運営などをしています • データサイエ「ソ」ティストに悪意はありません 2
  3. 3. 2 Experience APIについて • xAPIとか、Tin Can (ブリキ缶) APIとか呼ばれることも • “学びの体験” をやり取りする仕組み • 米政府系Advanced Distributed Learningが仕様策定 • http://www.adlnet.gov/tla/experience-api/ 3
  4. 4. 3 どこでどう使うのか • すごく前: 教室での集合教育、紙の教科書、板書...... • ちょっと前: LMS*1 でのeラーニング...... • イマドキ: MOOCs*2 、OCW*3 、ググる、SNS、勉強会、 ハッカソン......あらゆる場が学びの機会に • さまざまな時間、空間、システムに分散する学びの記録を 蓄積し活用したい *1 Learning Management System *2 Massively Open Online Courses *3 Open Courseware 4
  5. 5. 4 LRSによる学習履歴の集積 LRS (Learning Record Store) 5
  6. 6. 5 Experience APIの仕組み • データをJSON*4 (REST) でやり取りする • 誰が、どこの、何に、いつアクセスしてどうなったかが記録できる • 教材やWebページ、アプリにLRSと通信するボタンを仕込む {"id":"fd41c918-b88b-4b20-a0a5-a4c32391aaa0", "actor":{"objectType": "Agent", "name":"Project Tin Can API", "mbox":"mailto:user@example.com"}, "verb":{"id":"http://adlnet.gov/expapi/verbs/created", "display":{"en-US":"created"}}, "object":{"id":"http://example.adlnet.gov/xapi/example/simplestatement", "definition":{"name":{"en-US":"simple statement"}}}} *4 JavaScript Object Notation 6
  7. 7. 参考: ジェイソンとは 最終的には冷凍保存されて400年後に復活、宇宙船内で暴れて サイボーグになり、最後は大気圏に突入するらしい...... 7
  8. 8. 6 RでJSONを扱う • JSONを扱ういろんなパッケージがある ■ rjson ... とりあえずこれで ■ RJSONIO ■ jsonlite ■ ... > install.packages("rjson") > require(rjson) 8
  9. 9. 7 コード例 > data<-fromJSON(file="test.json") # > data<-fromJSON(file="http://.../xxx.json") # リスト形式は扱い辛いので、ベクトルに変換 > json<-unlist(data) # アクティブユーザーをカウント > table(json[names(json)=="actor.name"]) > barplot(table(json[names(json)=="actor.name"])) # アクセスしたコンテンツを集計 > table(json[names(json)=="object.id"]) > barplot(table(json[names(json)=="object.id"])) 9
  10. 10. 8 RでJSONデータを読み込んだ様子 10
  11. 11. 9 集計結果の例 (1) aa arrows11 arrows12 CBP_DEMO_01 chro12 chrome11 de1 dem02 demo01 koeda ogawa shimada tarou ユーザー名の集計結果 ユーザー名 アクセス数 0100200300400 11
  12. 12. 10 集計結果の例 (2) 時間帯別のカウント結果 アクセス数 020406080100 05/07 10:00 05/08 16:00 05/09 22:00 05/11 04:00 05/12 10:00 05/13 16:00 05/14 22:00 05/16 04:00 05/17 10:00 05/18 16:00 05/19 22:00 05/21 04:00 05/22 10:00 05/23 16:00 05/24 22:00 05/26 04:00 05/27 10:00 05/28 16:00 05/29 22:00 05/31 04:00 06/01 10:00 06/02 16:00 06/03 22:00 06/05 04:00 12
  13. 13. 11 まとめ • Experience APIというのがある • オンライン、オフライン、「教育っぽい」、「教育っぽくな い」問わずあらゆる学びを記録、蓄積できる • 基本的にはLRSにJSON形式でデータを送る仕組み • RでJSON形式のデータを扱う方法が複数ある • 今は「学び」だけど、ある種のアドテク(トラッキング) に向かっていくのでは... 13
  14. 14. 12 おまけ: 次のネタ • TEXからRを呼び出すパッケージを思いついて作りました • Markdownとかよくわからん • 作業比率: TEX > R ←TEXからRを使うほうが効率的 usepackage{runR} begin{runR} date() pdf(file="plot_example.pdf") barplot(1:10) invisible(dev.off()) end{runR} includegraphics{plot_example.pdf} 14

×