Algoritmos fuzzy matching em processamento de linguagem natu...

Próximas questões
Com base no mesmo assunto
Q2383233 Engenharia de Software
Algoritmos fuzzy matching em processamento de linguagem natural são métodos que permitem encontrar correspondências aproximadas entre strings, ou seja, sequências de caracteres, como palavras ou frases. Esses algoritmos são úteis para lidar com situações, tais como erros de digitação, variações ortográficas, sinônimos, abreviações. Eles também podem ser aplicados para comparar textos, extrair informações, classificar sentimentos, entre outras finalidades. Existem diferentes tipos de algoritmos fuzzy matching, como a Similaridade de Jaccard, que mede a proporção de elementos comuns entre dois conjuntos de strings.
Qual das palavras a seguir apresenta o maior valor da similaridade de Jaccard, quando comparada com a palavra “computador”?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - amputar

Vamos entender por que a alternativa A está correta e as demais não estão.

Os algoritmos de fuzzy matching são fundamentais no processamento de linguagem natural (PLN). Eles permitem encontrar correspondências aproximadas entre strings, lidando com variações ortográficas, erros de digitação e outras discrepâncias.

Um dos métodos utilizados nesses algoritmos é a Similaridade de Jaccard. Este método mede a proporção de elementos comuns entre dois conjuntos de strings. Para calcular a Similaridade de Jaccard entre duas palavras, comparamos as sequências de caracteres n-gramas que ambas possuem.

Analisando a alternativa A: "amputar"

Para resolver a questão, é necessário entender que a palavra com maior valor da Similaridade de Jaccard terá a maior proporção de caracteres em comum com a palavra "computador".

Comparando "computador" com "amputar":

- Tanto "computador" quanto "amputar" possuem as letras "a", "m", "p", "u", "t" e "r".

- A similaridade de Jaccard calcula o número de caracteres comuns dividido pelo número total de caracteres únicos em ambas as palavras combinadas.

- Como "amputar" e "computador" compartilham muitos caracteres, a Similaridade de Jaccard entre elas é mais alta que com as outras opções.

Analisando as alternativas incorretas:

Alternativa B: "amplificador"

- Embora "amplificador" também compartilhe alguns caracteres com "computador" (como "a", "m", "p", e "r"), possui muitos caracteres adicionais que não aparecem em "computador", o que reduz a similaridade.

Alternativa C: "calcular"

- "Calcular" tem poucas letras em comum com "computador" (somente "c", "a", "l", e "r"), resultando em uma menor Similaridade de Jaccard.

Alternativa D: "deputado"

- "Deputado" compartilha poucos caracteres com "computador" (somente "d", "e", "u", "t", "o"), o que faz a similaridade ser menor.

Alternativa E: "senador"

- "Senador" compartilha ainda menos caracteres com "computador" (somente "o", "n", "a", "d", "r"), resultando na menor similaridade entre todas as alternativas.

Portanto, a palavra "amputar" (alternativa A) apresenta a maior similaridade de Jaccard quando comparada com "computador", devido ao maior número de caracteres em comum.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Similaridade de Jaccard = Valor da interceção / Valor da união

Tropa que foi em Calcular -->

Sabe quando você tá no ônibus 7:30 esbarrando idosos para tentar chegar no trabalho e vai pesquisar algo? Sempre sai aquela letrinha errada, "lenp brega as melhores".

Ainda bem que temos o famoso "fuzzy matching" que é qualquer algoritmo que busca similaridades em conjuntos de dados. No nosso caso, o conjunto de dados é uma palavra, e uma palavra é nada mais nada menos que uma lista de caracteres.

Alguns algoritmos levam em consideração a posição dos caracteres, "rato" e "rota", nesse caso, teria -2 de índice. Outros, como o de similaridade de Jaccard, leva em conta apenas os caracteres em si, então "rato" e "rota" teria -1 como índice.

Além disso, o índice de Jaccard leva em conta o tamanho das listas, então ele se dá pela razão entre elementos em comum e todos os elementos.

A - Vamos imaginar que [c, o, m, p, u, t, a, d, o, r] é nossa lista base, agora vamos ver quantos elementos "amputar" compartilha, todos! Então a parte de cima da divisão será [a, m, p, u, t, a, r] e a de baixo, amputar mais os elementos de computador que não estão em amputar: [a, m, p, u, t, a, r, d, o, c], logo, o índice é 7/10.

B - [c, o, m, p, u, t, a, d, o, r] e [a, m, p, l, i, f, i, c, a, d, o, r]. Quais elementos as duas listas compartilham? [c, o, p, a, d, o, r], e qual a junção das listas? [c, o, m, p, u, t, a, d, o, r, l, i, f]. O índice é 7/13.

C - 4/8

D - 7/11

E - 4/13

Como podemos notar, a menor razão de termos em comum por termos totais é a letra A, amputar.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo