SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
PROCESSAMENTO DE
                               LINGUAGEM
                                   em
                                  PHP
                                   Ivo Nascimento




Wednesday, October 19, 11
Ivo Nascimento
                                                          ivo@o8o.com.br

                            Code Repository            Latest Projects
                                github.com/iannsp                    PEAR
                                                                    PEAR2
                                                                 Blue Seed
                                                              php5minutes
                                                           ianntech.com.br




                                                    http://o8o.com.br

Wednesday, October 19, 11
1. - Por que?
     2. - Como?
     2.1 - TF-IDF
     2.2 - NLP
                            Agenda
     2.3 ?


Wednesday, October 19, 11
Por Que?


Wednesday, October 19, 11
dado um corpus,
         analisa o conteúdo    TF-IDF
            calculando a       Term Frequency-Inverse
        importância relativa
           de um termo.        Document Frequency

Wednesday, October 19, 11
tf * idf

Wednesday, October 19, 11
O desafio de um ser humano não eh deixar para tras a
         condição de estudante mas descobrir o que estudar.



                             Extração de informação


Wednesday, October 19, 11
$terms =Array(‘O’, ‘desafio’, ‘de’, ‘um’, ‘ser’,
          ‘humano’, ‘não’, ‘eh’, ‘deixar’,
          ‘para’, ‘tras’, ‘a’, ‘condição’,
          ‘de’, ‘estudante’, ‘mas’, ‘descobrir’,
          ‘o’, ‘que’, ‘estudar’);




                                 Tokenização


Wednesday, October 19, 11
$terms =Array(‘o’, ‘desafio’, ‘de’, ‘um’, ‘ser’,
          ‘humano’, ‘não’, ‘é’, ‘deixar’,
          ‘para’, ‘tras’, ‘a’, ‘condição’,
          ‘de’, ‘estudante’, ‘mas’, ‘descobrir’,
          ‘o’, ‘que’, ‘estudar’);




                                 Normalização


Wednesday, October 19, 11
$terms =Array(‘o’, ‘desafio’, ‘de’, ‘um’, ‘ser’,
          ‘humano’, ‘não’, ‘é’, ‘deixar’,
          ‘para’, ‘tras’, ‘a’, ‘condição’,
          ‘de’, ‘estudante’, ‘mas’, ‘descobrir’,
          ‘o’, ‘que’, ‘estudar’);




                                 Stop-words


Wednesday, October 19, 11
$dictPositive = Array(
    ‘desafio’=>0.2,
                                      $dictNegative = Array(
    ‘ser’=>0.3,
                                   ‘não’ =>0.45,
    ‘humano’ =>0.21,
                                   ‘tras’ =>0.21);
    ‘deixar’ =>0.21,
    ‘condição’ =>0.33,
    ‘estudante’ =>0.4,
    ‘descobrir’ =>0.133,
    ‘estudar’ =>0.33);




                                Aprendizado


Wednesday, October 19, 11
Positiva
          $terms =Array(‘desafio’, ‘ser’,
              ‘humano’, ‘não’, ‘deixar’,
                                               #estudante
              ‘tras’,‘condição’,‘estudante’,
              ‘descobrir’,‘estudar’);
                                               #desafio




                                    Classi cação


Wednesday, October 19, 11
O desafio de um ser humano não é deixar para tras a
         condição de estudante mas descobrir o que estudar.
$BIGRAM=Array(
(null,‘o’),(‘o’,‘desafio’),(‘desafio’,’de’),(‘de’,’um’),(‘um’,‘ser’),
(‘ser’,‘humano’),(‘humano’ ,‘não’),(‘não,’’é’),(‘é’,‘deixar’),
(‘deixar’,‘para’),(‘para’,‘tras’),(‘tras’,‘condicao’),
(‘condicao’,’de’),(‘de’,‘estudante’),(‘estudante’,‘mas’),
(‘mas’,‘descobrir’),(‘descobrir’,’o’),(‘o’,‘que’),(‘que’,‘estudar’),
(‘estudar’,null)
);


                              n-gram(bigram,trigram,...)


Wednesday, October 19, 11
Distância Euclidiana


   Coeficiente de Relção de Pearson
                                            Coeficiente de Jaccard

   Filtro Bayesiano


         Coef. Dice               Análise

                            Qui-quadrado

Wednesday, October 19, 11
Termos

                            Homógrafos
                            ordem não importa


                            Problemas da abordagem tf-idf


Wednesday, October 19, 11
dado um corpus,
         analisa o conteúdo
               e busca        NLP
          compreensão do
                 todo.

Wednesday, October 19, 11
É uma área da inteligência arti cial e da linguística
     que estuda os problemas da geração e compreensão automática
                  de linguas humanas naturais.(wikipedia)

