Für MANY_MANY relations musst du nicht zwingend ein AR für die Koppeltabelle anlegen, geschweige denn relations() dort definieren. Stimmt denn dein Tabellenname "Synonyms"?
Das AR brauchst du nur, um Einträge in dieser Koppeltabelle bequem anzulegen zu ändern oder zu löschen. Für die Definition der Relation ist es aber nicht nötig. Du musst lediglich den Tabellennamen angeben:
synonyms(wordsId, synonymId)
Prüf mal die Schreibweise deines Tabellennamens. Groß-/Kleinschreibung evtl.?
CDbException
Description
The relation "synonyms" in active record class "synonyms" is specified with an incomplete foreign key. The foreign key must consist of columns referencing both joining tables.