{'fraction_non_alphanumeric': 0.014514896867838044, 'fraction_numerical': 0.0, 'mean_word_length': 5.064814814814815, '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}}
Solving a Complex Language Game by Using Knowledge-Based Word Associations Discovery

“The Guillotine” is a language game whose goal is to predict the unique word that is linked in some way to five words given as clues, generally unrelated to each other. The ability of the human player to find the solution depends on the richness of her cultural background. We designed an artificial player for that game, based on a large knowledge repository built by exploiting several sources available on the web, such as Wikipedia, that provide the system with the cultural and linguistic background needed to understand clues. The “brain” of the system is a spreading activation algorithm that starts processing clues, finds associations between them and words within the knowledge repository, and computes a list of candidate solutions. In this paper we focus on the problem of finding the most promising candidate solution to be provided as the final answer. We improved the spreading algorithm by means of two strategies for finding associations also between candidate solutions and clues. Those strategies allow bidirectional reasoning and select the candidate solution which is the most connected with the clues. Experiments show that the performance of the system is comparable to that of average human players.