日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMSドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 章:概要
第 2 章:日本語ライブラリの使用例
第 3 章:汎用ライブラリ
第 4 章:基本ライブラリ
第 5 章:かな漢字変換ライブラリ
第 6 章:漢字コード変換ライブラリ
付録 A :変換キー配列
付録 B :変換対応表
索引
PDF
OpenVMS ホーム

日本語 OpenVMS
日本語ライブラリ 利用者の手引き


目次 索引




単語前候補

単語の前候補を求めます。あらかじめ,JLB$TRA_KANA_TANGO または JLB$TRA_ROM_TANGO が呼び出されている必要があり,変換前文字列は同じものでなければなりません。すべての候補が一巡した後は,最初の候補に戻ります。

形式

status = JLB$TRA_TANGO_PREV ( tango-str, yomi-str [, tango-len] )

tango-str
        JLB usage 変換後文字列
        type 文字列データ
        access 出力のみ
        mechanism Descriptor渡し
yomi-str
        JLB usage 変換前文字列
        type 文字列データ
        access 入力のみ
        mechanism Descriptor渡し
tango-len
        JLB usage 変換結果のバイト長
        type Word (Unsigned)
        access 出力のみ
        mechanism Reference渡し

戻り値

    status SS$_NORMAL 正常終了
  0 変換ルーチンの内部エラーが起きた

形式

status = JSY$TRA_TANGO_PREV ( src-str, src-len, dst-str, dst-len, out-len )

src-str
        JSY usage 変換対象文字列
        type 文字列データ
        access 入力のみ
        mechanism Reference渡し
src-len
        JSY usage 変換前文字列
        type Longword
        access 入力のみ
        mechanism Value渡し
dst-str
        JSY usage 変換結果出力領域
        type 文字列データ
        access 出力のみ
        mechanism Reference渡し
dst-len
        JSY usage 変換結果出力領域のバイト長
        type Longword
        access 入力のみ
        mechanism Value渡し
out-len
        JSY usage 変換結果のバイト長
        type Longword
        access 出力のみ
        mechanism Reference渡し

戻り値

    status 1 正常終了
  0 出力結果の切り捨てが行われた
    または,変換ルーチンの内部エラーが起きた



単語候補の決定

単語候補の決定を行い,学習機能により次回の変換時に最初に現れるようにします。これを呼び出さずに別の読みによる単語変換を行った場合は,学習機能は働きません。

形式

status = JLB$TRA_TANGO_DONE

引数なし


形式

status = JSY$TRA_TANGO_DONE

引数なし


戻り値

status  
SS$_NORMAL 正常終了
0 変換ルーチンの内部エラーが起きた



5.4 かな漢字変換辞書

かな漢字変換は,システム辞書,個人辞書と文節学習辞書の3つを用いて行われます。この節では,システム辞書,個人辞書および文節学習辞書の使用方法などについて説明します。

システム辞書は通常システムに1つ存在し,すべてのプロセスが共有します。省略時設定のファイル名は,JSY$DICTIONARY:JSYTANGO.JISHOです。この辞書には約10万語の単語,地名,氏名などが登録されています。論理名JSY$TANGOが定義されている場合は,そのファイルをシステム辞書として使用します。システム辞書は参照のみ可能で,その内容を変更することはできません。

5.4.2 個人辞書と文節学習辞書

プロセス単位で使用する個人辞書には2つの種類があります。 1つは,ユーザが使用した単語の使用順や単語登録の情報を保存するもの,もう1つは,かな漢字変換における文節の区切りや自立語,付属語の組み合わせなど,文節に関連する情報を保存するものです。

