[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[orca-dev:00039] 病名クラス
- To: ORCA Developers <orca-dev@xxxxxxxxxxxxxx>
- Subject: [orca-dev:00039] 病名クラス
- From: Yoshinori Ariie <PBA00250@xxxxxxxxx>
- Date: Mon, 20 May 2002 23:26:47 +0900
有家@松山記念病院です。
users-ML で
date: Fri, May 17, 2002 at 12:01:57PM +0900
from: Yoshinori Ariie <PBA00250@xxxxxxxxx>
>
> 病名や症状名は(論理性を持った)文字列の結合ですから
> 日本語病名もオブジェクト指向言語(Ruby等)のクラスのような形式で表現できれば
> それを扱うプログラムの生産性が一気に高まると思います。
などと、大ぶろしきをひろげてしまったので、この数日悩んでいました (^^);
病名や症状名は自然言語、おもに複合名詞であり、その分析ツールを探していたら
ChaSen http://chasen.aist-nara.ac.jp/index.html.ja
MSLR Parser http://tanaka-www.cs.titech.ac.jp/pub/mslr/index-j.html
を見つけました。ChaSenが良さそうなので
http://chasen.aist-nara.ac.jp/stable/chasen/chasen-2.2.9.tar.gz
http://chasen.aist-nara.ac.jp/stable/ipadic/ipadic-2.4.4.tar.gz
http://www.itlb.te.noda.sut.ac.jp/~ikarashi/ruby/chasen1.6.tar.gz
をインストールして
以下のような(たいへんおおざっぱな)クラスを書いて見ました。
ここで「電脳依存型強迫神経症」というのは私の造語ですが、これが
["電脳", "依存", "型", "強迫", "神経症"]
というような配列として出力されます。
それがどうした、と言われそうですが、あとこの IPADIC を医学用に拡張すれば
もう少し、何かできそうに思います。
#!/usr/local/bin/ruby -Ke
require "chasen.o"
class Disease < String
def initialize(str)
@name = str
end
def split
arr = Chasen.sparse(@name).split("\n").each{|i| i.gsub!(/\s.*/,"")}
arr.pop # pop "EOS"
arr
end
end
p Disease.new("電脳依存型強迫神経症").split
__END__
--
pba00250@xxxxxxxxx
yoariie@xxxxxxxxxxxxxxx
-------------------------
有家佳紀 Yoshinori Ariie