Синонимичные группы. В description — общий для группы смысл как минимум.
Просто если без группировки — то будет пара нюансов. Во-первых, придётся добавлять в таблицу синонимов каждую пару слов-синонимов. Это порядка n^2 записей для каждой группы синонимов, или k*n^2 записей, где k – количество групп синонимов. С группами — примерно k*n записей, то есть меньшэ в <средний размер группы> раз. Синонимов типично так 10-30 — то есть так будет в несколько десятков раз меньшэ записей. Во-вторых, если таблица будет связана сама с собой один-ко-многим — то будут или несимметричные записи (id_word_1, id_word_2 в таблицэ связки), и, соответственно, куча кода для выбора вариантов и когда слово в id_word_1 и когда в id_word_2. Или придётся дублировать записи в таблицэ и как-то поддержывать консистентность.
С синонимичными группами, правда, тожэ будет некоторое дублирование. Когда есть некоторый последовательный спектр значений слов, в котором у рядом стоящих слов похожый смысл, а на разных концах которого смысл слов ужэ не синонимичный, а иногда и противоположный. Тогда для него придётся вводить несколько групп синонимов (перекрывающихся), и слова часто будут попадать в несколько групп сразу. Притом и парами, т.е. одна пара слов будет синонимами по нескольким слегка отличающимся смыслам. Но, на самом деле, там и по-хорошэму не такое большое увеличение. А в начале эксплуатацыи (или в учебном проекте) вы вообще с таким не столкнётесь особо.
Обсуждают сегодня