1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

contar silabas e palavras em Java

Discussão em 'Programação' iniciada por The Dealer, 4 de Dezembro de 2008. (Respostas: 3; Visualizações: 3682)

  1. The Dealer

    The Dealer Power Member

    Alguem me sabe dizer como contar sílabas? É que parece que não, mas é mais complicado do que parece. Como distinguir silabas em palavras como "olá", "hello", como aplicar o critério de diferenciação? Em relação a parágrafos, como fazer? O meu problema não é (só) em relação ao código (caso exista uma função própria do java para tal), mas sim no algoritmo.
     
  2. blueomega

    blueomega Power Member

    separar as palavras é facil

    agora determinar as silabas ja não é tão simples

    talvez fosse pelo metodo onde tenho um dicionario de silabas possiveis

    teria que ter cuidado com prefixos e sufixos, pra alem de plural e conjugações em verbos

    mas a pensar deve existir algo melhor
     
  3. nsilvio

    nsilvio Power Member

    Quanto à descodificação dos caracteres html:
    http://www.rgagnon.com/javadetails/java-0307.html

    Quanto à contagem de silabas, tens aqui uma implementação em c# (a conversão para java é basica)
    http://www.microsoft.com/brasil/msdn/Tecnologias/visualc/SeparandoSilabas.mspx

    Boa sorte ;)
     
  4. AliFromCairo

    AliFromCairo Power Member

    Hmm, espero que tenhas noção de que um dicionário com todas as sílabas possíveis seria muito, mas mesmo muito grande. Para além disso, irias precisar de saber o contexto onde as sílabas ocorrem, o que torna essa abordagem muito (!) mais difícil, na minha opinião.

    A alternativa é aplicares as regras de separação silábica que devem estar disponíveis na web. Por exemplo, não se separam os ditongos (au-las). Em seguida, basta aplicares essas regras a padrões de vogais e consoantes. Considera, por exemplo, a palavra separar (se-pa-rar), onde para separares as sílabas "se" e "pa", aplicas o padrão VC-CV, onde V é uma vogal e C é uma consoante. Existem outros padrões, como por exemplo, VV (sa+ú+de ou ni+i+lis+mo). Obviamente que estes padrões só se aplicam, se não violarem nenhuma das regras de separação silábica.

    Há uns tempos, recordo-me de ver algures na web um algoritmo implementado em C# que fazia algo semelhante, embora tivesse alguns problemas.

    De qualquer forma, não é um problema trivial, mas é sem dúvida muito interessante.

    Espero que ajude, e que vás dando notícias.
     

Partilhar esta Página