DBCLS

アブストラクト取得クラスの修正

ある筆者名についての文献IDでefetchを呼び出すと、文献によってはタイトルが無かったり、アブストが無かったりするので、対応付けをちゃんとやる必要を感じました。 なので今回は、RubyのXMLパーサのREXMLについて、ドキュメンテーションを読みながら、うま…

ポスター著者名の取得とアブストラクト取得クラスとの接続

ポスターの筆者一覧csvから筆者名を抽出して、前回作成したアブストラクト取得クラスを呼び出すところまで実装しました。 まず、検索に使用する筆者名として、筆頭著者名はもちろん、そのポスターの最終共著者名も取り出して使うことにしました。Rubyではcsv…

PubMed APIでアブストラクト取得まで

前回、筆者名から出している論文IDを取得することができたので、今回はそのIDの論文のアブストラクトを取得するところまで進めました。 まず、E-utilitiesのマニュアルページ(E-utilities Quick Start)で、「Downloading Full Records」の項目からefetch.f…

文献クラスタリングプログラムの構想&PubMed APIのXMLパーサ作成まで

前回までで、与えられた文献リストから、文献の著者の情報を使ってどのような分野の研究をしているのかをクラスタリングする、というプログラムを作る、ということになったので、今回はその大まかな流れを決めつつ、どこまでを1つのクラスとして実装するのが…

著者情報から研究分野を推定する&EngTaggerを試用

ポスター著者の情報を使って、いくつかのポスターをどのように分類すればいいのか考えたときに、その筆者が投稿した過去の論文から情報抽出してきて、それらの重なり具合から評価しようと思いました。 前回までに調べていたPubMed APIでは、検索クエリに「fi…

PubMed APIから情報抽出&今後の方針

今回は、いくつかのポスター筆頭著者名と最後の著者名を使って、PubMed APIからどのような情報が得られるのかを確認してみました。 筆頭著者名と最後の著者名で調べると、これらの人たちがそれぞれFirst, Last Authorになるような論文の一覧が得られ、その論…

PubMed APIお試し続き

前回に引き続き、「PubMed APIのまとめ」のページを参考にさせていただきながら、文献検索APIからどのような情報が手に入るのかを確かめました。 ここでご紹介されているAPIは、・論文IDを取得する「ESearch」 ・論文IDから、著者・雑誌名などを取得する「ES…

文献データベース検索APIお試し

今回から、生物学文献に付随する情報を使って、文献間の相関性を計算することができるかどうか調べ始めました。 まずはその生物学文献に関わる、生物学論文の情報を引っ張って来れるように、PubMedなどの文献データベースから情報をとれるAPIなどについて調…

Gviz使い方まとめページ完成

前回に引き続き、Gvizの使い方ページの編集を行いました。 今回はGvizの機能を使ってさらに細かな設定を行うやり方を、Q&A形式で書いてみました。私が実際に必要で探した機能について書いてみたので、公開しているソースコードを見るとどのように使えるかお…

Gviz使い方まとめの続き

久しぶりになってしまいましたが、牧場新年度スタートです。 まずは作成途中だったGvizの使い方ページの編集を続けました。今回はノードとエッジの描画の仕方、個別の設定方法についてまとめました。次回は特殊な色の指定方法などをまとめていこうと思ってい…

Gvizについて書き始め

前回に引き続き、ツール紹介ページを書き進めました。今回はRubyインターフェースのGvizの紹介ページに取りかかりました。 紹介ページはこちらです:ネットワーク図ーGviz Gvizを使うために、RubyのインストールとGvizのインストールについて、またGvizオブ…

Graphvizについての紹介ページ作成

今回は、ネットワーク図を作成する際にお世話になった、Graphvizを紹介するページを作成しました。 Googleサイトに用意した紹介用のページにまとめてみて、私がGraphvizを利用する際に参照した項目については、一応全部説明できたと思っております。 紹介ペ…

ネットワーク図作成スクリプトを公開

前回に引き続き、ネットワーク図を作成するためのスクリプトをGitHubで公開する作業を行いました。私のアカウント名tabris2012で公開しています。 まず、作成した4つのRubyスクリプトをアップロードし、プロジェクトとしてまとめました。インデントがタブに…

公開プログラムを準備

技術開発部のWebページのコンテンツを増やすべく、今回は私が去年作成した、ポスター要旨から相関を解析するRubyスクリプトを公開することにしました。 スクリプトの公開ページとして、GitHubでレポジトリを作成して、簡単なReadmeを付けてファイルをまとめ…

内容を追記中

前回大枠が完成したWebページのギミックを調整しつつ、内容を書き込んでいく作業を始めました。 まずは、Webページのメニューをクリックしたときに出現するウィンドウの、出現位置を調節し、ウィンドウが重ならないように調節しました。これには出現位置を調…

