レキシコン・ファイル・フォーマット
Lexiconファイルフォーマットについて
辞書ファイルを準備するとき、NLPエンジンが新しい辞書項目を正しく処理できるように、各行の構文が正しいことが不可欠です。このセクションでは、レキシコンファイルの各部分の目的と具体的な構文について説明する。
- すべてのレキシコンファイルはDCTファイル形式で保存する必要があります。これは辞書ファイルを表す。
- DCTファイルの最初の行は、辞書タイプを示すべきである。詳しくはLexicon Typesをご覧ください。
- DCTファイルの列はすべてタブ区切りでなければならない。
Qtip:タブ区切りとは、列をスペースバーではなくTabキーで区切ることを意味します。タブ区切りの書式を維持する簡単な方法は、テキストエディター(WindowsではNotepad++、MacではTextEditなど)でレキシコンファイルを準備し、DCTファイルタイプとして保存することです。各列の間にTabキーを押すことで、テキストエディタ内でこれを実現することもできる。
コラム1:パターン・バリエーション
レキシコンファイルの最初のカラムには、通常形(またはシクレット、「コラム3:通常形」を参照)にマッピングしたいバリエーション、または同義語が含まれています。
レキシコンファイルの各行には、正確に1つのバリエーションを含める必要があります。追加のバリエーションは、追加の行に置くべきである。ある単語にバリエーションがない場合、辞書に定義する必要はない。
バリエーションには、一般的なスペルミス、略語、頭字語、代替名称の可能性などが含まれる。この列の値は、大文字と小文字を区別する項目とタイトルの大文字と小文字を除いて、常に小文字にすること(列2「類義語コード」を参照)。
2つ以上の単語を持つエンティティについては、辞書でそれを標準的な形で定義する必要がある。NLPエンジンは処理されるすべての単一単語をすでにトークン化しているため、単一単語の辞書エントリーの場合はこのステップは必要ない。ただし、一語の項目が大文字になることで新たな意味を持つ場合は、その行を初期化する。以下の例を参照のこと。
例:
ハーレーダビッドソン | シーシーン | ハーレーダビッドソン | {スピーチパート=”名詞”}。 |
ハーレー | シーシーン | ハーレーダビッドソン | {スピーチパート=”名詞”}。 |
例例: 単語のエントリーが大文字と小文字を区別する場合、ロサンゼルス国際空港(LAX)を指すこの例のように、バリエーションを通常の形式にマッピングする最初のエントリーを含めます。形容詞の “lax “と曖昧さをなくすため、ここでは大文字で表記している。
ロサンゼルス国際空港 | 同期信号 | ロサンゼルス国際空港 | {スピーチパート=”名詞”}。 |
特殊文字
最初の列には、ハイフン、アポストロフィ、ポンド記号などの特殊文字を含めることができる。レキシコンで特殊文字を使用する場合、特別なエスケープ文字は必要ありません。アクセント記号、チルダ、サーカムフレックスなどの発音記号のある文字も適用される。
ただし、NLPエンジンが特殊文字を解析するとき、それを別の単語とみなすことを考慮してください:
- というフレーズは3つの単語として解析される:”~”、”2″、”日”。もし「~2日」という語彙エントリーを作成しても、それはあなたのデータと一致しない。その代わり、辞書には”~2日 “と書かれているはずだ(”~”と “2 “の間のスペースに注意)。
- トータル・リコール」というフレーズ(引用符を含む)は4つの単語として解析される。このフレーズを捕らえるには、辞書の項目は引用符と隣接する単語の間に空白を入れ、「トータル・リコール」と読まなければならない。
期間
頭字語の各文字の間にピリオドが含まれている場合、余分なスペースは必要ありません。例えば、頭文字の “b.o.a. “の場合、余分なスペースは必要ない。ただし、”John D. “のように1文字で終わる辞書の場合は、スペースが必要で、”John D . “となる。
ハッシュタグと@メンション
新しいエントリーを追加する際、ハッシュタグ(#)や言及された(@)形式の単語は自動的に含まれません。これらを辞書のエントリーの一部にしたい場合は、別の行を作ってください。
例例:#クアルトリクスと@クアルトリクスは、”クアルトリクス “にマッピングするために別々の行が必要です。これらの場合、#や@と用語の間にスペースは必要ないことに注意。
クアルトリクス | シーシーン | クアルトリクス | {スピーチパート=”名詞”}。 |
#クアルトリクス | シーシーン | クアルトリクス | {スピーチパート=”名詞”}。 |
@クアルトリクス | シーシーン | クアルトリクス | {スピーチパート=”名詞”}。 |
ダイアクリティクス
バリエーションに発音区別記号が含まれている場合、辞書はその特定のバリエーションのみを認識します。しかし、あなたのバリエーションにダイアクリティカルマークが含まれていない場合、辞書はマークのない形とマークのある形の両方を認識します。多くの場合、無印をバリエーションとして使用する方がよい。なぜなら、ユーザーが発音区別文字を使用するのが面倒な場合に、単語を捉えるのに役立つからである。しかし、ダイアクリティカル・マークを付けると意味が全く変わってしまう単語の例も多いので注意が必要である。
例次のように入力すると、te と té を捕捉します。これらの単語はスペイン語では異なる意味を持つ!テ=あなた、テ=お茶。
ティー | シーシーン | テ | {スピーチパート=”名詞”}。 |
しかし、以下のエントリーは、”te “ではなく “té “だけを捕捉する。
テ | シーシーン | テ | {スピーチパート=”名詞”}。 |
アスタリスク
アスタリスクで編集されたデータを扱う場合は、レキシコン・エントリーのアスタリスクとアスタリスクの間にスペースを追加してください。
* * * * * * | シーシーン | [再編集] | {スピーチパート=”名詞”}。 |
列2:シノニムコード
レキシコンファイルの2列目には、1列目に書かれたバリエーションをどのように読むかをNLPエンジンに伝える同義語コードが書かれている。
いくつかのコードが認められている:
- SYN: これはシノニムである。SYNコードはNLPエンジンに、1列目のバリエーションは書かれたとおりに解釈されるべきであると伝える。資本金はアカウントに考慮される。このコードは、空港の略語であるLAXやlaxのように、頭字語が大文字でない場合に新しい意味を持つような略語を基に辞書を作成する場合に便利です。
- CSYN: 特定の状況下では、これは大文字と小文字を区別しない同義語である。CSYNコードは、小文字で始まる単語と一緒に使うと、第1列のバリエーションが大文字小文字に関係なく解釈されることをNLPエンジンに伝えます。このコードは、バリエーションにリストされている単語の特定の形のみを取り込みたい場合、およびバリエーションが標準の辞書用語でない場合に使用します。
- CSYN: 特定の状況下では、これはタイトルケースの同意語です。CSYN コードは、大文字で始まるすべての単語で使用される場合、最初の単語の最初の文字が大文字で始まらなければならないという重要な注意点とともに、列 1 のバリエーションが大文字に関係なく解釈されるべきであることを NLP エンジンに伝えます。このコードは、「Best Buy」やウォルマートの「Great Value」ブランド製品など、大文字でないとあいまいな固有名詞をキャプチャしたい場合に使用します。CSYNタイトルケースを使用することは稀であるべきだ。レキシコンは、非標準的な大文字表記にできるだけ寛容であるように設計されるべきである。しかし、場合によってはこの構文が役に立つ。
- MSYN: これはモーフに依存しないシノニムである。MSYNコードはNLPエンジンに、語彙項目を拡張して関連する形態素を含むように指示する(例えば、”jump “は “jumps”、”jumping”、”jumped “を含む)。XM Discoverには、指定した品詞に関係なく、すべての形態素のバリエーションが含まれます。これらの異なる動詞の形を扱うために、レキシコンファイルの行を増やす必要はない。er」と「-est」の接尾辞は同じ正規形には含まれず、MSYN展開には含まれない。
Qtip:MSYNコードは、標準的な辞書用語に対してのみ機能します。XM DISCOVERの辞書は、クアルトリクスなどの固有名詞の正しい形態素を知らない場合があります。また、MSYNを使用する場合、すべてのバリエーションは大文字と小文字を区別しない。辞書用語に代替接尾辞を含めたい場合は、MSYNコードを使用してください。この方法は、あなたの語彙リストをより短くし、より多くの言語バリエーションをインクルージョンする。
コラム3:正規形
レキシコンファイルの3列目には、オプションで単語の「正規形」を入れることができる。
通常のフォーム(マスター・トークン)は、Designerに表示されるバージョンです。この語句は、第1欄で定義したバリエーションの標準バージョンでなければならない。正規形は、第1列の対応するバリエーションごとに、レキシコンファイルの後続行で繰り返す必要がある。
語彙辞書が処理されるとき、NLPエンジンは自動的に正規形を大文字にする。結果、大文字と小文字は区別されない。この欄が省略された場合、1列目のバリエーションが正規形として割り当てられる。
列目と同様に、3列目にもハイフン、アポストロフィ、ポンド記号などの特殊文字を入れることができる。レキシコンで特殊文字を使用する場合、特別なエスケープ文字は必要ありません。アクセント記号、チルダ、サーカムフレックスなどの発音記号のある文字も適用される。
コラム4:タグ
レキシコンファイルの4列目には、特定のレキシコン項目の文法属性を定義する場所があります。
たいていの場合、SpeechPart を 4 列目に記入するだけでよい。しかし、場合によっては程度や時制なども指定したいこともあるでしょう。この点は、格、性別、数など、単語間の一致を必要とする非英語辞書では特に当てはまる。SemanticTypeを追加することもできます。このメタデータは将来、インテリジェント・エンティティに使用されるかもしれない。
各レキシコン・エントリには、1つまたは多数の属性を定義することができる。属性はすべて{丸括弧}で囲む。各属性値は引用符で囲む。複数の属性はコンマとスペースで区切られます。
ステンレス鋼 | MSYN | ステンレス鋼 | {スピーチパート=”名詞”、感情=”0″}。 |
可能なタグとその値は以下の通り:
- ケース (以下のいずれか):
- 未定義(デフォルト)
- 名詞
- 目的
- 共通
- 所有
- ControlFlags:以下の値の組み合わせ(セミコロンで区切られたリスト):
- 空(デフォルト)
- サブジェクトアニメイト
- 件名無生物
- オブジェクトアニメイト
- オブジェクト無生物
- IndirectObjectAnimate
- 間接オブジェクト無生物
- 不定詞
- 形容詞または名詞
- 形容詞
- プリプ名詞
- プレパラート
- オブジェクト・センテンス
- 件名文
- 主語不定詞
- 副詞修飾子
- オブジェクトVP
- 句動詞
- プロパー形容詞
- 制御前置詞: 前置詞のカンマ区切りリスト。この属性は、ControlFlags が以下の値のいずれかである場合に設定されるべきである:PrepNoun、PrepAdj、または PhrasalVerb。デフォルトでは空である。
- 空(デフォルト)
- 程度:以下のいずれかの文字列:
- 未定義(デフォルト)
- 比較
- 最上級
- 性別以下のいずれかの文字列:
- 未定義(デフォルト)
- 男性的
- フェミニン
- 番号以下の文字列のいずれか:
- 未定義(デフォルト)
- 特異
- 複数
- 人:以下のいずれかの文字列:
- 未定義(デフォルト)
- 最初
- 秒
- サード
- PronounType:以下の文字列のいずれか:
- 未定義(デフォルト)
- 個人
- 所有
- 実証的
- 所有格絶対
- 反射的
- 相対
- ProperType:以下の文字列のいずれか:
- いいえ(デフォルト)
- 不明
- 名前
- 苗字
- 個人名
- 組織
- 地理
- 意味:以下の値の組み合わせ(セミコロンで区切られたリスト):
- 組織
- コミュニケーション
- グループ
- 行動する
- アーティファクト
- 場所
- 認知
- 関係
- 時間
- 食事
- 物質
- 都道府県
- 処理
- オブジェクト
- 所有権
- 現象
- 工場
- 図形
- 本文
- 参加者
- トップス
- イベント
- 属性
- 動物
- 地理
- 数量
- フィーリング
- 動機
- 感情:対応する単語の感情を評価する整数値。
- SpeechPart:以下の文字列のいずれか:
- 不明(デフォルト)
- 副詞
- 形容詞
- 形容詞代名詞
- 代名詞
- 代名詞疑問詞
- 名詞
- 動詞
- 分詞
- 分詞II
- ジェランド
- Aux
- モーダルバーブ
- 前置詞
- 接続座標
- 接続従属
- 文修飾子
- 部分的
- プロフォーム
- 決定者
- 入門編
- 数字カーディナル
- 数字順
- 粒子
- 記事
- 不定詞マーク
- スペシャル
- ブレーカー
- 区切り文字
- 時制:以下のいずれかの文字列:
- 未定義(デフォルト)
- パストシンプル
- プレゼントシンプル
- フューチャーシンプル
- 過去連続
- 現在連続
- 未来連続
- 過去完了
- 現在完了
- フューチャーパーフェクト
- 過去完了連続
- 現在完了連続
- フューチャー・パーフェクト・コンティニュアス
- フューチャー・イン・ザ・パスト・シンプル
- フューチャー・イン・ザ・パスト・パーフェクト
- フューチャー・イン・ザ・パスト連続
- フューチャーインザパストパーフェクトコンティニュアス
- パーフェクト
- 任意の場所
- 標準
- パーフェクトコンティニュアス
- 無期限
- 声以下のいずれかの弦:
- 未定義(デフォルト)
- 有効
- 中立者
スピーチパートタグ
SpeechPartタグは、レキシコンを適用するタイミングを定義するものであり、レキシコン をどのように適用するかを定義するものではない。SpeechPart=”Noun “タグをレキシコン項目に追加することで、NLPエンジンが検出した文中でその用語が名詞として使用されている場合に、レキシコンを適用するようにNLPエンジンに指示することになります。このタグは、辞書を名詞として設定するよう NLP エンジンに指示しません。辞書ファイルを作成する際には、必ず正しい品詞を定義してください。
matchタグは、標準的な単語を修正する必要があるときに使える強力な構文です。辞書を追加すると、アカウントにインストールされているXM Discover辞書に特定の単語のエントリーが追加されます。クアルトリクス」のような、標準的な英語辞書には存在しないような新しい用語を追加する場合、その用語は、指定された品詞で1つのエントリを受け取ります。このエントリーは、その用語が実際のデータでその品詞として使用されたときに発火する。標準辞書にすでに存在する単語については、辞書項目は単に、指定された品詞の辞書に別の行を追加するだけである。データセットに単語が出現すると、NLPエンジンはその文の品詞を決定し、対応する言語属性を割り当てる。場合によっては、標準的な辞書用語の語彙を追加すると、1 つの単語に同じ品詞を持つ複数の項目が追加される。ひとつの単語に複数の品詞エントリーが存在する場合、NLPエンジンは正しい品詞を割り当てないことがある。この問題を回避するために、@matchタグを使って、その品詞と単語の組み合わせに対する既存のエントリーをすべて上書きすることができます。多くの場合、Designerの品詞フラグを使用した位置例外ルールを使用して、同様の結果を得ることができます。
例デフォルトでは、”issue “は中立の動詞と否定名詞としてリストされます。しかし、”issue of a magazine “のようなケースをアカウントにするために、否定名詞を中性名詞で上書きすることもできる。matchタグを使うことで、名詞としてISSUEを表す他のすべてのエントリーを、感情を0に設定するこのエントリーで上書きするよう、NLPエンジンに指示します。
問題 | MSYN | 問題 | {スピーチパート=”名詞”感情=”0″}。 |
例形容詞 “stunning “が動詞 “stun “にマッピングされている誤りを発見しました。これを “stunning “に変更するには、SpeechPart=”Adjective “と@matchコードを使用して、形容詞としての “stunning “の既存のエントリーを上書きします。
目の覚めるような | シーシーン | 目の覚めるような | {SpeechPart=”形容詞”マッチ) |
レキシコンファイル作成のヒント
- 曖昧な頭字語など、大文字を使う特別な場合を除き、辞書のバリエーション(カラム1)は常に小文字で書きます。
- 語彙がひとつの単語であれば、それ自体を定義する必要はないだろう。大文字と小文字を区別する必要がある場合は、前もって定義しておく必要があります。
- 辞書に標準的な用語が含まれている場合は、MSYNを使用する。これにより、他の語形も自動的に含まれるようになり、それぞれの語形について特定の行項目を作成する必要がなくなります。
- 辞書に標準的な用語が含まれているかどうか不明な場合は、CSYNを使用する。
- もしあなたの辞書エントリーが単語の先頭または末尾に特殊文字を含んでいる場合、1列目のバリエーションはその文字と単語の間にスペースを入れる必要があります。例えば、”Black Friday “は “Black Friday “とする(スペースに注意)。
- レキシコンには@と#の接頭辞のバリエーションは自動的に含まれない。これらは別に定義する必要がある。
- テキストエディタ(WindowsではNotepad++、MacではTextEditなど)でファイルを準備し、DCTファイルタイプとして保存します。
- Macでレキシコンファイルを作成する場合は、行と行の間に改行文字CRLF(Carriage Return Line Feed)を必ず使用してください。この文字はウィンドウズでもマックでも読むことができ、ウィンドウズ・アプリケーションで使われる一般的なキャリッジ・リターン(CR)文字や、マックで使われるライン・フィード(LF)文字とは対比的である。これらのタイプの区別は、MacOSネイティブのTextEditアプリケーションを含む多くのテキストエディタでは見えない。TextWranglerというダウンロード可能なアプリケーションの使用をお勧めします。このアプリケーションの利益には、どの改行スタイルを使用するかを選択できる設定がある。レキシコンファイルを作成する前に、Windowsオプションを選択してください。