Python | Derivación de palabras con NLTK

Stemming es el proceso de producir variantes morfológicas de una raíz/palabra base. Los programas de derivación se conocen comúnmente como algoritmos de derivación o lematizadores. Un algoritmo de derivación reduce las palabras «chocolates», «chocolatey» y «choco» a la raíz de la palabra, «chocolate» y «recuperación», «recuperado», «recuperado» se reducen a la raíz «recuperar».

Prerrequisito: Introducción a Stemming

 

Machine-Learning-Course

Some more example of stemming for root word "like" include:

-> "likes"
-> "liked"
-> "likely"
-> "liking"

Errores en la lematización:  Hay principalmente dos errores en la lematización: overstemming y understemming . Overstemming ocurre cuando dos palabras se derivan de la misma raíz que son de diferentes raíces. La falta de raíz ocurre cuando dos palabras se derivan de la misma raíz que no tiene raíces diferentes.

Las aplicaciones de la derivación son:  

  • Stemming se utiliza en sistemas de recuperación de información como motores de búsqueda.
  • Se utiliza para determinar vocabularios de dominio en análisis de dominio.

La derivación es deseable ya que puede reducir la redundancia, ya que la mayoría de las veces la palabra derivación y sus palabras derivadas o flexionadas significan lo mismo.

A continuación se muestra la implementación de palabras derivadas usando NLTK:

Código #1:  

Python3

# import these modules
from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
 
ps = PorterStemmer()
 
# choose some words to be stemmed
words = ["program", "programs", "programmer", "programming", "programmers"]
 
for w in words:
    print(w, " : ", ps.stem(w))

Producción: 

program  :  program
programs  :  program
programmer  :  program
programming  :  program
programmers  :  program

Código #2: Derivación de palabras a partir de oraciones

Python3

# importing modules
from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
 
ps = PorterStemmer()
 
sentence = "Programmers program with programming languages"
words = word_tokenize(sentence)
 
for w in words:
    print(w, " : ", ps.stem(w))

Producción : 

Programmers  :  program
program  :  program
with  :  with
programming  :  program
languages  :  language

Publicación traducida automáticamente

Artículo escrito por Yash_R y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *