2017年5月31日水曜日

問診票の項目

10病院の問診票を集めて項目を整理した結果


10病院の項目を整理した結果10病院中10病院が質問していた項目が8項目、9病院が質問していた項目が8項目ありました。

10病院中10病院が質問していた8項目は以下の通りでした。
・来院の目的
・生理について
・最近の月経
・閉経
・生理痛の有無
・ある人は回数
・薬や注射のアレルギー
・飲んでいる薬

これらをアプリに組み込んでいきたいと思います。

ナイーブベイズ分類に対する考察

ナイーブベイズ分類器による抄録(医中誌で検索した論文・症例報告集)の分類問題で、正解率が7割を超えるには、素性として利用する形態素の出現頻度が200語を超える場合との結果が出ましたが、これは分類器がコーパスに過学習しているものと思われます。ですからコーパスを変えると、正解率がぐっと下がってしまうかもしれません。出現頻度が200を超える形態素って一体どんな形態素なんでしょう?見てみたいものです。それから、コンフュージョンマトリックスも見たいです。出せますか?
さて、今、論文の抄録を学習して疾患分類問題をやっていますが、実際は論文ではなく、アプリから入力した症状を用いて疾患を予測するというシナリオになっています。ですから、現コーパスを使って僅か数パーセントの正解率を上げるためにいろいろやってみるのははっきり言って時間の無駄です。それよりもネットから集めた、より一般の人でもわかるような文章(実際、アプリユーザはそれを入力するのですから)のコーパスを作って、それを学習することが重要です。
それからもう一つ、機械学習の手法をベイズから他のものに変えるのも一つの手です。一般的な分類器として、SVM(サポート・ベクタ・マシン)、KNN(k近傍法)、Random Forestなどがあります。中でもRandom Forestは過学習に陥りにくいということです。

2017年5月30日火曜日

ナイーブベイズ分類の結果2

5/30 ナイーブベイズ分類の結果2


 次に、最大値である68.6%を超えるにはどうしたらいいのかを考えました。色々と試行錯誤した結果、最頻出単語数を変更することで割合が上下することに気が付きました。表1では、最頻出単語数を100~400単語まで変更したものを表しています。(※前回の結果は最頻出単語数:1となっています)

表1
表1より、最も高い割合を示したものは200単語となりました。200単語より多くても少なくても割合は下がってしまうという結果が読み取れます。

 次に、最頻出単語数を200単語に設定して200件の時と500件の時の分類を行いました。表2はその結果です。

表2

 前回の結果と比べてみると、200件の最大値は68.6%→72.6%、500件の最大値は67.4%→70.8%と上昇したことが分かります。
 しかし、割合は70%を超えることができましたが、もともと最頻出単語数が200以上ある単語が少ないという問題があります。そのため、この結果では正確な分類ができていない可能性が高くなっています。正確な分類を行うためにも、もう一度分類方法を見直す必要があると考えています。


2017年5月29日月曜日

ナイーブベイズ分類の結果


5/29 ナイーブベイズ分類の結果


 今まで行っていたナイーブベイズ分類の結果をまとめました。抄録の分類を10件~100件まで10件ずつ増やした結果と100件~500件まで50件ずつ増やした結果をまとめています。表1は、各件数の結果を降順に並べたものです。グラフ1は、表1の結果を箱ひげ図で表したものです。



表1

グラフ1
結果より、全ての件数で200件の68.6%が一番確率が高いとなりました。200件以降は件数を増やしても68.6%を超えることはありませんでした。

2017年5月26日金曜日

研究の「ウリ」は何か?

学会に応募する以上、研究には他の研究に見られない特徴が必要。いったいこの研究の特徴は何だろう?症状から疾患を予測すること?それもあるだろうけど、特徴といってよいほど根拠のしっかりしたものだろうか。これをメインにするわけにはいかないだろう。そもそも予測する疾患が仰々しすぎる。子宮内膜症、子宮体癌、子宮筋腫、子宮頸がん、・・・。
抄録に記載すべき事柄を整理する必要がある。
  1. 従来の女性健康管理アプリは入力した情報の共有や再利用は考えていない
  2. 先行研究のPMSの記録にターゲットを絞ったアプリは、患者と医療者(医師)との間での情報共有を目的としているが、他のシステム、たとえば電子カルテや他のPHRとの相互運用性を考えているわけではない
  3. そこで、HL7 FHIRを用いて他のアプリやシステムと相互運用性を実現できる仕組みを作り、プロトタイプを開発して実証実験をやってみる
  4. その際、相互運用性の実証実験に用いるスマホアプリは電子母子健康手帳、健診アプリとする(両アプリともHL7 FHIR対応)
  5. 実証実験によって問題点を洗い出す
    • データ統合の問題(PIX/PDQの必要性)
    • データ更新の問題(データ更新権限と参照権)
    • 情報粒度の問題(目的によって情報の粒度は異なる。どう対応するか)

2017年5月10日水曜日

病院の一覧の参考

岡山医療情報ネット

科目から選択でき、地域検索も可能です。

いよいよ学会に応募です

ゴールデンウィークも明け、いよいよ学会のエントリに向けて準備を本格始動しなければなりません。まずは学会のサイトからアカウントを取得して必要事項を記入してみましょう。800字以内の抄録については締め切りまで何度でも修正できるでしょうから。

現在、ナイーブベイズ分類器による疾患分類とスマホアプリの画面設計の2つに分けて作業を進めています。抄録には嘘は書けないので、両方とも発表できるレベルまで持って行かねばなりません。この1か月が勝負です。

疾患分類については素性として品詞を選択して分類実験をしています。その結果を見て次のステップに移ります。次のステップは、医中誌の抄録ではなく、今回対象とする5つの疾患に対するネットの情報をコーパスとして収集し、それに対して分類実験を行います。
次に、参考図書「PHPによる機械学習入門」をもとにサーバでナイーブベイズ分類器を作成し、スマホアプリで利用できるWebAPIを作ります。

スマホアプリについては、画面設計が終わったらユースケース図を作成してユースケースシナリオユースケース記述)を作成してこの画面設計で十分かどうかを検証します(順序が逆ではありますが・・・)。その後、データ項目を拾い上げ、エクセルで項目一覧をまとめます。データ項目はJ-MIXを使って整理しましょう。アプリではデータをクラウドではなくスマホ上に持ちます。ですからリレーショナルデータベースは使いません。スマホのローカルストレッジに格納しやすい形式でデータを保存することになるでしょう。JSONが無難かなと考えています。