Wednesday, October 19, 11
Natural Language Tool Kit

                                http://www.nltk.org/




                                        NLTK


Wednesday, October 19, 11
O evento é bom.

                            O evento vai ser bom.

                               O evento foi bom.

                             O evento já foi bom.

                             O evento seria bom.



Wednesday, October 19, 11
O evento é bom.
                                     S
                            O    evento    é    bom




                                          NLP


Wednesday, October 19, 11
Where are the NLP and M.P. tools for use in PHP?
                                               http://bit.ly/aCbfR0




                                The Biggest Question


Wednesday, October 19, 11
A unica maneira de rodar a NLTK
                                                 http://bit.ly/n69g0




                                         PIP (python in PHP)


Wednesday, October 19, 11
O Início
                                   http://bit.ly/oZte8b
                            https://github.com/iannsp/texta




                                           Texta - Text Analizer


Wednesday, October 19, 11
Texta - Text Analizer


Wednesday, October 19, 11

Contenu connexe

Plus de Ivo Nascimento

software architecture cant fight lean startup
software architecture cant fight lean startupsoftware architecture cant fight lean startup
software architecture cant fight lean startupIvo Nascimento
 
Programacao nao pode ser confinada
Programacao nao pode ser confinadaProgramacao nao pode ser confinada
Programacao nao pode ser confinadaIvo Nascimento
 
State Test 
of Applications and Domains
State Test 
of Applications and Domains State Test 
of Applications and Domains
State Test 
of Applications and Domains Ivo Nascimento
 
Impact of developer business knowledge on e commerce architecture efficiency
Impact of developer business knowledge on e commerce architecture efficiencyImpact of developer business knowledge on e commerce architecture efficiency
Impact of developer business knowledge on e commerce architecture efficiencyIvo Nascimento
 
Desenvolvimento de Software e Negócios: Universo Expandido
Desenvolvimento de Software e Negócios:  Universo ExpandidoDesenvolvimento de Software e Negócios:  Universo Expandido
Desenvolvimento de Software e Negócios: Universo ExpandidoIvo Nascimento
 
Pensando o desenvolvimento_de_software
Pensando o desenvolvimento_de_softwarePensando o desenvolvimento_de_software
Pensando o desenvolvimento_de_softwareIvo Nascimento
 
Design Pattern for Data Source
Design Pattern for Data SourceDesign Pattern for Data Source
Design Pattern for Data SourceIvo Nascimento
 
Qualidade e performance de sistemas 2.0
Qualidade e performance de sistemas 2.0Qualidade e performance de sistemas 2.0
Qualidade e performance de sistemas 2.0Ivo Nascimento
 

Plus de Ivo Nascimento (11)

software architecture cant fight lean startup
software architecture cant fight lean startupsoftware architecture cant fight lean startup
software architecture cant fight lean startup
 
Programacao nao pode ser confinada
Programacao nao pode ser confinadaProgramacao nao pode ser confinada
Programacao nao pode ser confinada
 
State Test 
of Applications and Domains
State Test 
of Applications and Domains State Test 
of Applications and Domains
State Test 
of Applications and Domains
 
Impact of developer business knowledge on e commerce architecture efficiency
Impact of developer business knowledge on e commerce architecture efficiencyImpact of developer business knowledge on e commerce architecture efficiency
Impact of developer business knowledge on e commerce architecture efficiency
 
Desenvolvimento de Software e Negócios: Universo Expandido
Desenvolvimento de Software e Negócios:  Universo ExpandidoDesenvolvimento de Software e Negócios:  Universo Expandido
Desenvolvimento de Software e Negócios: Universo Expandido
 
Pensando o desenvolvimento_de_software
Pensando o desenvolvimento_de_softwarePensando o desenvolvimento_de_software
Pensando o desenvolvimento_de_software
 
Blue Seed Framework
Blue Seed FrameworkBlue Seed Framework
Blue Seed Framework
 
Design Pattern for Data Source
Design Pattern for Data SourceDesign Pattern for Data Source
Design Pattern for Data Source
 
Qualidade e performance de sistemas 2.0
Qualidade e performance de sistemas 2.0Qualidade e performance de sistemas 2.0
Qualidade e performance de sistemas 2.0
 
Sera que?
Sera que?Sera que?
Sera que?
 
inteligencia coletiva
inteligencia coletivainteligencia coletiva
inteligencia coletiva
 

