空気を読んで論文を紹介するtwitter-bot 「論文ったー」つくってみた。
CiNii API コンテストへの参加作品として,CiNiiのAPIを活用して 論文ったー(@ronbuntter) というtwitter投稿用プログラムを作ってみました。しばらく前からこっそり動かしてたのですが,締め切りになっちゃったのでいいかげんお披露目ということで。
これはなに?
twitter・buzztter・CiNiiのAPIをマッシュアップしたtwitter上で活動するbot。
ミニブログ「twitter」を使っているユーザーの発言のトレンドをもとに,関係のありそうな論文をNIIの論文検索サービス「CiNii」から定期的に紹介します。
ねらい
学術論文というのは何かと敷居が高く,一般の人々にはなかなか気軽に読まれていません。
CiNIIのような論文検索サービスも,これまでのように研究者のためのサービスであればそれでよかったわけですが,今後は一般の人々,特に情報への関心の強いネットユーザーなどにはさまざまなWebページとともに学術論文を見る必要と,その需要があるのではないか,とわたしは考えています。
そこで,学術論文をカジュアルに見られるように,が今回考えたコンセプト。
学術論文が専門の研究者だけでなく,さまざまな人々に読まれ,それぞれに役立てられれば,利用者にとっても,そこに論文を提供している大学の研究者にとっても有益なのではないか。そう考えてこうしたサービスを作ってみました。
場としてtwitterを選んだのは,自身も(別の変名でですが)twitterで活動しており,上記のようなコンセプトについて考えていたところ,日常的にみられるtwitter上でランダムで論文を紹介したら面白がって読む人もいるんじゃないか,と思ったのがきっかけです。
また,すでにこうしたbotなどを作成するノウハウが蓄積されていること,従来から研究者や学生などのユーザーが多く論文紹介などのサービスと親和性が高いこと,また最近特に注目を集めており,そうした学術論文を普段から読んでいる層だけでない普通の人々も参加しはじめていることが大きな理由です。またtwitterへの投稿だけで運用できるため,Webサーバを管理する必要がないことも個人サービスとして運用する上の利点です。
どうやってるの?
利用している外部サービスは,
またtwitter上のトレンドの取得に,twitter の日本語でのホットな語句を抽出して公開しているbuzztterの公開されたRSSを利用しています(これがなかったら作れませんでした。id:darashiさん使わせてもらってます,ありがとうございます。)。仕組みは以下のとおり。非常に簡単。言語はPHPを使用してます。
- twitter上の最新の話題を抽出しているbuzztterのRSSからホットなキーワードを取得。なお「おはよう」「おやすみ」など毎日定期にホットになってしまう語句ははずしています。
- 取得したキーワードをCiNiiのOpenSearchに投げる。本文の読めない論文は食いつきが悪そうなので本文・リンクありのみを対象としています。ソートは論文の刊行年の降順。
- 投げた結果をまとめ,以下のように現在のトレンドと関連性が強く新しそうな論文が上位にくるように整理します。
- キーワードごとに検索結果が少ない(=CiNiiにとってユニークな単語)ほど高ポイント。
- 複数のキーワードでヒットした論文は各キーワード分のポイントを合計。
- 高ポイントな論文ほど上位にくるようにソート。
- それ以外は新しい論文ほど上位。
- ポイント最上位の論文のリンクをAPIを利用してtwitterに投稿する。ただし最近投稿したものと同じ場合はスキップする。投稿する事項は「こんな論文どうですか?」という導入句と「論文のタイトル」「刊行年」「CiNiiへのリンク」「(ある場合は抄録の一部)」。タイトルと抄録は内容を知るため,リンクはその論文にアクセスするため。刊行年を入れているのは,その論文が出た時期が論文の内容と強い関連があるのが見ていて分かったため。逆に著者名や誌名などを入れていないのは,多くの場合その分野以外の人には重要な情報にならないため。
- 上記の作業をcronで15分ごとに実行。*1
また本日の更新で,twitterの公式検索よりCiNiiの論文URLへのリンクを含む発言をReTweet(twitter上での慣習のひとつ。興味深い発言などを自身のTLに引用すること)する機能を追加しました。
いまのところ機能はこれだけ。
あ,あとアイコンの「ろんぶん!」はみな…なんとかジェネレーターを使わせてもらいました。こちらもありがとうございました。
つくってみた感想
とりあえず試しにしばらく前から動かしてみたところ,すでに200人以上のユーザーにフォローされていました。ちゃんと告知もしてないのにありがたいことです。
すでに以下のような感想をいただいております。
dietrich_avatar: .@ronbuntterってばずってる言葉でサイニってるのかー。なるほどなー
http://twitter.com/dietrich_avatar/statuses/4316038430
yuki_o: なんだこれオモシレー RT dietrich_avatar: .@ronbuntterってばずってる言葉でサイニってるのかー。なるほどなー
http://twitter.com/yuki_o/statuses/4316069913
正解。
dameninngenn: む、論文ったー(@ronbuntter)なんてのあるんかー。論文のジャンル分けできれば便利そう。
http://twitter.com/dameninngenn/statuses/4376489185
ジャンル別じゃないほうが面白いのかな,と思うのだけどどうなのでしょ。
fuba: ronbuntterおもしろいけど10分ごとはちょっと速い…
http://twitter.com/fuba/statuses/4429406676
ちょっと頻度を下げてみました。
manjitalk: . @ronbuntter を見る度に自分の見識の狭さを思い知らされる
http://twitter.com/manjitalk/statuses/4438057503
ほんと色んな論文がありますよね。
gyoxay: 帰宅してTLを眺める元気もないなか、 @ronbuntter があずきの論文を連続で紹介してくれるので少し元気になる。ペプシ効果はこんなところにも!
http://twitter.com/gyoxay/statuses/4470471943
hari_nezumi: @ronbuntter に癒される
http://twitter.com/hari_nezumi/statuses/4524912348
学術論文は癒し?
casioisac: 色んな論文があるなぁ。最近は、仮説や解決すべき課題が明確な論文しか見ないので新鮮 RT @ronbuntter: 親子の繋がりからみた東北地方山村の現状と今後の展望 : 遠野地域の山村集落を例に,1998 http://bit.ly/1KU3qh
http://twitter.com/casioisac/statuses/4624716913
普段から学術論文を読んでる方にも発見があるらしい。
hari_nezumi: 抽出の構造が知りたい!演説中継のこと書いた後これが。。偶然? RT @ronbuntter こんな論文どうですか? 言い換えを利用したリスピーク方式によるスポーツ中継のリアルタイム字幕制作(音声,聴覚),2004 http://ci.nii.ac.jp/naid/11...
http://twitter.com/hari_nezumi/statuses/4548739658
takuan_osho: @ronbuntterがいいタイミングでこんな論文を教えてくれたw 2007年ノーベル平和賞受賞団体の誤訳(会員の声) - http://ci.nii.ac.jp/naid/110006664616
http://twitter.com/takuan_osho/statuses/4730530413
空気読みには定評があるようです。上記したとおりbuzztterを利用しているので,数分の誤差でtwitterのトレンドは追えてるはず。
dietrich_avatar: .@ronbuntter できれば機関リポジトリへの言及も拾っていただけないものか、とおもったがCiNiiAPIコン用?みたいだから無理か
http://twitter.com/dietrich_avatar/statuses/4806034962
機関リポジトリへの言及をどう認識するかが肝ですね。RTに関してならJ-STAGEあたりは少し考えてもいいかも。
あとはてブから
id:serizawawawa rombunの方がよかった。
http://b.hatena.ne.jp/entry/twitter.com/ronbuntter
というご意見をいただきました。素で打ち間違えてたorz でも普及しちゃったんでこれで通します。ごめんなさい。
といった感じ。いくつかご意見はあったものの,おおむね好評なようです。このほか,紹介した論文への注目を示すfavoriteやRTも多数いただいています。適当に作ってみただけなんですが、意外と面白い論文拾ってるようですね。これでちょっとでも埋もれた論文が読まれるようになったらいいなあ。
あと作ってて思ったことと今後の展望。
- 全文のみられる論文だけを表示させようと思ったのですが,検索で「本文あり」はNII-ELSの論文だけなので機関リポジトリや大学紀要で本文へのリンクのついてる論文が抜けますし,「外部リンク」も加えると医中誌へのリンクのあるものまで引っかかり,ちょっと望んだとおりの結果になりません。クリックして医中誌へのリンクがあるだけだとちょっと残念。医中誌リンクは除くとかそういう設定での検索もできるといいかも。
- 同様に課金コンテンツが引っ掛かることもあるので,Pubmedのようにオープンアクセス(ないしフリー)の論文だけを検索できたらもっといいですね。PPVの論文は出すべきか出さないべきかも問題ですが。
- replyをもらったら関連論文を出すとか,ランダムでフォロワーがほしそうな論文をリコメンドするとかも考えたのですが,リコメンドのエンジンが大ざっぱすぎるのでそうしたかたちでの推薦は難しそう。
- ときどき別IDの同じ論文がでてしまうことがあるのが少し問題。CiNii上で一意じゃないせいですが,ronbuntter側でも何か対応が必要かもしれません。
- CiNii以外のサービスで提供されてる論文なども対応するかも考えどころ。国内の機関リポジトリなんかはCiNiiのほうにまとめてもらえるとは思うのですが。国外の論文検索(Pubmedとか)は対応できそうなのもありますが,一般向けではなさそうなので保留。
- 論文以外の学術コンテンツも同じ仕組みでやると面白いかも。PORTAから近代デジタルライブラリーの本を紹介するとか。考えてます。
とりあえずすでにフォローされている方々はありがとうございます。まだの方はフォローしてみると面白いかもしれません。よろしくお願いします。
*1:テスト時は10分ごとに実行していたが,やや多い印象があったため頻度を落とした
ブログはじめてみました。
趣味でいろいろやってた時期はあったんですが実名でブログを書いたのははじめてですね。ここではこの名前でしか出来ないことを書いてみようかなと。
自己紹介としてはhttp://yzlib.yz.yamagata-u.ac.jp/に勤務して働いております。
過去には紅花の歴史文化館トップページ:山形大学附属図書館のシステム方面の構築に関わりました(現在は手を離れています)。当時の報告書としてはこちら(pdf)。
また国立情報学研究所の平成21年度オープンハウスでCiNiiリニューアルとウェブAPIコンテストについて話させてもらいました(資料(pdf))。
実はこのブログを作ったのも,このウェブAPIコンテストの制作物について説明する場所が欲しいなー,と思ったため。
こんな感じですがよろしくお願いします。