医学用語変換辞書

医学用語変換辞書

一応ながらPerlプログラム作ってみました。

医学用語変換辞書の作成(Windows版)

一万語医学辞書をQPOBoxに組み込んでみた。
流れは以下の通り。

  1. 一万語医学辞書の加工
    1. 品詞の削除
    2. 全角→半角の変換
    3. 1列目ひらがな→アルファベットの変換
  2. staticdicの加工
    1. 辞書の結合,並べ替え
    2. staticdicの置き換え


前準備として,


①一万語医学辞書の加工(品詞の削除)
ここからDL。実際は5万語近くあり,学生レベルが使うには困らないものと思われる。
exeを展開してMSMED12.txtをExcelで開く。
MSMED12.txtは,

[読み(ひらがな)][TAB][変換候補][TAB][品詞]

という構成になっているので,区切りは「タブ」を指定。
一方,POBoxの辞書形式は,

[読み(アルファベット)][TAB][変換候補]

なので,MSMED12.txtの品詞の列(3列目)は削除する。
他にも必要ない変換候補は行単位で削除する。


②一万語医学辞書の加工(全角→半角の変換)
個人的に英数はいつも半角を使うので,
ここでExcelの列ごとに変換する。
1列目はチェックを「Alphabet」と「数字」と「大文字⇔小文字」にし,
2列目はチェックを「Alphabet」と「数字」にする。
1列目のみを別にtxtファイルにして保存する。(これをアルファベットに変換するため)


②’一万語医学辞書の加工(kakasidict追加用を作成)
医学用語変換辞書の手順ではないが,namazuで使うための加工をついでにしておく。

[ひらがな][半角スペース][漢字][改行(LF)]

となるように「TAB(\t)」を「半角スペース」で置換し,EUCテキストファイルとして②とは別に保存しておく。


③一万語医学辞書の加工(1列目ひらがな→アルファベットの変換)
MultiReplace」を使わせていただいた。
MultiReplaceに使う置換リストを,医療とザウルス奮闘記さんの置換リストを改良して作成する。
(残念ながら↑のリストでは「っ」の変換が不完全です)
(例えば「結核」が「kextukaku」になってしまう)
(あと「ぁぃぅぇぉ」の変換の仕方も慣れないので変えさせてもらいました)
置換リストの完成品はこちら
MultiReplaceを起動させ,
区切り文字を「,」にして,
置換リストに作った変換ルールをコピペする。
そして1列目だけのtxtファイルをドロップして置換する。
Excelの1列目に置換したものを貼り付けて,変換のおかしいところがないかをざっとチェックする。
(特に「っぁぃぅぇぉ」。元々の辞書が間違っている箇所があった)
(自分の時は「律」「舌下小丘」で引っかかった)


④staticdicの加工
C3000のstaticdic(/hdd2/QtPalmtop/pobox/staticdic)のバックアップを取る。
staticdicをWindowsの母艦PCにコピー。
TeraPadで開き,文字コードを「Shift-JIS」,改行コードを「CR+LF」にしてtxtで保存する。
staticdic.txtを「タブ」区切り,「日本語(シフトJIS)」を選択してExcelで開く。
文字化けしていなければOK。
一部に3列目があるが,無視してよい。


⑤辞書の結合,並べ替え
Excelで開いているstaticdic.txtの最終行に,
それぞれ一万語医学辞書の1列目,2列目をコピペする。
「編集」→「並び替えとフィルタ」→「昇順」
にして保存。
TeraPadで開いて,文字コードを「EUC」,改行コードを「LF」にしてtxtで保存する。


⑥staticdicの置き換え
/hdd2/QtPalmtop/pobox/にデータをコピーし,
「staticdic」と名前を変更,パーミッションは「644」にして再起動。
QPOBoxを起動し無事変換できれば出来上がり。

ref


医学用語変換辞書の作成(ActivePerl for Windows版)

プログラム初心者が作成したPerlプログラムです。
一万語医学辞書をQPOBoxに組み込む専用のプログラムです。
プログラムの実行によりPCに不具合が生じる可能性があることを了承した上でお使いください。
ソースはここです。文字コード「UTF-8N」で「convertdic.pl」として保存してください。

  • 仕様
    • MSMED12.txtから[ひらがな][半角スペース][漢字][改行(LF)]というkakasi用の追加辞書(kakasidic.txt)を作成します。
    • MSMED12.txtを上記の置換リストを元にQPOBox用辞書にし,「staticdic.txt(※)」と結合,重複行削除,並び替えをした新しいQPOBox用辞書(newdic.txt)を作成します。
      ※「staticdic」そのものではなく,文字コードを「SHIFT-JIS」,改行コードを「CR+LF」にして保存し直した「staticdic.txt」を必ず使ってください。
  • 使い方 ①Windows(x86)のActivePerlをインストールしてください。
    (バージョン5.8.9で作成しました)
    ②TeraPadなどを用いて,「staticdic」の文字コードを「SHIFT-JIS」,改行コードを「CR+LF」にして「staticdic.txt」として保存してください。
    ※文字コードは必ず変えてください。でないと文字化けします。
    置換リストを適当な名前で保存してください。(例:list.txt)
    ④「convertdic.pl」,「MSMED12.txt」,「staticdic.txt」,「list.txt」を全て同じディレクトリに置きます。そしてコマンドプロンプトを呼び出し,4つを置いているディレクトリに移動し,以下のコマンドを実行します。
    >perl convertdic.pl MSMED12.txt staticdic.txt list.txt
    
    ⑤しばらくすると(管理人の環境では4分近く),「kakasidic.txt」と「newdic.txt」が作成されます。
    ⑥「kakasidic.txt」の使い方は[[kakasi辞書の追加>]]をお読みください。
    ⑦「newdic.txt」をTeraPadで文字コードを「EUC」,改行コードを「LF」にして保存し直してください。
    ⑧/hdd2/QtPalmtop/pobox/に「newdic.txt」をコピーし,「staticdic」と名前を変更,パーミッションは「644」にして再起動。QPOBoxを起動し無事変換できれば出来上がりです。
最終更新:2009年04月29日 20:03