通常,前者を個人辞書,後者を文節学習辞書と呼びます。 1つのプロセスは1つの個人辞書と1つの文節学習辞書を使用します。複数のプロセスが,同時に1つの個人辞書と1つの文節学習辞書を共有して使用することが可能です。

  1. 個人辞書
    個人辞書の省略時設定のファイル名は SYS$LOGIN:JSYKOJIN.JISHO です。論理名 JSY$KOJIN が定義されている場合は,そのファイルを個人辞書として扱います。ただし,ネットワーク上の別ノードにある個人辞書へのアクセスはできません。
    個人辞書が存在しない場合は,辞書オープン・ルーチンが自動的に作成します。かな漢字変換ルーチンは個人辞書の単語をシステム辞書の単語に優先して使用します。
    この辞書には,ユーザの使用した単語が使用順に登録されます。また,日本語エディタなどを使用中に単語登録を行った場合にも,この辞書に登録されます。個人辞書編集ユーティリティを用いて,個人辞書を参照・追加・変更することもできます。
    個人辞書への単語の登録には次の方法があります。

    • 学習ルーチンで登録する(JLB$CNV_LEARN など)

    • 単語登録ルーチンで登録する(JLB$CNV_REGISTER_WORD など)

    • 辞書編集ユーティリティ(JDICEDIT)で登録する


    個人辞書から単語を削除するには次の方法があります。

    • 単語削除ルーチンで削除する(JLB$CNV_DELETE_WORD など)

    • 辞書編集ユーティリティ(JDICEDIT)で削除する

  2. 文節学習辞書
    論理名 JSY$LEARN が定義されていない場合は,SYS$LOGIN:JSY$LEARN .DAT が使用されます。ただし,ネットワーク上の別ノードにある文節学習辞書へのアクセスはできません。文節学習辞書が存在しない場合は,辞書オープン・ルーチンが自動的に作成します。
    この辞書には,かな漢字変換における候補選択で最後に選ばれた単語が自立語と付属語とからなるとき,付属語も含む文節の情報を保存し,再使用するために用います。また,同じ読みに対して複数の文節区切りが可能な場合,文節の区切り方の情報もこの辞書に学習します。
    例えば,「きしゃのきしゃがきしゃできしゃした」を,次候補・文節移動などを使って正しい文章に変換します。

     
    貴社の/記者が/汽車で/帰社した/ 
     
    


    次回からは,上記の文章が1回で正しく変換されます。
    文節学習辞書に文節学習データが書き込まれるのは,JLB$CNV_CLOSE_DICTIONARY またはJSY$CNV_CLOSE_DICTIONARYルーチンが呼ばれたときです。JLB$CNV_LEARN またはJSY$CNV_LEARNルーチンが呼ばれた時点では,メモリ中のデータの更新が行われるだけで文節学習辞書への書き込みは行われません。



5.4.3 個人辞書の使用モードの選択

個人辞書の使用モードを,論理名JSY$KOJIN_MODEの値で指定することができます。特に指定しない場合には0(共有モード)になります。

  • 個人辞書・共有モード
    ($ ASSIGN 0 JSY$KOJIN_MODE)
    個人辞書を参照・更新します。JLB$CNV_LEARNまたはJSY$CNV_LEARNルーチンを呼ぶと学習機能が働きます。論理名JSY$KOJIN_MODEが定義されていないときは,このモードです。この場合,1つの個人辞書を複数のプロセスが共有できます。

  • 個人辞書・学習モード
    ($ ASSIGN 1 JSY$KOJIN_MODE)
    個人辞書を参照・更新します。JLB$CNV_LEARNまたはJSY$CNV_LEARNルーチンを呼ぶと学習機能が働きます。この場合,個人辞書は1つのプロセスが専有します。

  • 個人辞書・参照モード
    ($ ASSIGN 2 JSY$KOJIN_MODE)
    個人辞書を参照して変換を行います。個人辞書への単語登録・学習機能は働きません。それぞれのプロセスがこのモードのときは,1つの個人辞書を複数のプロセスが共有できます。

  • 個人辞書・不使用モード
    ($ ASSIGN 3 JSY$KOJIN_MODE)
    個人辞書をまったく使用せず,システム辞書のみで変換が行われます。



5.4.4 個人辞書の学習モードの選択

個人辞書の使用モードが“共有モード”または“学習モード”の場合,JLB$CNV_LEARN および JSY$CNV_LEARN ルーチンは,漢字変換した単語と 1 度漢字変換した後に文節ひらがな・カタカナ変換した単語を個人辞書に学習します。また JLB$CNV_CLOSE_DICTIONARY および JSY$CNV_CLOSE_DICTIONARY ルーチンは,文節学習結果を文節学習辞書に保存します。論理名 JSY$KOJIN_LEARN は,このうち文節ひらがな・カタカナ変換した単語の学習モードと文節学習のモードを制御します。

以下のいずれのモードの場合も,漢字変換された単語は学習します。

  • 漢字・ひらがな・カタカナおよび文節学習モード
    ($ ASSIGN 0 JSY$KOJIN_LEARN)
    漢字変換された単語を学習します。
    文節ひらがな変換された単語を学習します。
    文節カタカナ変換された単語を学習します。
    文節学習結果を文節学習辞書に保存します。
    論理名 JSY$KOJIN_LEARN が定義されていない場合は,このモードです。
    文節学習を行わない場合には,JSY$KOJIN_LEARN に0以外の値を指定します。

  • 漢字・ひらがな・カタカナ学習モード
    ($ ASSIGN 1 JSY$KOJIN_LEARN)
    漢字変換された単語を学習します。
    文節ひらがな変換された単語を学習します。
    文節カタカナ変換された単語を学習します。
    文節学習結果を文節学習辞書に保存しません。

  • 漢字・ひらがな学習モード
    ($ ASSIGN 2 JSY$KOJIN_LEARN)
    漢字変換された単語を学習します。
    文節ひらがな変換された単語を学習します。
    文節カタカナ変換された単語は学習しません。
    文節学習結果を文節学習辞書に保存しません。

  • 漢字・カタカナ学習モード
    ($ ASSIGN 3 JSY$KOJIN_LEARN)
    漢字変換された単語を学習します。
    文節ひらがな変換された単語は学習しません。
    文節カタカナ変換された単語を学習します。
    文節学習結果を文節学習辞書に保存しません。

  • 漢字学習モード
    ($ ASSIGN 4 JSY$KOJIN_LEARN)
    漢字変換された単語を学習します。
    文節ひらがな変換された単語は学習しません。
    文節カタカナ変換された単語は学習しません。
    文節学習結果を文節学習辞書に保存しません。