Processamento de Linguagem natural com PHP

  • 1. PROCESSAMENTO DE LINGUAGEM em PHP Ivo Nascimento Wednesday, October 19, 11
  • 2. Ivo Nascimento ivo@o8o.com.br Code Repository Latest Projects github.com/iannsp PEAR PEAR2 Blue Seed php5minutes ianntech.com.br http://o8o.com.br Wednesday, October 19, 11
  • 3. 1. - Por que? 2. - Como? 2.1 - TF-IDF 2.2 - NLP Agenda 2.3 ? Wednesday, October 19, 11
  • 5. dado um corpus, analisa o conteúdo TF-IDF calculando a Term Frequency-Inverse importância relativa de um termo. Document Frequency Wednesday, October 19, 11
  • 6. tf * idf Wednesday, October 19, 11
  • 7. O desafio de um ser humano não eh deixar para tras a condição de estudante mas descobrir o que estudar. Extração de informação Wednesday, October 19, 11
  • 8. $terms =Array(‘O’, ‘desafio’, ‘de’, ‘um’, ‘ser’, ‘humano’, ‘não’, ‘eh’, ‘deixar’, ‘para’, ‘tras’, ‘a’, ‘condição’, ‘de’, ‘estudante’, ‘mas’, ‘descobrir’, ‘o’, ‘que’, ‘estudar’); Tokenização Wednesday, October 19, 11
  • 9. $terms =Array(‘o’, ‘desafio’, ‘de’, ‘um’, ‘ser’, ‘humano’, ‘não’, ‘é’, ‘deixar’, ‘para’, ‘tras’, ‘a’, ‘condição’, ‘de’, ‘estudante’, ‘mas’, ‘descobrir’, ‘o’, ‘que’, ‘estudar’); Normalização Wednesday, October 19, 11
  • 10. $terms =Array(‘o’, ‘desafio’, ‘de’, ‘um’, ‘ser’, ‘humano’, ‘não’, ‘é’, ‘deixar’, ‘para’, ‘tras’, ‘a’, ‘condição’, ‘de’, ‘estudante’, ‘mas’, ‘descobrir’, ‘o’, ‘que’, ‘estudar’); Stop-words Wednesday, October 19, 11
  • 11. $dictPositive = Array( ‘desafio’=>0.2, $dictNegative = Array( ‘ser’=>0.3, ‘não’ =>0.45, ‘humano’ =>0.21, ‘tras’ =>0.21); ‘deixar’ =>0.21, ‘condição’ =>0.33, ‘estudante’ =>0.4, ‘descobrir’ =>0.133, ‘estudar’ =>0.33); Aprendizado Wednesday, October 19, 11
  • 12. Positiva $terms =Array(‘desafio’, ‘ser’, ‘humano’, ‘não’, ‘deixar’, #estudante ‘tras’,‘condição’,‘estudante’, ‘descobrir’,‘estudar’); #desafio Classi cação Wednesday, October 19, 11
  • 13. O desafio de um ser humano não é deixar para tras a condição de estudante mas descobrir o que estudar. $BIGRAM=Array( (null,‘o’),(‘o’,‘desafio’),(‘desafio’,’de’),(‘de’,’um’),(‘um’,‘ser’), (‘ser’,‘humano’),(‘humano’ ,‘não’),(‘não,’’é’),(‘é’,‘deixar’), (‘deixar’,‘para’),(‘para’,‘tras’),(‘tras’,‘condicao’), (‘condicao’,’de’),(‘de’,‘estudante’),(‘estudante’,‘mas’), (‘mas’,‘descobrir’),(‘descobrir’,’o’),(‘o’,‘que’),(‘que’,‘estudar’), (‘estudar’,null) ); n-gram(bigram,trigram,...) Wednesday, October 19, 11
  • 14. Distância Euclidiana Coeficiente de Relção de Pearson Coeficiente de Jaccard Filtro Bayesiano Coef. Dice Análise Qui-quadrado Wednesday, October 19, 11
  • 15. Termos Homógrafos ordem não importa Problemas da abordagem tf-idf Wednesday, October 19, 11
  • 16. dado um corpus, analisa o conteúdo e busca NLP compreensão do todo. Wednesday, October 19, 11
  • 17. É uma área da inteligência arti cial e da linguística que estuda os problemas da geração e compreensão automática de linguas humanas naturais.(wikipedia) Wednesday, October 19, 11
  • 18. Natural Language Tool Kit http://www.nltk.org/ NLTK Wednesday, October 19, 11
  • 19. O evento é bom. O evento vai ser bom. O evento foi bom. O evento já foi bom. O evento seria bom. Wednesday, October 19, 11
  • 20. O evento é bom. S O evento é bom NLP Wednesday, October 19, 11
  • 21. Where are the NLP and M.P. tools for use in PHP? http://bit.ly/aCbfR0 The Biggest Question Wednesday, October 19, 11
  • 22. A unica maneira de rodar a NLTK http://bit.ly/n69g0 PIP (python in PHP) Wednesday, October 19, 11
  • 23. O Início http://bit.ly/oZte8b https://github.com/iannsp/texta Texta - Text Analizer Wednesday, October 19, 11
  • 24. Texta - Text Analizer Wednesday, October 19, 11