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)辞書ファイルのルートノードY1/1  None
DictionaryHeaderDictionaryプロパティーなどに表示される辞書の情報を格納するノードY1/1  None
DictionaryEntryDictionary単語を格納するノードY36000
0/1
  None
DictionaryGUIDDictionary Header辞書のユニークID
同じ辞書ならバージョンが変わってもこの部分は変えてはならない
Y1/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 stringNone
DictionaryLanguageDictionary Header辞書の言語Y1/1xs:languageja-jpNone
DictionaryVersionDictionary Header辞書のバージョン
プロパティダイアログ上では、”ww.xx.yy.zz”形式で表示され、ここで指定した値は”yy”の位置に表示される
Y2/1unsigned int 0-99990-9999 
DictionaryInfoDictionary Header辞書のプロパティー情報Y1/1  None
LanguageDictionary Info(Attribute)辞書のプロパティーの表示に使用されるUI言語の指定Y1/0xs:languageen-us ja-jp zh-cnja-jp (for ja-jp dictionary) zh-cn (for zh-cn dictionary)
SourceURLDictionary Header更新の確認ボタンを押した時に表示されるページURL
辞書ファイルを直接さしている必要はない
N1/0xs:anyURI Max length = 2048URI string 
CommentInsertionDictionary Headerコメントに表示された文字列の挿入を許可するかどうかの指定N1/0xs:booleantrue falsefalse
ShortNameDictionary Info候補ウインドウに表示される辞書名Y1/1xs:string 1 – 31String 
LongNameDictionary Infoプロパティーダイアログに表示される辞書名N1/0xs:string 1 – 127String 
DescriptionDictionary Info辞書の情報ダイアログに表示される説明Y1/1xs:string 1 – 255String 
CopyrightDictionary Info辞書の情報ダイアログに表示される著作権情報Y1/1xs:string 1 – 127String 
CommentHeader1Dictionary Infoコメントウインドウに表示されるコメントのタイトルN1/0xs:string 1 – 127String“Comment1”
CommentHeader2Dictionary Infoコメントウインドウに表示されるコメントのタイトルN1/0xs:string 1 – 127String“Comment2”
CommentHeader3Dictionary Infoコメントウインドウに表示されるコメントのタイトルN1/0xs:string 1 – 127String“Comment3”
InputStringDictionary Entry単語の読みY1/0xs:string (JPN)1 – 60 (CHS)1 – 63String 
OutputStringDictionary Entry単語の表記Y1/0xs:string (JPN) 1 – 60 (CHS)1 – 9String 
PartOfSpeechDictionary Entry単語の品詞N1/0xs:string 1 – 24String品詞の種類は後述
CommentData1Dictionary Entry単語コメントN1/0xs:string 1 – 256String 
CommentData2Dictionary Entry単語コメントN1/0xs:string 1 – 256String 
CommentData3Dictionary Entry単語コメントN1/0xs:string 1 – 256String 
URLDictionary Entry関連情報へのリンクN1/0xs:anyURI Max length = 2048http://または、https://で始まるURI string 
PriorityDictionary Entry単語コスト(補足を参照)N1/0xs:integer 0-2550-255255
ReverseConversionDictionary Entry逆変換時の使用(補足を参照)N1/0xs:booleantrue falsefalse
CommonWordDictionary Entry一般語の指定(補足を参照)N1/0xs:booleantrue falsefalse

タグ仕様補足

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-FamilyY日本人の姓(Familyname)を登録したい場合に利用する品詞
Name-GivenY日本人の名(Givenname)を登録したい場合に利用する品詞
Place地名Y場所の名前を登録したい場合に利用する品詞
Place-PrefectureY県名を登録したい場合に利用する品詞(接尾語の「県」はつけずに登録する)
Place-CountyY郡名を登録したい場合に利用する品詞(接尾語の「郡」はつけずに登録する)
Place-WardY区名を登録したい場合に利用する品詞(接尾語の「区」はつけずに登録する)
Place-CityY市名を登録したい場合に利用する品詞(接尾語の「市」はつけずに登録する)
Place-TownY接尾語「町」の読みが「ちょう」、「まち」両方とも使える町名を登録したい場合に利用する品詞(接尾語の「町」はつけずに登録する)
Place-Town-Machi町1Y接尾語「町」の読みが「まち」の町名を登録したい場合に利用する品詞(接尾語の「町」はつけずに登録する)
Place-Town-Cho町2Y接尾語「町」の読みが「ちょう」の町名を登録したい場合に利用する品詞(接尾語の「町」はつけずに登録する)
Place-VillageY接尾語「村」の読みが「そん」、「むら」両方とも使える町名を登録したい場合に利用する品詞(接尾語の「町」はつけずに登録する)
Place-Village-Mura村1Y接尾語「村」の読みが「むら」の町名を登録したい場合に利用する品詞(接尾語の「村」はつけずに登録する)
Place-Village-Son村2Y接尾語「村」の読みが「そん」の町名を登録したい場合に利用する品詞(接尾語の「村」はつけずに登録する)
Place-StationY駅名を登録したい場合に利用する品詞(接尾語の「駅」はつけずに登録する)
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顔文字を短い読みで登録したい場合に利用する品詞

スポンサーリンク


Comment