大枠完成

前回作成したsvgの枠組みを配置し、空いたスペースにフローティングウィンドウが出現するように調節しました。 フローティングウィンドウは、以前と同様にjquery-uiのdialogライブラリを使用して作成しました。以前に設定したcssとは違うものを適用して、背…

HTMLにsvg埋め込み

作成中のウェブページの本体となる部分を、画像的に枠組みを作成したかったので、HTMLにsvgタグを埋め込めるということなので、多角形やメニュー枠をsvgで作成することにしました。 svgを直打ちするのではなく、Diaという画像作成ツールを使いました。これで…

Webページ作成中

jQueryのライブラリとしてアニメーションをもっと効果的に表す為にjQuery UIを採用することにしました。まずはこれを使ってフローティングウィンドウを作成し、スタイルシートをいじって背景色や文字色などを合うように変更しました。 またjQuery UIで作成し…

Webページ作成開始

おおまかにjQueryと関連ライブラリでできそうなことが分かったので、今回から技術開発部用のWebサイトの作成を始めました。 まずは載せる内容を決定するところからつめてみました。 メインページ -初期画面としてモーダルウィンドウを表示。 -トップページに…

JavaScriptとJQuery

JavaScriptの基本を勉強しつつ、どうやれば動的にHTMLを書き換えられるかも調べました。どうやらgetElementByIdなどのメソッドを組み合わせて狙ったタグを変更していけば良いようですが、指定しなければならない項目が多く、最近のかっこいいWebサイトのよう…

Webページのネームを作成

ActionScriptによるFlash作りを少し勉強しましたが、Flashのページはモバイル端末では見れないことを始め、利用者にプラグインのインストールを強いることになって良くないなと感じ、またFlashの再生にCPUリソースを割くことになるのも嫌なので、今回は見送…

Webページ作成予定

技術開発部用のWebページを作ろうと思っていて、まずどのようなデザインにするか考えました。 Javascriptも考えましたが、クリックの度に新たなブラウザウィンドウが開くのがあれなので、もっと自由度の高い表示を目指す為にActionScriptでFlash作成をしてみ…

グラフ図のオプション調査

ポスター相関図をGvizを用いて出力する際、画像をpngとして出力していましたが、画像中のノードをクリックして、ある動作をさせるといった機能をpng画像ファイルに埋め込むのは難しそうなので、今回、別の形式に出力して以上の機能を持たせられないか調査し…

相関スコアからグラフ図作成

さて、マージして得られたポスターの相関スコアから、各ポスターを中心にした相関グラフを作成しました。今回はポスターの相関ごとに異なるスコアが与えられているので、上位n位までを出力するという前回のアルゴリズムは使えないので、スコアを利用する場合…

gackelくんとのスコアマージ

ポスターのアブストラクトを使って、私とは別の方法でgackelくん(ブログ:鳴いて血を吐く時鳥)がポスター間の相関度を計算したので、お互いの相関度をスコアとしてマージすることを考えました。 まず、彼が計算した相関度は全ポスターの総当たりで0〜1の値…

ポスター相関図のデザイン

ポスター相関図の作成方法は決定しましたが、できた図をパッと見て「中心はどこか」とか「周りのノードは中心からどのくらい離れているのか」といった情報が直感的に分かるように、ノードのスタイル、色等をいじってみました。 まず中心となるポスターのノー…

ポスター相関図の作成方法の転換

今までポスター相関図を作るのに、あるポスターを中心にして相関度の高いもの10個を選択、などとしてきましたが、それで出力された相関図が人によってノード数が異なるなど見栄えが異なり、またそれだけみても良い情報が見やすくなっているとは思えないもの…

新しいポスター情報から単語解析&相関図出力の並列化

今回ポスター内容が更新されたとのことなので、csvファイルをいただいてパースするところからやり直しました。 まず今まで自分でファイルから一行ずつ読込んでsplice(',')を使って調べていましたが、これをすると英文中のコンマでも区切れてしまうので、Ruby…

全種類のポスター作成

昨日の修正によって単語頻度が変わってしまったので、アルファベットを含む単語については出現頻度に重み付けを行うことにしました。これにより単語の長さ×4の初期スコアがその単語には与えられます。この状態でもう一度単語頻度を計算させていますが、数が…

単語頻度の取り直し&ポスター相関計算し直し

今まで英単語が完全マッチであるかどうかはチェックせず、たとえばRNAにNAがヒットしてしまったりしていて、関係のない単語・ポスターが集計されてしまっていたので、今回はそれをまず直しました。 正規表現で英数字以外の文字は"\W"のメタ記号が使えるので…