def list_evaluation_functions(kind=None):
if kind is None:<EOL><INDENT>kind = tuple(_REGSITRY_KIND_CLASS_MAP.keys())<EOL><DEDENT>if not isinstance(kind, tuple):<EOL><INDENT>if kind not in _REGSITRY_KIND_CLASS_MAP.keys():<EOL><INDENT>raise KeyError(<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'.format(kind))<EOL><DEDENT>reg = registry.get_registry(_REGSITRY_KIND_CLASS_MAP[kind])<EOL>return list(reg.keys())<EOL><DEDENT>else:<EOL><INDENT>return {name: list_evaluation_functions(kind=name) for name in kind}<EOL><DEDENT>
Get valid word embedding functions names.

    Parameters
    ----------
    kind : ['similarity', 'analogy', None]
        Return only valid names for similarity, analogy or both kinds of functions.

    Returns
    -------
    dict or list:
        A list of all the valid evaluation function names for the specified
        kind. If kind is set to None, returns a dict mapping each valid name to
        its respective output list. The valid names can be plugged in
        `gluonnlp.model.word_evaluation_model.create(name)`.