我需要为我选择的大约 100 个单词定义同义词。为了测试,我手动添加条目:
t = {}
t.update({'Strong':['Strong', 'Able', 'Active', 'Big',
'Energy', 'Firm',
'Force', 'Heavy', 'Robust', 'Secure',
'Solid', 'Stable', 'Steady',
'Tough', 'Vigor', 'Might',
'Rugged', 'Sound']})
t.update({'Fast':['Fast', 'Agile', 'Brisk', 'Hot', 'Quick',
'Rapid', 'Swift', 'Accel', 'Active',
'Dash', 'Flash', 'Fly', 'Race', 'Snap',
'Wing', 'Streak', 'Time', 'Chop', 'Jiffy',
'Split', 'Bat', 'Crazy', 'Double', 'Scream',
'Sonic', 'Super', 'Ball', 'Speed']})
所以我正在创建一个空字典,然后将诸如“强”和“快”之类的词映射到同义词(我需要能够选择)。
由于我只需要 100 个不同的单词映射,这是一种合理的方法吗?或者有没有更好的方法来实现这一点?
我也在考虑使用 NLTK 和 wordnet 模块。但是,这个模块需要一段时间才能运行,而且我似乎无法添加我需要的同义词。
最佳答案
在实际的同义词库中,单个词可能属于多组同义词。例如,fast as in quick 可能是一个列表,而 fast as in secure 可能在另一个列表中。
我会将每个单词映射到一个“sense group”列表,然后每个sense group 将映射到一个单词列表。
关于同义词库的 Python 数据结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35463468/