syou6162 dbcls
TRANSCRIPT
統合データベース講演会AJACS本郷6
蛋白質核酸酵素のテキストデータを自然言語処理
する仕事吉田 康久(id:syou6162、@syou6162)
Saturday, March 20, 2010
今日話すこと• 簡単な自己紹介• 自然言語処理とは?
• DBCLSでやっていた仕事• 辞書作り• 辞書があるとできるものの例
• DBCLSで働くことのメリット
Saturday, March 20, 2010
自己紹介• 吉田 康久(id:syou6162、@syou6162)
• つくば => 奈良
• 自然言語処理、機械学習
• 生物の知識は中学生で止まってる
• DBCLSでは2009年4月から
• 統計処理言語Rの勉強会Tsukuba.R
Saturday, March 20, 2010
今日話すこと• 簡単な自己紹介• 自然言語処理とは?
• DBCLSでやっていた仕事• 辞書作り• 辞書があるとできるものの例
• DBCLSで働くことのメリット
Saturday, March 20, 2010
自然言語処理とは?
Saturday, March 20, 2010
自然言語処理 × DBCLS• ライフサイエンス分野には自然言語リソースがあふれている!
• 他の分野だと他にあまり例がない• NCBI
• PubMed(文献データベース)
• OMIM(疾患と疾患関連遺伝子のデータベース)
• 統合ホームページ• 蛋白質核酸酵素 全文検索
• 文科省「ゲノム」研究報告書 全文検索
• 学会要旨統合検索Saturday, March 20, 2010
バイオ系DBと自然言語リソース
バイオ系DB自然言語リソース
DBの例 Entrez gene Pubmed
中身 配列、発現、SNP
文献
他のDBへのリンク
豊富 貧弱
構造 整ってる 整ってない
Saturday, March 20, 2010
自然言語リソースでの困難
• 分かり書きでの失敗• 「蛋白質」 => 「蛋白」+「質」
• 係り受け解析での失敗• 蛋白質、遺伝子、化合物間の相互作用を見たいとき
Saturday, March 20, 2010
困難な例• 複数の遺伝子などで、同じ名前を共有している
• PDS: pendred syndrome gene、PDS: prostaglandin D2 synthase
• 長い名前には、書き方のバリエーション(揺らぎ)がある
• 例:NHE3
• Na(+)/H(+) exchanger 3
• Na+/H+ exchanger 3
• Na(+)-H(+) exchanger NHE3
自然言語の曖昧性が常に問題になってくる!!
Saturday, March 20, 2010
今日話すこと• 簡単な自己紹介• 自然言語処理とは?
• DBCLSでやっていた仕事• 辞書作り• 辞書があるとできるものの例
• DBCLSで働くことのメリット
Saturday, March 20, 2010
DBCLSでの仕事• (ライフサイエンス分野の)専門用語辞書を作る
• 広辞苑のように、言葉の定義が書いてある辞書ではない
• 専門用語である単語の集合
Saturday, March 20, 2010
なぜ辞書が重要か• 辞書は自然言語処理技術において基盤となるリソース
• (辞書にない)未知語は分かち書きで失敗する可能性が非常に高い
• 多くの技術はこれらが整備されていることを前提としている• 英語は(日本語に比べると)ある• 日本語リソースの現状は、、、
• DBCLSでは日本語リソースに力を入れている
Saturday, March 20, 2010
どのように用語を選ぶか?• 専門用語は名詞が連続しているものが多い• 連続しているものだけ取ってくると...
専門用語でないような言葉が大量に出てくる
ルールベース(例:正規表現で取り除く)
だと例外が多すぎて対応しきれない
既存の辞書から専門用語がどのようなものかを学習させて、それに分類
してもらおう!!
Saturday, March 20, 2010
既存の辞書• ライフサイエンス辞書
• 京大の金子先生が中心に作られている
• UMLS
• NLMが構築している医学一般の機械可読辞書
しかし、これだけでは足りない&どんどん新語が登場する
コーパス(ドキュメントの集合)から辞書を自動的に構築したい!!
Saturday, March 20, 2010
学習させる?• 機械学習と呼ばれる手法を使う• データから規則や性質などを自動的に会得 => それを使って分類• スパムフィルタ、DNA配列の分類、医療診断etc
• 人手でルールを記述するコストが膨大or/and困難なときによく使われる
• 辞書構築にもこれが使えないか?
Saturday, March 20, 2010
パーセプトロン
a + b x + c y = 0
a、b、cをうまい具合に決めてくれるのがパーセプロトンのアルゴリズム!!
Saturday, March 20, 2010
文章 => 数値idに変換血液幹細胞のクローン性増殖に関する研究
血液|幹|細胞|の|クローン|性|増殖|に関する|研究
1:1|2:1|3:1|4:1|5:1|6:1|7:1|8:1|9:11:1|1:1|1:1|2:1|3:1|4:1|5:1|6:1|7:1
注目している単語のidと品詞前後二つの単語idと品詞注目している単語の長さ
パーセプトロン専門用語かどうかを判定した結果を返す
Saturday, March 20, 2010
パーセプトロンによる出力
右の列はパーセプトロンによるスコア。0以上かどうかで専門用語かどうかを判断する。
Saturday, March 20, 2010
今日話すこと• 簡単な自己紹介• 自然言語処理とは?
• DBCLSでやっていた仕事• 辞書作り• 辞書があるとできるものの例
• DBCLSで働くことのメリット
Saturday, March 20, 2010
http://g86.dbcls.jp/~syou6162/pne/
専門用語の特徴語抽出
Saturday, March 20, 2010
専門誌の特徴語抽出• 蛋白質核酸酵素(PNE)1985年~2006年• 作った辞書を元に、各年の特徴的な用語を知りたい• 分野の流行り廃り
• TF-IDFと呼ばれる指標(本当は似たようなものを使っている)
• 単語の出現頻度が多いものは重要• 多くのドキュメントに出てくる単語は重要度を割引く
Saturday, March 20, 2010
http://g86.dbcls.jp/~syou6162/pne/term/核内レセプターコサイン類似度で共起している単語を抽出
単純な登場回数
Saturday, March 20, 2010
特定の単語の傾向も知りたい
• その単語が何年に盛り上っているか?
• どういう単語と一緒によく出てくるのか?
• 一緒に出てくる単語が分かれば、どういう分野で使われている単語を理解するための助けとなる...はず
• 自分の分野でも欲しかったり
Saturday, March 20, 2010
辞書が整備されると...
• 自然言語処理の精度がよくなる• 辞書が定義されると• テキスト中の専門用語を効率よく取得できる
• トレンドや共起語を見つけることができる
Saturday, March 20, 2010
今日話すこと• 簡単な自己紹介• 自然言語処理とは?
• DBCLSでやっていた仕事• 辞書作り• 辞書があるとできるものの例
• DBCLSで働くことのメリット
Saturday, March 20, 2010
メリット:繋がり• 研究室以外での繋りができる• 東大、東工大、お茶の水、筑波、東京海洋大、日大、東京農業大学
• 分野外での知り合いができる• ウエット、ドライ、情報系etc
• 自分が詳しくないことは教え合える• 自分の理解も深まる
Saturday, March 20, 2010
メリット:勉強• 言われてやる仕事はほとんどない• 相談をしながら、自分の興味のあることを、自分のペースでやれる
• 自然言語処理のことやC++のことはDBCLSに入った頃から覚え始めた
• 「言われたことをやるのが楽だから...」という人には向かないかも
Saturday, March 20, 2010
まとめ• 簡単な自己紹介• 自然言語処理とは?
• DBCLSでやっていた仕事• 辞書作り• 辞書があるとできるものの例
• DBCLSで働くことのメリット
Saturday, March 20, 2010