{"id":806,"date":"2018-01-27T23:26:48","date_gmt":"2018-01-27T23:26:48","guid":{"rendered":"http:\/\/www.rangakrish.com\/?p=806"},"modified":"2018-01-28T06:11:14","modified_gmt":"2018-01-28T06:11:14","slug":"rhyming-words-and-other-interesting-stuff","status":"publish","type":"post","link":"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/","title":{"rendered":"Rhyming Words and Other Interesting Stuff"},"content":{"rendered":"<p>If you are into writing poems, stories or essays, or you just have a fascination for words, I encourage you to take a look at <a href=\"http:\/\/www.datamuse.com\/api\/\" target=\"_blank\" rel=\"noopener\">Datamuse.<\/a><\/p>\n<p>Recently I was studying about the structure of various poetic forms, and in the process of browing different sites, I stumbled upon <em><strong>Datamuse<\/strong><\/em>. I found it to be pretty interesting. They have an API that one can use to take advantage of the various services, for example, finding rhyming words, synonyms, antonyms, etc.<\/p>\n<p>To make my exploration easier and convenient, I wrote a Lisp program to interact with the API so that I can access the services programmatically. In this post, I am sharing what I learnt about the API.<\/p>\n<h2><b>Topics<\/b><\/h2>\n<p>You can ask for words from one or more topics. Here I am asking for some words from the topic <em><strong>movie<\/strong><\/em>.<\/p>\n<figure id=\"attachment_807\" aria-describedby=\"caption-attachment-807\" style=\"width: 657px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image1.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"807\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image1-3\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image1.png\" data-orig-size=\"850,44\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Topic Words\" data-image-description=\"&lt;p&gt;Topic Words&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Topic Words&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image1.png\" class=\"wp-image-807\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image1.png?resize=657%2C34\" alt=\"Topic Words\" width=\"657\" height=\"34\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image1.png?w=850&amp;ssl=1 850w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image1.png?resize=300%2C16&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image1.png?resize=768%2C40&amp;ssl=1 768w\" sizes=\"(max-width: 657px) 100vw, 657px\" \/><\/a><figcaption id=\"caption-attachment-807\" class=\"wp-caption-text\"><strong>Topic Words<\/strong><\/figcaption><\/figure>\n<p>In my implementation, I have default-limited the response to a maximum of 10 words. It is easy to ask for more (the max supported by the API is 1000).<\/p>\n<figure id=\"attachment_808\" aria-describedby=\"caption-attachment-808\" style=\"width: 537px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image2.png\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"808\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image2-3\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image2.png\" data-orig-size=\"537,94\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Getting More Words\" data-image-description=\"&lt;p&gt;Getting More Words&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Getting More Words&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image2.png\" class=\"size-full wp-image-808\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image2.png?resize=537%2C94\" alt=\"Getting More Words\" width=\"537\" height=\"94\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image2.png?w=537&amp;ssl=1 537w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image2.png?resize=300%2C53&amp;ssl=1 300w\" sizes=\"(max-width: 537px) 100vw, 537px\" \/><\/a><figcaption id=\"caption-attachment-808\" class=\"wp-caption-text\"><strong>Getting More Words<\/strong><\/figcaption><\/figure>\n<p>The above prints 20 words (for convenience, I have used a function <em><strong>print-in-rows<\/strong><\/em> to split a list across multiple rows).<\/p>\n<p>We can include up to 5 topics in the request. In the request below, I have included 3 topics.<\/p>\n<figure id=\"attachment_809\" aria-describedby=\"caption-attachment-809\" style=\"width: 613px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image3.png\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"809\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image3-4\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image3.png\" data-orig-size=\"613,119\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Multiple Topics\" data-image-description=\"&lt;p&gt;Multiple Topics&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Multiple Topics&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image3.png\" class=\"size-full wp-image-809\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image3.png?resize=613%2C119\" alt=\"Multiple Topics\" width=\"613\" height=\"119\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image3.png?w=613&amp;ssl=1 613w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image3.png?resize=300%2C58&amp;ssl=1 300w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/><\/a><figcaption id=\"caption-attachment-809\" class=\"wp-caption-text\"><strong>Multiple Topics<\/strong><\/figcaption><\/figure>\n<p>It is not clear how many or what topics are supported, but I assume there is a wide coverage.<\/p>\n<h2><b>Words<\/b><\/h2>\n<p>If you just want some words (unconstrained), that is quite easy:<\/p>\n<figure id=\"attachment_810\" aria-describedby=\"caption-attachment-810\" style=\"width: 648px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image4.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"810\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image4-4\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image4.png\" data-orig-size=\"648,47\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Plain Words\" data-image-description=\"&lt;p&gt;Plain Words&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Plain Words&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image4.png\" class=\"size-full wp-image-810\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image4.png?resize=648%2C47\" alt=\"Plain Words\" width=\"648\" height=\"47\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image4.png?w=648&amp;ssl=1 648w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image4.png?resize=300%2C22&amp;ssl=1 300w\" sizes=\"(max-width: 648px) 100vw, 648px\" \/><\/a><figcaption id=\"caption-attachment-810\" class=\"wp-caption-text\"><strong>Plain Words<\/strong><\/figcaption><\/figure>\n<p>You can also be more specific in filtering the words. Below, I am requesting 10 words starting with <em><strong>t<\/strong><\/em> and ending with <em><strong>sh<\/strong><\/em>:<\/p>\n<figure id=\"attachment_811\" aria-describedby=\"caption-attachment-811\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image5.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"811\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image5-3\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image5.png\" data-orig-size=\"630,47\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Using Word Patterns\" data-image-description=\"&lt;p&gt;Using Word Patterns&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Using Word Patterns&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image5.png\" class=\"size-full wp-image-811\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image5.png?resize=630%2C47\" alt=\"Using Word Patterns\" width=\"630\" height=\"47\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image5.png?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image5.png?resize=300%2C22&amp;ssl=1 300w\" sizes=\"(max-width: 630px) 100vw, 630px\" \/><\/a><figcaption id=\"caption-attachment-811\" class=\"wp-caption-text\"><strong>Using Word Patterns<\/strong><\/figcaption><\/figure>\n<h2><b>Similar Meaning<\/b><\/h2>\n<p>This is a great feature available in the API. You can give a word or phrase and ask for words that have similar meaning.<\/p>\n<figure id=\"attachment_813\" aria-describedby=\"caption-attachment-813\" style=\"width: 531px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image6.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"813\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image6-3\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image6.png\" data-orig-size=\"531,57\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Similar Meaning\" data-image-description=\"&lt;p&gt;Similar Meaning&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Similar Meaning&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image6.png\" class=\"size-full wp-image-813\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image6.png?resize=531%2C57\" alt=\"Similar Meaning\" width=\"531\" height=\"57\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image6.png?w=531&amp;ssl=1 531w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image6.png?resize=300%2C32&amp;ssl=1 300w\" sizes=\"(max-width: 531px) 100vw, 531px\" \/><\/a><figcaption id=\"caption-attachment-813\" class=\"wp-caption-text\"><strong>Similar Meaning<\/strong><\/figcaption><\/figure>\n<p>In the above example, I have asked for words that have a meaning similar to<em><strong> beautiful<\/strong><\/em>. In the following, I am supplying a phrase and asking for words that have similar meaning. This is like a reverse-dictionary.<\/p>\n<figure id=\"attachment_814\" aria-describedby=\"caption-attachment-814\" style=\"width: 529px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image7.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"814\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image7-2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image7.png\" data-orig-size=\"529,59\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Words for a Phrase\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Words for a Phrase&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image7.png\" class=\"size-full wp-image-814\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image7.png?resize=529%2C59\" alt=\"Words for a Phrase\" width=\"529\" height=\"59\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image7.png?w=529&amp;ssl=1 529w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image7.png?resize=300%2C33&amp;ssl=1 300w\" sizes=\"(max-width: 529px) 100vw, 529px\" \/><\/a><figcaption id=\"caption-attachment-814\" class=\"wp-caption-text\"><strong>Words for a Phrase<\/strong><\/figcaption><\/figure>\n<p>It is possible to combine parameters. Below, I am listing the output for words that mean <em><strong>beautiful<\/strong><\/em> and start with the letter <em><strong>g<\/strong><\/em>.<\/p>\n<figure id=\"attachment_816\" aria-describedby=\"caption-attachment-816\" style=\"width: 681px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image8.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"816\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image8-2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image8.png\" data-orig-size=\"681,66\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Combining Parameters\" data-image-description=\"&lt;p&gt;Combining Parameters&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Combining Parameters&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image8.png\" class=\"size-full wp-image-816\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image8.png?resize=681%2C66\" alt=\"Combining Parameters\" width=\"681\" height=\"66\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image8.png?w=681&amp;ssl=1 681w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image8.png?resize=300%2C29&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image8.png?resize=680%2C66&amp;ssl=1 680w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image8.png?resize=675%2C66&amp;ssl=1 675w\" sizes=\"(max-width: 681px) 100vw, 681px\" \/><\/a><figcaption id=\"caption-attachment-816\" class=\"wp-caption-text\"><strong>Combining Parameters<\/strong><\/figcaption><\/figure>\n<h2><b>Rhyming Words<\/b><\/h2>\n<p>Here is another neat feature. You can give a word and ask for others that rhyme with it. This will be useful if you are writing poetry!<\/p>\n<figure id=\"attachment_817\" aria-describedby=\"caption-attachment-817\" style=\"width: 527px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image9.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"817\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image9-2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image9.png\" data-orig-size=\"527,57\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Rhyming Words\" data-image-description=\"&lt;p&gt;Rhyming Words&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Rhyming Words&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image9.png\" class=\"size-full wp-image-817\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image9.png?resize=527%2C57\" alt=\"Rhyming Words\" width=\"527\" height=\"57\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image9.png?w=527&amp;ssl=1 527w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image9.png?resize=300%2C32&amp;ssl=1 300w\" sizes=\"(max-width: 527px) 100vw, 527px\" \/><\/a><figcaption id=\"caption-attachment-817\" class=\"wp-caption-text\"><strong>Rhyming Words<\/strong><\/figcaption><\/figure>\n<p>One thing you might notice is that the number of syllables is not the same for all words. Whereas <em><strong>terrace<\/strong><\/em> has 2 syllables, <em><strong>embarrass<\/strong><\/em> has 3 words. I will come back to this point later.<\/p>\n<p>What if we want those rhyming words to start with the letter <em><strong>p<\/strong><\/em>? As we saw earlier, that is straightforward.<\/p>\n<figure id=\"attachment_818\" aria-describedby=\"caption-attachment-818\" style=\"width: 664px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image10.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"818\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image10-2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image10.png\" data-orig-size=\"664,59\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Filtering Rhyming Words\" data-image-description=\"&lt;p&gt;Filtering Rhyming Words&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Filtering Rhyming Words&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image10.png\" class=\"size-full wp-image-818\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image10.png?resize=664%2C59\" alt=\"Filtering Rhyming Words\" width=\"664\" height=\"59\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image10.png?w=664&amp;ssl=1 664w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image10.png?resize=300%2C27&amp;ssl=1 300w\" sizes=\"(max-width: 664px) 100vw, 664px\" \/><\/a><figcaption id=\"caption-attachment-818\" class=\"wp-caption-text\"><strong>Filtering Rhyming Words<\/strong><\/figcaption><\/figure>\n<p>There is also the notion of <em><strong>approximate rhyming<\/strong><\/em>, which includes words that rhyme <em><strong>reasonably close<\/strong><\/em>. See below.<\/p>\n<figure id=\"attachment_819\" aria-describedby=\"caption-attachment-819\" style=\"width: 539px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image11.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"819\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image11-2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image11.png\" data-orig-size=\"539,62\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Approximate Rhyming\" data-image-description=\"&lt;p&gt;Approximate Rhyming&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Approximate Rhyming&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image11.png\" class=\"size-full wp-image-819\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image11.png?resize=539%2C62\" alt=\"Approximate Rhyming\" width=\"539\" height=\"62\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image11.png?w=539&amp;ssl=1 539w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image11.png?resize=300%2C35&amp;ssl=1 300w\" sizes=\"(max-width: 539px) 100vw, 539px\" \/><\/a><figcaption id=\"caption-attachment-819\" class=\"wp-caption-text\"><strong>Approximate Rhyming<\/strong><\/figcaption><\/figure>\n<p>There are other variations such as <em><strong>sounds-like<\/strong><\/em> and <em><strong>homophones<\/strong><\/em>. I will leave them to you for experimentation.<\/p>\n<p>One variant I found interesting is the <em><strong>consonant match<\/strong><\/em>. See this example.<\/p>\n<figure id=\"attachment_820\" aria-describedby=\"caption-attachment-820\" style=\"width: 543px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image12.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"820\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image12-2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image12.png\" data-orig-size=\"543,61\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Consonant Match\" data-image-description=\"&lt;p&gt;Consonant Match&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Consonant Match&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image12.png\" class=\"size-full wp-image-820\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image12.png?resize=543%2C61\" alt=\"Consonant Match\" width=\"543\" height=\"61\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image12.png?w=543&amp;ssl=1 543w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image12.png?resize=300%2C34&amp;ssl=1 300w\" sizes=\"(max-width: 543px) 100vw, 543px\" \/><\/a><figcaption id=\"caption-attachment-820\" class=\"wp-caption-text\"><strong>Consonant Match<\/strong><\/figcaption><\/figure>\n<p>Here the match is based on the consonants in the words.<\/p>\n<h2><b>WordNet<\/b><\/h2>\n<p><a href=\"https:\/\/wordnet.princeton.edu\/\" target=\"_blank\" rel=\"noopener\">WordNet<\/a>\u00a0is a hugely popular lexicon with many useful semantic relationships and is widely used in computational linguistics. <strong>Datamuse<\/strong> has integrated its database with <strong>WordNet<\/strong> and so we can make queries over <strong>WordNet<\/strong> relationships.<\/p>\n<p>For example, we can ask for words that are <em><strong>more general than car<\/strong><\/em>. This is what we get:<\/p>\n<figure id=\"attachment_821\" aria-describedby=\"caption-attachment-821\" style=\"width: 509px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image13.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"821\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image13\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image13.png\" data-orig-size=\"509,58\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"More General Words\" data-image-description=\"&lt;p&gt;More General Words&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;More General Words&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image13.png\" class=\"size-full wp-image-821\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image13.png?resize=509%2C58\" alt=\"More General Words\" width=\"509\" height=\"58\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image13.png?w=509&amp;ssl=1 509w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image13.png?resize=300%2C34&amp;ssl=1 300w\" sizes=\"(max-width: 509px) 100vw, 509px\" \/><\/a><figcaption id=\"caption-attachment-821\" class=\"wp-caption-text\"><strong>More General Words<\/strong><\/figcaption><\/figure>\n<p>Here is one more example:<\/p>\n<figure id=\"attachment_822\" aria-describedby=\"caption-attachment-822\" style=\"width: 665px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image15.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"822\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image15\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image15.png\" data-orig-size=\"665,63\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Another Gneralization Example\" data-image-description=\"&lt;p&gt;Another Gneralization Example&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Another Gneralization Example&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image15.png\" class=\"size-full wp-image-822\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image15.png?resize=665%2C63\" alt=\"Another Gneralization Example\" width=\"665\" height=\"63\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image15.png?w=665&amp;ssl=1 665w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image15.png?resize=300%2C28&amp;ssl=1 300w\" sizes=\"(max-width: 665px) 100vw, 665px\" \/><\/a><figcaption id=\"caption-attachment-822\" class=\"wp-caption-text\"><strong>Another Generalization Example<\/strong><\/figcaption><\/figure>\n<p>How about finding the <em><strong>synonyms<\/strong><\/em> and <em><strong>antonyms<\/strong><\/em> for a word? Yes, that is possible.<\/p>\n<figure id=\"attachment_823\" aria-describedby=\"caption-attachment-823\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image14.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"823\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image14\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image14.png\" data-orig-size=\"500,64\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Synonyms\" data-image-description=\"&lt;p&gt;Synonyms&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Synonyms&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image14.png\" class=\"size-full wp-image-823\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image14.png?resize=500%2C64\" alt=\"Synonyms\" width=\"500\" height=\"64\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image14.png?w=500&amp;ssl=1 500w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image14.png?resize=300%2C38&amp;ssl=1 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-823\" class=\"wp-caption-text\"><strong>Synonyms<\/strong><\/figcaption><\/figure>\n<figure id=\"attachment_824\" aria-describedby=\"caption-attachment-824\" style=\"width: 481px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image16.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"824\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image16\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image16.png\" data-orig-size=\"481,61\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Antonyms\" data-image-description=\"&lt;p&gt;Antonyms&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Antonyms&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image16.png\" class=\"size-full wp-image-824\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image16.png?resize=481%2C61\" alt=\"Antonyms\" width=\"481\" height=\"61\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image16.png?w=481&amp;ssl=1 481w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image16.png?resize=300%2C38&amp;ssl=1 300w\" sizes=\"(max-width: 481px) 100vw, 481px\" \/><\/a><figcaption id=\"caption-attachment-824\" class=\"wp-caption-text\"><strong>Antonyms<\/strong><\/figcaption><\/figure>\n<h2><b>Miscellaneous Things<\/b><\/h2>\n<p>There are some more filters\/parameters that I am not going to discuss here. Feel free to visit the site for details.<\/p>\n<p>One thing I want to mention is that although I have only showed the matching words as part of the result set, the API allows you to specify a few meta-data flags along with the query, in which case some extra lexical information about the matching words will also be included in the result. In my implementation, by default, I pass the flags for <em><strong>Part of Speech<\/strong><\/em>, <em><strong>Syllable Coun<\/strong><\/em>t and <em><strong>Pronunciation<\/strong><\/em>. These can be displayed in the result set thus:<\/p>\n<figure id=\"attachment_825\" aria-describedby=\"caption-attachment-825\" style=\"width: 864px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image17.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"825\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image17\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image17.png\" data-orig-size=\"864,196\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Result with Meta-Data\" data-image-description=\"&lt;p&gt;Result with Meta-Data&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Result with Meta-Data&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image17.png\" class=\"size-full wp-image-825\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image17.png?resize=780%2C177\" alt=\"Result with Meta-Data\" width=\"780\" height=\"177\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image17.png?w=864&amp;ssl=1 864w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image17.png?resize=300%2C68&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image17.png?resize=768%2C174&amp;ssl=1 768w\" sizes=\"(max-width: 780px) 100vw, 780px\" \/><\/a><figcaption id=\"caption-attachment-825\" class=\"wp-caption-text\"><strong>Result with Meta-Data<\/strong><\/figcaption><\/figure>\n<p>You can see that a relative score is included for each result element, along with its part-of-speech, pronunciation and number of syllables.<\/p>\n<p>I have also included a secondary filter, which you can use to constrain the result set by part-of-speech as well as number of syllables. I do this on the result fetched from the API, since this is not directly handled by the API (would have been better that way). The following are two examples of applying this filter:<\/p>\n<figure id=\"attachment_826\" aria-describedby=\"caption-attachment-826\" style=\"width: 717px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image18.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"826\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image18\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image18.png\" data-orig-size=\"717,42\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Filtering the Result Set\" data-image-description=\"&lt;p&gt;Filtering the Result Set&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Filtering the Result Set&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image18.png\" class=\"size-full wp-image-826\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image18.png?resize=717%2C42\" alt=\"Filtering the Result Set\" width=\"717\" height=\"42\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image18.png?w=717&amp;ssl=1 717w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image18.png?resize=300%2C18&amp;ssl=1 300w\" sizes=\"(max-width: 717px) 100vw, 717px\" \/><\/a><figcaption id=\"caption-attachment-826\" class=\"wp-caption-text\"><strong>Filtering the Result Set<\/strong><\/figcaption><\/figure>\n<p>I hope you are not confused by the max words limit. Since I am filtering the result obtained from the API, unless I pass a sufficiently big number to the API, the final result might turn out to be empty.<\/p>\n<figure id=\"attachment_827\" aria-describedby=\"caption-attachment-827\" style=\"width: 769px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image19.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"827\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2018\/01\/27\/rhyming-words-and-other-interesting-stuff\/image19\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image19.png\" data-orig-size=\"769,77\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Another Filter Example\" data-image-description=\"&lt;p&gt;Another Filter Example&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Another Filter Example&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image19.png\" class=\"size-full wp-image-827\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image19.png?resize=769%2C77\" alt=\"Another Filter Example\" width=\"769\" height=\"77\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image19.png?w=769&amp;ssl=1 769w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image19.png?resize=300%2C30&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/01\/Image19.png?resize=768%2C77&amp;ssl=1 768w\" sizes=\"(max-width: 769px) 100vw, 769px\" \/><\/a><figcaption id=\"caption-attachment-827\" class=\"wp-caption-text\"><strong>Another Filter Example<\/strong><\/figcaption><\/figure>\n<p>In conclusion, you can see that the <em><strong>Datamuse<\/strong> <strong>API<\/strong><\/em> supports rich functionality for working with words. The good news is it is absolutely <em><strong>free<\/strong><\/em> and you can make up to <em><strong>100,000<\/strong><\/em> calls per day! Don&#8217;t forget to check it out.<\/p>\n<p>The lisp code I wrote has been tested in <a href=\"http:\/\/www.lispworks.com\" target=\"_blank\" rel=\"noopener\">LispWorks<\/a> 7.1 (64 bit) on Windows. You can download the code <a href=\"http:\/\/www.rangakrish.com\/downloads\/Datamuse Example.lisp\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p>Enjoy!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you are into writing poems, stories or essays, or you just have a fascination for words, I encourage you to take a look at Datamuse. Recently I was studying about the structure of various poetic forms, and in the process of browing different sites, I stumbled upon Datamuse. I found it to be pretty [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[18,107,17],"tags":[129,41,74,128],"class_list":["post-806","post","type-post","status-publish","format-standard","hentry","category-lisp","category-natural-language-processing","category-programming","tag-datamuse","tag-dictionary","tag-nlp","tag-wordnet"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9OLnF-d0","jetpack-related-posts":[{"id":856,"url":"https:\/\/www.rangakrish.com\/index.php\/2018\/02\/25\/sentiments-and-emotions-in-ilexicon\/","url_meta":{"origin":806,"position":0},"title":"Sentiments and Emotions in iLexicon","author":"admin","date":"February 25, 2018","format":false,"excerpt":"Detecting sentiments and emotions in a piece of text are frequently performed activities in Text analysis. There are some API services available for this. For example, meaningcloud.com \u00a0has an API for detecting sentiments in the text submitted to it. Another API service provider is aylien.com . Emotion detection for text\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1285,"url":"https:\/\/www.rangakrish.com\/index.php\/2018\/12\/09\/parsing-text-with-meaningclouds-text-analytics-api\/","url_meta":{"origin":806,"position":1},"title":"Parsing Text with MeaningCloud&#8217;s Text Analytics API","author":"admin","date":"December 9, 2018","format":false,"excerpt":"There is wide-spread interest in Natural Language Processing (NLP) today, and there are several API services available to cater to this demand. See this article for a fairly detailed list of services. All of them support multiple languages, including English. Today, I am going to share my experience in working\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Get Words Function","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/12\/Get-words.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/12\/Get-words.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2018\/12\/Get-words.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":520,"url":"https:\/\/www.rangakrish.com\/index.php\/2017\/05\/07\/accessing-dictionary-rest-api-using-lisp\/","url_meta":{"origin":806,"position":2},"title":"Accessing Dictionary API Using Lisp","author":"admin","date":"May 7, 2017","format":false,"excerpt":"A few days ago when I was searching for good online dictionaries, I stumbled upon Oxford Dictionary API for developers. I decided to check it out and registered for a free account. This allows me to make 3000 API calls in a month. Since I am not planning to use\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3050,"url":"https:\/\/www.rangakrish.com\/index.php\/2023\/03\/16\/building-a-xojo-app-to-interact-with-openai-api\/","url_meta":{"origin":806,"position":3},"title":"Building a Xojo App to Interact with OpenAI API","author":"admin","date":"March 16, 2023","format":false,"excerpt":"A few weeks ago I registered with OpenAI to access its services through API and created a secret Key for my use. I then decided to build a simple application to try out the \u201cChat\u201d and \u201cCompletion\u201d models. Since I have several tools at my disposal (RAD Studio, LispWorks, Allegro\u2026","rel":"","context":"In &quot;OpenAI&quot;","block_context":{"text":"OpenAI","link":"https:\/\/www.rangakrish.com\/index.php\/category\/openai\/"},"img":{"alt_text":"Initial Screen","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2023\/03\/Initial-Screen-300x232.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3589,"url":"https:\/\/www.rangakrish.com\/index.php\/2025\/01\/04\/word-transformation-puzzle-part-2-implementation-in-common-lisp\/","url_meta":{"origin":806,"position":4},"title":"Word Transformation Puzzle &#8211; Part 2: Implementation in Common Lisp","author":"admin","date":"January 4, 2025","format":false,"excerpt":"In the last article\u00a0I discussed an interesting word puzzle and showed how to solve it using Prolog. Here is the problem statement: \u201cYou are given two words of the same length. You have to transform the first word into the second word, by changing only one letter at a time.\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Getting Word Neighbors","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2025\/01\/code1-300x127.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2025\/01\/code1-300x127.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2025\/01\/code1-300x127.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":846,"url":"https:\/\/www.rangakrish.com\/index.php\/2018\/02\/11\/onomatopoeia-palindrome-and-semordnilap\/","url_meta":{"origin":806,"position":5},"title":"Onomatopoeia, Palindrome and Semordnilap","author":"admin","date":"February 11, 2018","format":false,"excerpt":"I had earlier\u00a0briefly talked about the Ilexicon project that I have been working on for some time now. The goal is to build an intelligent dictionary\u00a0that will come in handy while implementing NLP applications such as recognizers and generators. In today's post, I want to demonstrate some cool features available\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/comments?post=806"}],"version-history":[{"count":0,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/806\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/media?parent=806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/categories?post=806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/tags?post=806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}