How to get the similar sounding words together












6















I am trying to get all the similar sounding words from a list



I tried to get them using cosine similarity but that does not fulfill my purpose



from sklearn.metrics.pairwise import cosine_similarity
dataList = ['two','fourth','forth','dessert','to','desert']
cosine_similarity(dataList)


I know this is not the right approach, I cannot seam to get a result like:



result = ['xx', 'xx', 'yy', 'yy', 'zz', 'zz'] 


where they mean that the words which sound similar









share









New contributor




Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    6















    I am trying to get all the similar sounding words from a list



    I tried to get them using cosine similarity but that does not fulfill my purpose



    from sklearn.metrics.pairwise import cosine_similarity
    dataList = ['two','fourth','forth','dessert','to','desert']
    cosine_similarity(dataList)


    I know this is not the right approach, I cannot seam to get a result like:



    result = ['xx', 'xx', 'yy', 'yy', 'zz', 'zz'] 


    where they mean that the words which sound similar









    share









    New contributor




    Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      6












      6








      6








      I am trying to get all the similar sounding words from a list



      I tried to get them using cosine similarity but that does not fulfill my purpose



      from sklearn.metrics.pairwise import cosine_similarity
      dataList = ['two','fourth','forth','dessert','to','desert']
      cosine_similarity(dataList)


      I know this is not the right approach, I cannot seam to get a result like:



      result = ['xx', 'xx', 'yy', 'yy', 'zz', 'zz'] 


      where they mean that the words which sound similar









      share









      New contributor




      Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I am trying to get all the similar sounding words from a list



      I tried to get them using cosine similarity but that does not fulfill my purpose



      from sklearn.metrics.pairwise import cosine_similarity
      dataList = ['two','fourth','forth','dessert','to','desert']
      cosine_similarity(dataList)


      I know this is not the right approach, I cannot seam to get a result like:



      result = ['xx', 'xx', 'yy', 'yy', 'zz', 'zz'] 


      where they mean that the words which sound similar







      python python-3.x list





      share









      New contributor




      Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share









      New contributor




      Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share








      edited 59 mins ago









      DirtyBit

      10.2k21640




      10.2k21640






      New contributor




      Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 1 hour ago









      Marc StochMarc Stoch

      312




      312




      New contributor




      Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Marc Stoch is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.
























          1 Answer
          1






          active

          oldest

          votes


















          6














          First you need to use a proper way to get the similar sounding words i.e. string similarity, I would suggest:



          Using jellyfish:



          from jellyfish import soundex

          print(soundex("two"))
          print(soundex("to"))


          OUTPUT:



          T000
          T000


          Now perhaps, create a function that would handle the list and then sort it to get them:



          def isSoundex(dList):
          res = [soundex(x) for x in dList] # iterate over each elem in the dataList
          # print(res) # ['T000', 'F630', 'F630', 'D263', 'T000', 'D263']
          return res

          dataList = ['two','fourth','forth','dessert','to','desert']
          res = isSoundex(dataList)

          print([x for x in sorted(res)])


          OUTPUT:



          ['D263', 'D263', 'F630', 'F630', 'T000', 'T000']


          EDIT:



          Another way could be:



          Using fuzzy:



          import fuzzy
          soundex = fuzzy.Soundex(4)

          print(soundex("to"))
          print(soundex("two"))


          OUTPUT:



          T000
          T000





          share|improve this answer


























          • lib link please :)

            – Nihal
            1 hour ago






          • 1





            @Nihal updated! :)

            – DirtyBit
            57 mins ago











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Marc Stoch is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55331723%2fhow-to-get-the-similar-sounding-words-together%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          6














          First you need to use a proper way to get the similar sounding words i.e. string similarity, I would suggest:



          Using jellyfish:



          from jellyfish import soundex

          print(soundex("two"))
          print(soundex("to"))


          OUTPUT:



          T000
          T000


          Now perhaps, create a function that would handle the list and then sort it to get them:



          def isSoundex(dList):
          res = [soundex(x) for x in dList] # iterate over each elem in the dataList
          # print(res) # ['T000', 'F630', 'F630', 'D263', 'T000', 'D263']
          return res

          dataList = ['two','fourth','forth','dessert','to','desert']
          res = isSoundex(dataList)

          print([x for x in sorted(res)])


          OUTPUT:



          ['D263', 'D263', 'F630', 'F630', 'T000', 'T000']


          EDIT:



          Another way could be:



          Using fuzzy:



          import fuzzy
          soundex = fuzzy.Soundex(4)

          print(soundex("to"))
          print(soundex("two"))


          OUTPUT:



          T000
          T000





          share|improve this answer


























          • lib link please :)

            – Nihal
            1 hour ago






          • 1





            @Nihal updated! :)

            – DirtyBit
            57 mins ago
















          6














          First you need to use a proper way to get the similar sounding words i.e. string similarity, I would suggest:



          Using jellyfish:



          from jellyfish import soundex

          print(soundex("two"))
          print(soundex("to"))


          OUTPUT:



          T000
          T000


          Now perhaps, create a function that would handle the list and then sort it to get them:



          def isSoundex(dList):
          res = [soundex(x) for x in dList] # iterate over each elem in the dataList
          # print(res) # ['T000', 'F630', 'F630', 'D263', 'T000', 'D263']
          return res

          dataList = ['two','fourth','forth','dessert','to','desert']
          res = isSoundex(dataList)

          print([x for x in sorted(res)])


          OUTPUT:



          ['D263', 'D263', 'F630', 'F630', 'T000', 'T000']


          EDIT:



          Another way could be:



          Using fuzzy:



          import fuzzy
          soundex = fuzzy.Soundex(4)

          print(soundex("to"))
          print(soundex("two"))


          OUTPUT:



          T000
          T000





          share|improve this answer


























          • lib link please :)

            – Nihal
            1 hour ago






          • 1





            @Nihal updated! :)

            – DirtyBit
            57 mins ago














          6












          6








          6







          First you need to use a proper way to get the similar sounding words i.e. string similarity, I would suggest:



          Using jellyfish:



          from jellyfish import soundex

          print(soundex("two"))
          print(soundex("to"))


          OUTPUT:



          T000
          T000


          Now perhaps, create a function that would handle the list and then sort it to get them:



          def isSoundex(dList):
          res = [soundex(x) for x in dList] # iterate over each elem in the dataList
          # print(res) # ['T000', 'F630', 'F630', 'D263', 'T000', 'D263']
          return res

          dataList = ['two','fourth','forth','dessert','to','desert']
          res = isSoundex(dataList)

          print([x for x in sorted(res)])


          OUTPUT:



          ['D263', 'D263', 'F630', 'F630', 'T000', 'T000']


          EDIT:



          Another way could be:



          Using fuzzy:



          import fuzzy
          soundex = fuzzy.Soundex(4)

          print(soundex("to"))
          print(soundex("two"))


          OUTPUT:



          T000
          T000





          share|improve this answer















          First you need to use a proper way to get the similar sounding words i.e. string similarity, I would suggest:



          Using jellyfish:



          from jellyfish import soundex

          print(soundex("two"))
          print(soundex("to"))


          OUTPUT:



          T000
          T000


          Now perhaps, create a function that would handle the list and then sort it to get them:



          def isSoundex(dList):
          res = [soundex(x) for x in dList] # iterate over each elem in the dataList
          # print(res) # ['T000', 'F630', 'F630', 'D263', 'T000', 'D263']
          return res

          dataList = ['two','fourth','forth','dessert','to','desert']
          res = isSoundex(dataList)

          print([x for x in sorted(res)])


          OUTPUT:



          ['D263', 'D263', 'F630', 'F630', 'T000', 'T000']


          EDIT:



          Another way could be:



          Using fuzzy:



          import fuzzy
          soundex = fuzzy.Soundex(4)

          print(soundex("to"))
          print(soundex("two"))


          OUTPUT:



          T000
          T000






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 50 mins ago

























          answered 1 hour ago









          DirtyBitDirtyBit

          10.2k21640




          10.2k21640













          • lib link please :)

            – Nihal
            1 hour ago






          • 1





            @Nihal updated! :)

            – DirtyBit
            57 mins ago



















          • lib link please :)

            – Nihal
            1 hour ago






          • 1





            @Nihal updated! :)

            – DirtyBit
            57 mins ago

















          lib link please :)

          – Nihal
          1 hour ago





          lib link please :)

          – Nihal
          1 hour ago




          1




          1





          @Nihal updated! :)

          – DirtyBit
          57 mins ago





          @Nihal updated! :)

          – DirtyBit
          57 mins ago












          Marc Stoch is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Marc Stoch is a new contributor. Be nice, and check out our Code of Conduct.













          Marc Stoch is a new contributor. Be nice, and check out our Code of Conduct.












          Marc Stoch is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55331723%2fhow-to-get-the-similar-sounding-words-together%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How to label and detect the document text images

          Vallis Paradisi

          Tabula Rosettana