gostei do link = http://ccsl.ime.usp.br/cogroo/comunidade/grammar
From: Wesley Seidel To: [email protected] Sent: Thursday, July 28, 2011 9:35 AM Subject: Re: [SP-pm] Analise Semântica 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 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
=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
