{'fraction_non_alphanumeric': 0.03110236220472441, 'fraction_numerical': 0.012204724409448819, 'mean_word_length': 5.00709219858156, '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}}
Ian Maddieson (1984). Patterns of sounds. With a chapter contributed by Sandra Ferrari Disner. (Cambridge Studies in Speech Science and Communication) Cambridge: Cambridge University Press. Pp. ix + 422.

Ian Maddieson, from the University of California at Los Angeles (UCLA), has written an important monograph in which he presents UPS ID (the UCLA Phonological Segment Inventory Database) and uses it to analyse a number of problems concerning phoneme inventories. More than half of the book is devoted to the listing of a complete segment index (58 pp.) and phoneme charts of all 317 languages represented in the computer file (160 pp.). The volume can thus be said to contain two books in one, the first being a monograph on phoneme systems, and the second a data source to be used by other researchers (and also, of course, serving as documentation of the claims made in the monograph). Maddieson argues correctly that most substantive generalisations concerning segments and inventories are statistical in character rather than absolute, and that they should therefore be drawn from, or tested with respect to, a body of data 'which is representative, extensive and uniform in analysis as far as possible. This requires establishment of a large and appropriately selected sample of languages and a standardized procedure for interpreting their phonologies' (p. 3, emphasis I.M.). The 317 languages in UPSID are selected on a genetic basis,' representing an intention to include no pair of languages which had not developed within their own independent speech communities for at least some 1000-1500 years, but to include one language from within each group of languages which shared a closer history than that' (pp. 1581). Although the major genetic groupings may sometimes be controversial (as for the Ural-Altaic languages, which include Finno-Ugric, Turkic, Korean and Japanese, for example), this does not really affect the representativeness of the languages chosen. In cases where a choice had to be made between two or more languages within the same genetic subgroup in the above sense, the quality of the available sources was decisive. I have no objection to these principles for selecting languages (notice that no typological criteria are involved, otherwise there would have been a danger of circularity). For each language represented in UPSID, the phoneme system is given in a chart, with phonetic specifications of the contrastive segments (see below). This phoneme analysis involves two logical steps: first, selection