質問の最終的な目的から始めましょう。私の目的は、単語ベースのニューラル ネットワークを構築することです。このニューラル ネットワークは、基本的な文を取得し、個々の単語ごとに文自体で生成されるはずの意味を選択する必要があります。次に、言語について何かを学習し (たとえば、与えられた 2 つの単語間の相関関係の可能性、1 つの文で両方を見つける確率など)、最終段階 (学習段階の後) で構築を試みます。いくつかの入力によると、それ自体のいくつかの非常に単純な文。
これを行うには、単語リスト、定義、同義語などの情報を抽出できる、特定の言語の語彙を表すある種のデータベースが必要です。データベースは、次のような必要な情報を含む C データ構造を構築できるように構造化する必要があります。
typedef struct _dictEntry DictionaryEntry;
typedef struct _dict Dictionary;
struct _dictEntry {
const char *word; // Word string
const char **definitions; // Array of definition strings
DictionaryEntry **synonyms; // Array of pointers to synonym words
Dictionary *dictionary; // Pointer to parent dictionary
};
struct _dict {
const char *language; // Language identification string
int count; // Number of elements in the dictionary
float **correlations; // Correlation matrix between i-th and j-th entries
DictionaryEntry *entries; // Array of dictionary entries
};
または同等の Obj-C オブジェクト。
( Mac OSX システム ディクショナリの検索から?から) Apple 提供のディクショナリはライセンスされているため、それらを使用してデータ構造を作成することはできません。基本的に私がやりたいことは次のとおりです。任意の単語 AI が与えられた場合、A を含む定義を持つすべての辞書エントリを取得し、そのような定義のみを選択します。次に、文の残りの部分に基づいて最も適切な定義と同義語を選択し、相関行列を構築するために、何らかの交差手順を実装します。
少し例を挙げましょう。「play」を含む文を入力するとします。すべてのエントリ (「ゲーム」、「楽器」、「俳優」など) を取得したいのですが、「遊び」という単語を関連付けて、それぞれに対応する定義を選択します ( 「ツールを演奏する」ことができないため、「ツール」の意味に対応する「楽器」の定義を抽出する例)。次に、文の残りの部分を見て、これらの定義から最も適切なものを選択します。「俳優」という単語も含まれている場合は、「演劇」という意味の「演劇」または別の適切な定義を「演じる」に割り当てます。これを行う最も基本的な方法は、辞書内のすべての定義をスキャンして、「遊び」という単語を検索することです。そのため、制限なしですべての定義にアクセスする必要があります。これは、/Library/Dictionaries の下にある辞書を使用して行うことはできないことを理解しています。残念ながら、この作業はオフラインで行う必要があります。
すべての定義を入手して自分の情報を取得できるダウンロード可能なリソースはありますか? 現在、特定のファイル形式 (データベースや xml など) には興味がありませんが、分解してデータ構造に入れることができるものでなければなりません。私はそれをググろうとしましたが、使用するキーワードが何であれ、「語彙」または「辞書」という単語を含めると、(かなり明らかに) オンライン辞書サイトの他の単語の定義に関するページしか取得できません! これは検索するのに最適なものではないと思います...
質問が明確であることを願っています...そうでない場合は、別の方法で説明しようとします! とにかく、有益な情報をお寄せいただきありがとうございます。