{'fraction_non_alphanumeric': 0.03654743390357698, 'fraction_numerical': 0.0023328149300155523, 'mean_word_length': 5.014018691588785, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
LEARNING GENERIC, NONGENERIC AND COMPOUND-GENERIC COMPUTER COMMANDS

Generic commands use the same verb to invoke a given action on different kinds of objects in a computer system. For example, the command "DELETE 3" might delete 3 lines of text and "DELETE/abc/" might delete the character string "abc". In contrast, nongeneric commands use different verbs to invoke a given action on different kind of objects (e.g., ERASE 3, DELETE/cat/). Generic verbs are frequently easier to learn than nongeneric verbs, in part because nongeneric verbs that have meanings appropriate to the same action are frequently poorly differentiated synonyms. Thus, users frequently confuse nongeneric verbs with each other. Although generic verbs are frequently easier to learn than nongeneric verbs, when several different parameter constructions are mapped onto the same generic verb the parameter mappings become difficult to learn. For example, "ADD/abc/xyz/" might be used to insert the characters "abc" following the characters "xyz" in an existing line of text and "ADD abc" might be used to insert the characters "abc" as a new line of text. Generic commands such as these, having several different parameter constructions mapped onto the same verb, make the parameter mappings difficult to learn.