5.4.5 個人辞書の単語数

個人辞書に登録できる単語数には一部制限があります。

  • 個人辞書に登録できる単語数は,最大約 100,000 語です。ただし,登録単語数が多くなると,かな漢字変換実行時の単語の検索に時間がかかるようになります。実用上の限界は,30,000 語程度と考えてください。

  • 同じ読みをもつ単語(同音異表記単語)の数には制限があり,この制限を越えて単語を登録しようとした場合は,ステータスが JSY$_INDEXFULL のエラーになり,登録できません。

1つの読みに対して複数の表記が個人辞書に存在するとき,この読みに対して割り当てられる個人辞書のデータ・ブロックの最大は4ブロック(2048 バイト)です。したがって,同じ読みをもつ単語の登録数には限りがあります。しかし,読みの長さ,各々単語の表記の長さ,文法情報の数と組み合わせにより,登録可能な単語の数は変化します。以下におおよその目安を説明します。


読みの長さ : x 文字  (例 : しゃいん→ 4文字) 
表記の平均の長さ : y 文字  (例 : 佐々木一郎,田中浩二郎... →平均5文字)
各々の表記の文法情報の平均数 : z 個    (例 : 人名→ 1個)
 
このとき,同一読みの登録可能な単語数の目安は, 
 
        2048 − x − 1 
       ────────で表わされます。 
         2y + z + 3 
 
例の場合は,(2048 − 4 − 1) ÷ (2 × 5 + 1 + 3) = 145.9... 
となり,約145語登録できるという目安が得られます。 

  注意
1つの表記が複数の文法情報を持つとき,その文法情報の組み合わせによっては,文法情報データが縮小されて登録されることもあります。



かな漢字変換ルーチンを使用するときの注意事項および制限事項について説明します。

5.5.1 変換の開始と終了

かな漢字変換ルーチン群は,同時に 2 つ以上の読みを対象として変換を進行することはできません。変換開始ルーチンが呼び出された時点から新しい読み文字列による変換を開始します。また,学習機能ルーチンや単語登録/削除ルーチンを呼び出した後,再びかな漢字変換を行う場合は,変換開始ルーチンを呼び出し,読みを指定する必要があります。

5.5.2 複文節変換と単語単位変換の混用

1つの実行イメージで複文節変換 (JLB$CNV_xxxxxx および JSY$CNV_xxxxxx) と単語単位変換 (JLB$TRA_xxxxxx および JSY$TRA_xxxxxx) の両方のルーチンを使用する場合は次のような注意が必要です。

ある読みによる,かな漢字変換が進行している間の変換処理 (次候補要求など) および学習機能は,変換を開始したルーチンにより,複文節変換あるいは単語単位変換のどちらかのルーチンを統一して使用しなければなりません。

たとえば,複文節変換の JLB$CNV_CONVERT ルーチンにより変換を開始した場合,次候補要求には必ず JLB$CNV_NEXT_WORD ルーチンを呼び出し,また,学習機能を働かせるためには JLB$CNV_LEARN ルーチンを呼び出さなければなりません。同様に,単語単位変換の JLB$TRA_KANA_TANGO ルーチンにより変換を開始した場合には,次候補要求ルーチンとして JLB$TRA_TANGO_NEXT ルーチンを,学習機能を働かせるには JLB$TRA_TANGO_DONE ルーチンを呼び出さなければなりません。

1つの読みによる変換の進行中に複文節かな漢字変換ルーチン群(JLB$CNV_xxxxxxx または JSY$CNV_xxxxxx )と単語単位かな漢字変換ルーチン群(JLB$TRA_xxxxxx または JSY$TRA_xxxxxx)を混用した場合の結果については保証されません。

5.5.3 個人辞書を共用した場合の変換結果

日本語 OpenVMS Alpha では,複数のプロセスで個人辞書を共有することが可能になっていますが,この場合,学習結果は JSY$CNV_LEARN または JLB$CNV_LEARN が呼ばれた時点で個人辞書に反映されます。したがって,プロセス A で学習した単語と同じものをプロセス B がその直後に再学習した場合など,プロセス A から見た場合に直前の学習結果が反映されていないように見える場合があります。これは,日本語エディタなどのリカバリ機能を持つユーティリティに対して影響があります。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.