A dinâmica pela qual o computador consegue armazenar e “ler” um texto é um tanto diferente daquela que nos ensinaram na escola e na vida. O processamento computacional faz uma categorização diversa da que conhecemos como letras, palavras, frases, orações, parágrafos: é a tokenização de textos.

Nesse ambiente, as unidades de medida são chamadas strings: as palavras são strings, bem como as sentenças e o próprio texto. É preciso acrescentar que os caracteres de uma string não precisam necessariamente ser alfanuméricos, podendo incluir caracteres especiais, como espaços, tabulações, hífens, etc.

Com isso, a tokenização de textos simplifica o corpus ao dividir a frase em tokens individuais (que não são necessariamente uma simples palavra – um exemplo disso é o tratamento que se dá a palavras compostas, como “guarda-chuva” e “segunda-feira”, que precisam valer como um único token para serem bem compreendidas pelo computador).

Palavras e blocos de texto

Nesse cenário, esse conceito do que é uma palavra é superimportante de compreender. Afinal, para a linguística computacional uma palavra não pode ser vista a priori como uma sequência de caracteres com um espaço no início e outro fim. 

Se fosse assim, como ficariam as palavras que iniciam as linhas de um parágrafo? Desse jeito, ainda, seria correto registrar como palavra aquela sequência de caracteres que não termina seguida de um espaço – nesse caso, a palavra, como núcleo individual dotado de sentido, incluiria vírgula, ponto final, exclamação ou interrogação.

Por esse e outros exemplos, tampouco é possível ter como base o que os dicionários nos trazem em termos de verbetes. A gente sabe que a língua natural – que é aquela que se quer captar sobretudo como registros de áudio e vídeo – é muito mais diversa e complexa. Atualmente, então, mais ainda, com as nuances de linguagem que se constroem a partir do cotidiano na internet.

Por esse motivo, qualquer jeito de contração de palavras distintas ou de uma palavra específica em português – como o corriqueiro “vc” e o “tb” da meninada – desmonta a tentativa de restringir a construção de tokens de texto à língua formal dos dicionários.

É preciso muito mais. E isso é alcançado, no ambiente computacional, por meio da chamada tokenização de textos. No caso das palavras que iniciam uma nova linha de parágrafo, por exemplo, essa prática “avisa” o sistema de que ele deve considerar o caractere de “nova linha” como um espaço e reconhecer a sequência de caracteres como um token.

Como estamos falando aqui de usos linguísticos complexos, vale destacar a questão da pontuação que se conecta a uma palavra. 

Para resolver isso, é preciso implementar regras específicas. Uma delas pode ser identificar o ponto como um token isolado e definir que uma palavra seguida por um ponto deva ser categorizada como uma abreviatura sempre que a palavra subsequente iniciar por letra minúscula.

Vocábulos específicos e segmentados

Ainda no espírito das especificidades, vale chamar a atenção para termos que são muito característicos de certas atividades humanas, como o “engenheirês”, o “juridiquês” ou a linguagem científica. 

É necessário entender: mesmo que todas essas linguagens estejam dentro dos padrões formais de uma única língua (o que nem sempre é possível, sobretudo pelo uso corriqueiro de expressões em latim), a tokenização deverá definir cada palavra de acordo com os “objetivos, usos e costumes” do sistema a ser construído.

Token x tipo de palavra

Na tokenização, cada um dos termos, mesmo aqueles que ocorrerem mais de uma vez em um texto/corpus, é considerado uma palavra isolada. Essa ideia é muito importante, porque distingue o que é um token do que é um tipo de palavra.

Vamos pegar como exemplo um parágrafo no qual “de” surge em cinco posições diferentes. A preposição é um tipo de palavra, correto? Um tipo único, não importa quantas vezes apareça em um texto, é sempre uma preposição ‘de’.

Um token de palavra é diferente. Não é algo que exista no tempo e no espaço. É apenas um objeto único catalogável em um sistema de computador. Da mesma forma que dizemos haver uma palavra “de”, teremos de admitir haver cinco tokens “de”.

Da mesma forma, um token de sentença é uma ocorrência individual de uma determinada sentença; mas um tipo de sentença é uma sentença em termos abstratos, sem contexto. Uma sentença repetida vira dois tokens para o sistema.

Essa distinção é fundamental para entender o processo de tokenização de textos.

*

Gostou do texto? Então vale a pena conferir todos os artigos da série Língua e Tecnologia.