Opa, Cara, eu não sei te responder isso utilizando o Perl, mas se vc estiver disposto a primeiro entender como funciona esse tipo de coisa dá uma olhada no CoGrOO: http://ccsl.ime.usp.br/cogroo/comunidade/grammar
Vá em análise gramtical, digite a frase que vc quiser, clica depois no (+) e procura a opção de "agrupamento sintático". Ela vai te exibir uma árvore sintática. Com ela vc poderá visualisar os diferentes níveis de análise de um texto. Dependendo do nível é um processo diferente. Para ter os elementos que vc perguntou, vc terá que procurar por *Shallow Parser*, e não *P-O-S Tagger*. O POSTagger te retornará as etiquetas morfologicas de cada palavra (classe gramatical). O Shallow Parser te retornará agrupamentos de palavras diferenciando a frase verbal e frase nominal. Vou ver aqui nmo CPAN se tem algo q possa te auxiliar. Bem, é isso. Boa sorte. Abs, 2011/7/28 Carlos Costa <[email protected]> > On Thu, Jul 28, 2011 at 5:04 AM, Daniel de Oliveira Mantovani < > [email protected]> wrote: > > Olá pessoal, vocês já ouviram falar de algum algoritmo que separe o > > sujeito, predicado e objeto de uma frase ? De frases simples, como > > títulos de notícias. > > > > Oi Daniel :-) > > Primeiramente isto não é análise semântica, e sim sintática. Os algorítmos > indicado baseiam-se no conjunto de técnicas conhecidas como *Part-of-Speech > Tagging* (esse é o nome que vc deve buscar no google ehehehe). > > Você vai precisar de um léxico da língua (acho que português)... o sucesso > de QUALQUER algoritmo depende exclusivamente de ter um léxico, um corpus > anotado como casos de aplicação, e tempo de treinamento. O algoritmo em si > varia pouco!! > > Eu costumava usar Python e NLTK <http://www.nltk.org/> pra isso, > principalmente porquê ele já trás excelente suporte a nossa lingua: > http://nltk.googlecode.com/svn/trunk/doc/howto/portuguese_en.html > > Deve haver soluções boas e tools (nivel NLTK) em Perl tb! Mas considere > usar os léxicos e corpus disponíveis no NLTK, caso opte por usar outra tool > Perl: my two cents! ;-) > > Outras opções de toolboxes e Libs: > http://en.wikipedia.org/wiki/List_of_natural_language_processing_toolkits > > Espero ter ajudado. Boa sorte, > Carlos. > > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: [email protected] > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > > -- Wesley Seidel Carvalho 11-6671-6118 11-8169-1163 http://twitter.com/wseidel
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
