Día 3: Regular Expressions & Word Tokenization

Hoy me he inscrito en Data Camp. He visto que hay algunos cursos específicos de Python con NLP. Justo lo que necesito ahora mismo. La suscripción a los cursos es de unos 33$ al mes, así que me parece razonable también.

He empezado el curso «Natural Language Processing Fundamentals with Python«. Estoy con el módulo 1, que es gratuito: Regular expressions & word tokenization. Algunas de estas cosas ya las sé, pero me ha obligado a crearme un Jupyter Notebook nuevo y empezar a trastear. Ya vale de lecturas y podcasts!

¿Qué he aprendido hoy?

REGEX con Python (siempre había trabajado con Regex en Perl)

  • El módulo de Python para expresiones regulares es «re»: import re
  • re.split: nos permite usar la expresión en REGEX como separador. Lo más común es usar el espacio como separador. Por tanto,
    • re.split(‘\s+’, ‘Split on spaces.’) => [‘Split’, ‘on’, ‘spaces.’]
  • re.findall(regex, string) => encuentra todos los casos de esa regex en el texto o string dada.
  • re.search(): el patrón que busquemos puede estar en cualquier parte del string/documento.
  • re.match(): el patrón que busquemos tiene que estar al principio del string.
    • if you need to match at the beginning of the string, or to match the entire string use match. It is faster. Otherwise use search.

TOKENIZATION con Python

  • Un módulo que podemos usar para tokenizar es NLTK.
  • Simplemente lo importamos en Python (import nltk) y dentro de él, usaremos el tokenizador: from nltk import word_tokenize
  • Lo usaremos así: word_tokenize(«Hi there!»)
  • Otros módulos de NLTK que podemos usar para tokenizar el texto:
    • sent_tokenize: separa todo el texto en frases.
    • regexp_tokenize: separa un texto o un string en base a una Regex que le indiquemos.
    • TweetTokenizer: especial para tokenizar tweets (hashtags, menciones, etc.)

Otras notas:

  • Buscar el tutorial de cómo crear un chatbot usando RASA NLU: te dice paso a paso cómo crear y entrenar tu chatbot usando Spacy así que me parece muy interesante para hacerlo como ejercicio.
Anuncio publicitario