<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Uadson Feitosa</title>
    <description>The latest articles on DEV Community by Uadson Feitosa (@uadson).</description>
    <link>https://dev.to/uadson</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F756734%2F0ab1f9fe-c5d1-4cf8-b608-fdf8bba4153e.png</url>
      <title>DEV Community: Uadson Feitosa</title>
      <link>https://dev.to/uadson</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/uadson"/>
    <language>en</language>
    <item>
      <title>#1 Explorando o Processamento de Linguagem Natural (NLP) com spaCy 🚀</title>
      <dc:creator>Uadson Feitosa</dc:creator>
      <pubDate>Thu, 27 Mar 2025 23:43:23 +0000</pubDate>
      <link>https://dev.to/uadson/1-explorando-o-processamento-de-linguagem-natural-nlp-com-spacy-51j4</link>
      <guid>https://dev.to/uadson/1-explorando-o-processamento-de-linguagem-natural-nlp-com-spacy-51j4</guid>
      <description>&lt;p&gt;O Processamento de Linguagem Natural (NLP) é uma das áreas mais fascinantes da Inteligência Artificial, permitindo que máquinas compreendam, interpretem e gerem texto de maneira semelhante aos humanos. Uma das bibliotecas mais poderosas para NLP em Python é o spaCy. Vamos dar uma olhada nos conceitos básicos para quem está começando! 👇&lt;/p&gt;

&lt;p&gt;🔹 Criando um Pipeline de NLP&lt;br&gt;
O spaCy trabalha com pipelines de processamento, que são sequências de operações para transformar texto bruto em informação estruturada. O primeiro passo é criar um objeto nlp, que atua como o "cérebro" do processamento:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import spacy
# Criando um pipeline vazio para português
nlp = spacy.blank("pt")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔹 Trabalhando com Documentos (Doc)&lt;br&gt;
Ao processar um texto com nlp, criamos um objeto Doc, que representa o texto de forma estruturada. Isso significa que podemos acessar palavras (tokens), pontuações e outras informações de maneira organizada:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;doc = nlp("O conhecimento é a única riqueza que ninguém pode tirar de você.")
# Iterando sobre os tokens do documento
for token in doc:
    print(token.text)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Saída:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;O conhecimento é a única riqueza que ninguém pode tirar de você .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔹 Tokens: As Unidades de Texto&lt;br&gt;
Cada palavra (ou símbolo) em um texto é chamada de token. Podemos acessar tokens diretamente pelo índice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;token_1 = doc[1]
print(token_1.text)  # Saída: conhecimento
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔹 Extraindo Partes do Texto (Span)&lt;br&gt;
Se quisermos obter uma parte do texto, podemos usar um Span, que representa uma sequência contínua de tokens:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;span = doc[1:4]  # Pegando tokens da posição 1 até a 3
print(span.text)  # Saída: conhecimento é a
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔹 Identificando Tipos de Palavras&lt;br&gt;
Com o spaCy, podemos analisar se um token é uma palavra, um número ou pontuação. Vamos testar com um exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;doc = nlp("Em 2024, o preço médio da gasolina foi de R$ 6,50.")

print(f"Tokens: {[token.text for token in doc]}")
print(f"É número? {[token.like_num for token in doc]}")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Saída:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tokens: ['Em', '2024', ',', 'o', 'preço', 'médio', 'da', 'gasolina', 'foi', 'de', 'R$', '6,50', '.']
É número? [False, True, False, False, False, False, False, False, False, False, False, True, False]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Perceba que 2024 e 6,50 foram reconhecidos como números! Isso pode ser útil para extrair datas, valores e percentuais de um texto.&lt;/p&gt;

&lt;p&gt;🔹 Encontrando Percentuais no Texto 📊&lt;br&gt;
Que tal detectar automaticamente percentuais mencionados em um texto?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;doc = nlp("Em 1990, mais de 60% da população vivia na pobreza. Agora, menos de 4%.")

for token in doc:
    if token.like_num:  # Se for um número
        next_token = doc[token.i + 1]  # Pegamos o próximo token
        if next_token.text == "%":
            print(f"Percentual encontrado: {token.text}%")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Saída:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Percentual encontrado: 60%
Percentual encontrado: 4%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🚀 Conclusão&lt;br&gt;
O spaCy é uma ferramenta poderosa para análise de texto, e esses são apenas os primeiros passos no mundo do Processamento de Linguagem Natural. Desde a tokenização até a extração de informações, há muito mais para explorar!&lt;br&gt;
Se você quer aprender mais sobre NLP, siga-me e compartilhe este post com quem também está começando nessa área! 😉🔍&lt;/p&gt;

&lt;h1&gt;
  
  
  NLP #InteligênciaArtificial #Python #MachineLearning #spaCy
&lt;/h1&gt;

</description>
    </item>
  </channel>
</rss>
