IME2010の辞書作成
スポンサーリンク
IME2010の辞書作成方法について調べた結果のまとめです。
ウェブ上にある情報はツールを使って登録する方法や、辞書プロパティから一つ一つ手動で登録するやり方の紹介が多いのですが、ここで紹介しているのは大量の単語を登録しなければならない場合や、データベースからスクリプトで辞書を自動作成する場合などに向いているかと思います。
辞書仕様
IME2010はXML形式で作成します。マイクロソフトの仕様についてまとめたページはこちら。
ファイル名は任意のものでOK。拡張子はdctx、文字エンコーディングはUTF-8です。
XMLの見本は以下の通りです。これをXMLファイルにコピペしてIMEに取り込めば最低限使えるようになります。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns1:Dictionary xmlns:ns1="http://www.microsoft.com/ime/dctx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns1:DictionaryHeader> <ns1:DictionaryGUID>{0000abcd-1234-ABCD-12ab-1234abcdefgh}</ns1:DictionaryGUID> <ns1:DictionaryLanguage>ja-jp</ns1:DictionaryLanguage> <ns1:DictionaryVersion>1</ns1:DictionaryVersion> <ns1:SourceURL/> <ns1:CommentInsertion>true</ns1:CommentInsertion> <ns1:DictionaryInfo Language="ja-jp"> <ns1:ShortName>辞書名(略称)</ns1:ShortName> <ns1:LongName>辞書名(正式名称)</ns1:LongName> <ns1:Description>辞書についての説明</ns1:Description> <ns1:Copyright>著作者名</ns1:Copyright> </ns1:DictionaryInfo> </ns1:DictionaryHeader> <ns1:DictionaryEntry> <ns1:InputString>へんかん</ns1:InputString> <ns1:OutputString>変換</ns1:OutputString> </ns1:DictionaryEntry> <ns1:DictionaryEntry> <ns1:InputString>ほげ</ns1:InputString> <ns1:OutputString>ホゲホゲ</ns1:OutputString> </ns1:DictionaryEntry> </ns1:Dictionary>
htmlやXMLの知識がある人なら、タグ名を見ているだけでなんとなくは分かるかと思います。1行目のXML宣言や2行目のDictionaryタグは変更せずそのまま使います。
4行目のDictionaryGUID
は任意のIDを設定します。このIDが一致する辞書は同一の辞書として扱われます。後から語数などを増やして辞書を更新し、もう一度IMEに取り込む際に、このIDが一致する場合は同一の辞書と判断され、既存のものを上書きしてくれます。そのため、辞書を更新しながら長期間使う場合、DictionaryGUID
は絶対に変更してはいけません。当然ながら、他の辞書と同じものを使ってもいけません。IDに使えるのは32桁のアルファベット大文字小文字と0から9の数字です。まあ、偶然にも他の辞書と一致することはないでしょう。XMLをコピペして使う場合に、このIDを変えずにそのまま使うことだけは避けましょう。
ヘッダータグ(<ns1:DictionaryHeader>
)内のCommentHeader1から3のタグはなくても問題ありません。その他のタグは必須です。
登録単語の設定は<ns1:DictionaryEntry>
タグ内に記します。最低限必要なのは<ns1:InputString>
と<ns1:OutputString>
の2つです。<ns1:InputString>
が入力する単語、<ns1:OutputString>
が変換後の単語を意味しています。
<ns1:DictionaryEntry>
は入力語と変換語以外にも、品詞や優先順位、逆変換の有無、コメントや関連情報へのリンクなど様々な要素が指定可能です。これらについては後で資料として付記しています。
インポート
辞書ファイルをダブルクリックで取り込みが可能です。ここで紹介した方法だと電子署名がありませんので、インポート時に「安心設定」により、一部の単語の取り込みが拒否されてしまいます。その場合はIMEのプロパティから辞書設定に行き、作成した辞書の「詳細設定」から「安心設定」を開き、「安心フィルター」のチェックを外せば拒否された単語も取り込まれます。
また、「安心設定」の「使用したことのない単語は候補リストにも表示する」のチェックも外しておいた方が良いかもしれません。
圧縮と電子署名
IME辞書はCabinetファイル形式に圧縮して電子署名を付けた場合とつけていない場合で挙動が変わってくるのですが、ここではこの二点については調べていません。最低限、使えればいいくらいの目的に向いた方法をまとめています。
なお、Cabinetファイル形式に圧縮した場合の拡張子はdctxcです。
IME2010辞書XMLタグ一覧
タグ名 | ペアレント | 説明 | 必須 | Max/Min Occur | データ型 | 有効な値 | 既定値 |
---|---|---|---|---|---|---|---|
2014年9月5日現在 | |||||||
Dictionary | (Root) | 辞書ファイルのルートノード | Y | 1/1 | None | ||
DictionaryHeader | Dictionary | プロパティーなどに表示される辞書の情報を格納するノード | Y | 1/1 | None | ||
DictionaryEntry | Dictionary | 単語を格納するノード | Y | 36000 0/1 | None | ||
DictionaryGUID | Dictionary Header | 辞書のユニークID 同じ辞書ならバージョンが変わってもこの部分は変えてはならない | Y | 1/1 | \{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\} | Valid GUID string | None |
DictionaryLanguage | Dictionary Header | 辞書の言語 | Y | 1/1 | xs:language | ja-jp | None |
DictionaryVersion | Dictionary Header | 辞書のバージョン プロパティダイアログ上では、”ww.xx.yy.zz”形式で表示され、ここで指定した値は”yy”の位置に表示される | Y | 2/1 | unsigned int 0-9999 | 0-9999 | |
DictionaryInfo | Dictionary Header | 辞書のプロパティー情報 | Y | 1/1 | None | ||
Language | Dictionary Info(Attribute) | 辞書のプロパティーの表示に使用されるUI言語の指定 | Y | 1/0 | xs:language | en-us ja-jp zh-cn | ja-jp (for ja-jp dictionary) zh-cn (for zh-cn dictionary) |
SourceURL | Dictionary Header | 更新の確認ボタンを押した時に表示されるページURL 辞書ファイルを直接さしている必要はない | N | 1/0 | xs:anyURI Max length = 2048 | URI string | |
CommentInsertion | Dictionary Header | コメントに表示された文字列の挿入を許可するかどうかの指定 | N | 1/0 | xs:boolean | true false | false |
ShortName | Dictionary Info | 候補ウインドウに表示される辞書名 | Y | 1/1 | xs:string 1 – 31 | String | |
LongName | Dictionary Info | プロパティーダイアログに表示される辞書名 | N | 1/0 | xs:string 1 – 127 | String | |
Description | Dictionary Info | 辞書の情報ダイアログに表示される説明 | Y | 1/1 | xs:string 1 – 255 | String | |
Copyright | Dictionary Info | 辞書の情報ダイアログに表示される著作権情報 | Y | 1/1 | xs:string 1 – 127 | String | |
CommentHeader1 | Dictionary Info | コメントウインドウに表示されるコメントのタイトル | N | 1/0 | xs:string 1 – 127 | String | “Comment1” |
CommentHeader2 | Dictionary Info | コメントウインドウに表示されるコメントのタイトル | N | 1/0 | xs:string 1 – 127 | String | “Comment2” |
CommentHeader3 | Dictionary Info | コメントウインドウに表示されるコメントのタイトル | N | 1/0 | xs:string 1 – 127 | String | “Comment3” |
InputString | Dictionary Entry | 単語の読み | Y | 1/0 | xs:string (JPN)1 – 60 (CHS)1 – 63 | String | |
OutputString | Dictionary Entry | 単語の表記 | Y | 1/0 | xs:string (JPN) 1 – 60 (CHS)1 – 9 | String | |
PartOfSpeech | Dictionary Entry | 単語の品詞 | N | 1/0 | xs:string 1 – 24 | String | 品詞の種類は後述 |
CommentData1 | Dictionary Entry | 単語コメント | N | 1/0 | xs:string 1 – 256 | String | |
CommentData2 | Dictionary Entry | 単語コメント | N | 1/0 | xs:string 1 – 256 | String | |
CommentData3 | Dictionary Entry | 単語コメント | N | 1/0 | xs:string 1 – 256 | String | |
URL | Dictionary Entry | 関連情報へのリンク | N | 1/0 | xs:anyURI Max length = 2048 | http://または、https://で始まるURI string | |
Priority | Dictionary Entry | 単語コスト(補足を参照) | N | 1/0 | xs:integer 0-255 | 0-255 | 255 |
ReverseConversion | Dictionary Entry | 逆変換時の使用(補足を参照) | N | 1/0 | xs:boolean | true false | false |
CommonWord | Dictionary Entry | 一般語の指定(補足を参照) | N | 1/0 | xs:boolean | true false | false |
タグ仕様補足
- Cost
- 変換時の単語の出やすさを0~255の間でコントロール。数字が小さいほど出やすい。通常100~200程度に設定
- ReverseConversion
- 再変換を行うための逆変換処理を行うかどうか。読みに戻す際に単語を解析に使用するかどうかを指定する
- CommonWord
- 一度も使用されていない状態の際にも変換のための解析に使用するかどうかを指定。Falseの場合、初出時は候補リストに表示するのみで、変換キーを押した時の変換結果には出現させない
品詞一覧表
PartOfSpeech
タグで指定可能な品詞の一覧表。
Value | 日本語名 | 既定で利 用可 | 説明 |
---|---|---|---|
※“既定で利用可“は、Code Signの無い辞書でも既定で使用可能な品詞 | |||
Noun | 普通名詞 | Y | 一般的な名詞を登録したい場合に利用する品詞 |
Noun-Sa | さ変名詞 | Y | 単独で名詞となり、「~する」がついて動詞となる語を登録したい場合に利用する品詞 |
Noun-Za | ざ変名詞 | Y | 単独で名詞となり、「~ずる」がついて動詞となる語を登録したい場合に利用する品詞 |
Noun-Adjectival | 形動名詞 | Y | 単独で名詞となり、「~な」がついて形容動詞としても利用できる語を登録したい場合に利用する品詞 |
Noun-Adverb | 副詞的名詞 | Y | 単独で名詞となり、「が」、「を」などを伴わずに用言を修飾できる語を登録したい場合に利用する品詞 |
Noun-Sa-Adjectival | さ変形動名詞 | Y | 単独で名詞となり、「~な」がついて形容動詞として利用でき、「する」がついて動詞となる語を登録したい場合に利用する品詞 |
Name-Personal | 人名 | Y | 外国人名や、姓名セットで登録したい場合に利用する品詞 |
Name-Family | 姓 | Y | 日本人の姓(Familyname)を登録したい場合に利用する品詞 |
Name-Given | 名 | Y | 日本人の名(Givenname)を登録したい場合に利用する品詞 |
Place | 地名 | Y | 場所の名前を登録したい場合に利用する品詞 |
Place-Prefecture | 県 | Y | 県名を登録したい場合に利用する品詞(接尾語の「県」はつけずに登録する) |
Place-County | 郡 | Y | 郡名を登録したい場合に利用する品詞(接尾語の「郡」はつけずに登録する) |
Place-Ward | 区 | Y | 区名を登録したい場合に利用する品詞(接尾語の「区」はつけずに登録する) |
Place-City | 市 | Y | 市名を登録したい場合に利用する品詞(接尾語の「市」はつけずに登録する) |
Place-Town | 町 | Y | 接尾語「町」の読みが「ちょう」、「まち」両方とも使える町名を登録したい場合に利用する品詞(接尾語の「町」はつけずに登録する) |
Place-Town-Machi | 町1 | Y | 接尾語「町」の読みが「まち」の町名を登録したい場合に利用する品詞(接尾語の「町」はつけずに登録する) |
Place-Town-Cho | 町2 | Y | 接尾語「町」の読みが「ちょう」の町名を登録したい場合に利用する品詞(接尾語の「町」はつけずに登録する) |
Place-Village | 村 | Y | 接尾語「村」の読みが「そん」、「むら」両方とも使える町名を登録したい場合に利用する品詞(接尾語の「町」はつけずに登録する) |
Place-Village-Mura | 村1 | Y | 接尾語「村」の読みが「むら」の町名を登録したい場合に利用する品詞(接尾語の「村」はつけずに登録する) |
Place-Village-Son | 村2 | Y | 接尾語「村」の読みが「そん」の町名を登録したい場合に利用する品詞(接尾語の「村」はつけずに登録する) |
Place-Station | 駅 | Y | 駅名を登録したい場合に利用する品詞(接尾語の「駅」はつけずに登録する) |
Noun-Proper | 固有名詞 | Y | 固有名詞を登録したい場合に利用する品詞 |
Name-Company | 社名 | Y | 会社名を登録したい場合に利用する品詞 |
Name-Organization | 組織 | Y | 組織名(大学名など)を登録したい場合に利用する品詞 |
Name-Construction | 建築物 | Y | 建築物を登録したい場合に利用する品詞 |
Pronoun | 代名詞 | 代名詞を登録したい場合に利用する品詞 | |
Number | 数 | 数を登録したい場合に利用する品詞 | |
Verb-5-AW | あわ行五段 | あわ行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-5-K | か行五段 | か行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-5-G | が行五段 | が行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-5-S | さ行五段 | さ行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-5-T | た行五段 | た行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-5-N | な行五段 | な行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-5-B | ば行五段 | ば行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-5-M | ま行五段 | ま行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-5-R | ら行五段 | ら行五段活用の動詞を登録したい場合に利用する品詞 | |
Verb-EuphonyU-AW | あわ行う音便 | あわ行う音便活用の動詞を登録したい場合に利用する品詞 | |
Verb-Euphony-K | か行促音便 | か行促音便活用の動詞を登録したい場合に利用する品詞 | |
Verb-Irregular-R | ら行変格 | ら行変格活用の動詞を登録したい場合に利用する品詞 | |
Verb-1 | 一段動詞 | 一段動活用の動詞を登録したい場合に利用する品詞 | |
Adjective | 形容詞 | 形容詞を登録したい場合に利用する品詞 | |
Adjective-Garu | 形容詞ガル | 「~がる」と活用する形容詞を登録したい場合に利用する品詞 | |
Adjective-Me | 形容詞メ | 「~め」と活用する形容詞を登録したい場合に利用する品詞 | |
Adjective-Syu | 形容詞シュウ | 「~ゅう」と活用する形容詞を登録したい場合に利用する品詞 | |
AdjectivalNoun | 形容動詞 | 形容動詞を登録したい場合に利用する品詞 | |
AdjectivalNoun-No | 形容動詞ノ | 「~の」と活用する形容詞を登録したい場合に利用する品詞 | |
AdjectivalNoun-Taru | 形容動詞タル | 「~たる」と活用する形容詞を登録したい場合に利用する品詞 | |
Adverb | 副詞 | 副詞を登録したい場合に利用する品詞 | |
Adverb-Suru | 副詞さ変 | 単独で副詞となり、「~する」がついて動詞となる語を登録したい場合に利用する品詞 | |
Adverb-Ni | 副詞ニ | 「~に」がつきやすい副詞を登録したい場合に利用する品詞 | |
Adverb-Na | 副詞ナ | 「~な」がつきやすい副詞を登録したい場合に利用する品詞 | |
Adverb-Da | 副詞ダ | 「~だ」がつきやすい副詞を登録したい場合に利用する品詞 | |
Adverb-To | 副詞ト | 「~と」がつきやすい副詞を登録したい場合に利用する品詞 | |
Adverb-Tosuru | 副詞トさ変 | 「~とする」がつきやすい副詞を登録したい場合に利用する品詞 | |
Adnominal | 連体詞 | 連体詞を登録したい場合に利用する品詞 | |
Conjunction | 接続詞 | 接続詞を登録したい場合に利用する品詞 | |
Interjection | 感動詞 | 感動詞を登録したい場合に利用する品詞 | |
Prefix | 接頭語 | 接頭語を登録したい場合に利用する品詞 | |
Suffix | 接尾語 | 接尾語を登録したい場合に利用する品詞 | |
Suffix-PersonalName | 人名接尾語 | 人名の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Suffix-Number | 後置助数詞 | 助数詞を登録したい場合に利用する品詞 | |
Prefix-Number | 前置助数詞 | 数字の前につきやすい単語を登録したい場合に利用する品詞 | |
Suffix-Prefecture | 県接尾語 | 県の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Suffix-County | 郡接尾語 | 郡の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Suffix-Ward | 区接尾語 | 区の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Suffix-City | 市接尾語 | 市の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Suffix-Town1 | 町1接尾語 | 町および町1の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Suffix-Town2 | 町2接尾語 | 町および町2の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Suffix-Village1 | 村1接尾語 | 村および村1の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Suffix-Village2 | 村2接尾語 | 村および村2の後ろにつきやすい単語を登録したい場合に利用する品詞 | |
Character | 単漢字 | 単独の漢字を登録したい場合に利用する品詞 | |
Symbol | 記号 | 記号を登録したい場合に利用する品詞 | |
Idiom | 慣用句 | 慣用句を登録したい場合に利用する品詞 | |
ShortCut | 短縮よみ | Y | 長い語句を短い読みで登録したい場合に利用する品詞 |
Emoticon | 顔文字 | Y | 顔文字を短い読みで登録したい場合に利用する品詞 |
スポンサーリンク