让我们从问题的最终目的开始:我的目标是建立一个基于单词的神经网络,它应该接受一个基本句子并为每个单词选择它应该在句子本身中产生的含义。然后它会学习一些关于语言的东西(例如两个给定单词之间可能的相关性,在一个句子中找到两者的概率是多少等等)并在最后阶段(学习阶段之后)尝试构建根据一些输入,一些非常简单的句子。
为了做到这一点,我需要某种表示给定语言词汇表的数据库,我可以从中提取一些信息,例如单词列表、定义、同义词等。数据库的结构应该使我可以构建包含所需信息的 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 系统词典?)苹果提供的词典是经过许可的,所以我不能使用它们来创建我的数据结构。基本上我想要做的是以下内容:给定一个任意词,AI 想要获取所有定义包含 A 的字典条目并只选择这样的定义。然后,我将实施某种交叉程序,以根据句子的其余部分选择最合适的定义和同义词,并建立一个相关矩阵。
让我举个小例子:假设我输入了一个包含“play”的句子;我想获取所有条目(例如“游戏”、“乐器”、“演员”等)“游戏”这个词可以关联到并为每个条目选择相应的定义(我不想要例如提取与“工具”含义相对应的“乐器”定义,因为您不能“玩工具”)。然后,我将在句子的其余部分中选择最合适的定义:如果它还包含“演员”一词,那么我将为“戏剧”赋予“戏剧”的含义或其他合适的定义。最基本的方法是扫描字典中的每个定义,搜索“play”这个词 所以我需要不受限制地访问所有定义,据我所知,这不能使用位于 /Library/Dictionaries 下的字典来完成。遗憾的是,这项工作必须离线完成。
是否有任何可用资源可供我下载,让我掌握所有定义并获取我的信息?目前我对任何特定的文件格式(可能是数据库或 xml 或其他任何文件)都不感兴趣,但它必须是我可以分解并放入数据结构的东西。我试图用谷歌搜索它,但是,无论我使用什么关键字,如果我包含“词汇”或“字典”这个词,我(很明显)只会在一些在线词典网站上获得关于其他词定义的页面!我想这不是最好的搜索...
我希望问题很清楚......如果不是,我会尝试以不同的方式解释它!无论如何,提前感谢大家提供任何有用的信息。