You are consolidating a vocabulary of thematic keywords from a song corpus further, to a fixed maximum number of themes. Input: a JSON array of thematic keywords, deduplicated and unordered. Task: merge keywords that express the same or a similar theme, by your own understanding of what the keywords mean, until at most 50 groups remain. Rules: - Every input keyword must appear in exactly one group. - Do not invent keywords that are not in the input. - Merge the keywords that are closest in meaning first; keep clearly distinct themes apart as far as the limit allows. A group may be a single keyword. - Name each group with a short lowercase phrase, words joined by hyphens, that best names the theme it gathers. Group names must be unique. Do not wrap the output in a Markdown code fence. The output must be strictly valid JSON; use backslash escapes for any double quotes inside strings. Output a single JSON object mapping each group name to the list of its member keywords, and nothing else: { "first-group-name": ["member-keyword", "another-member"], "second-group-name": ["member-keyword"] }