Maison > Article > développement back-end > Comment utiliser les expressions régulières Python pour la segmentation des mots
Les expressions régulières Python sont un outil puissant pour traiter les données textuelles. Dans le traitement du langage naturel, la segmentation des mots est une tâche importante qui sépare un texte en mots individuels.
En Python, nous pouvons utiliser des expressions régulières pour effectuer la tâche de segmentation des mots. Ce qui suit utilisera Python3 comme exemple pour présenter comment utiliser les expressions régulières pour la segmentation de mots.
Le module re est le module d'expression régulière intégré de Python, qui doit d'abord être importé.
import re
Ensuite, nous définissons des données de texte contenant une phrase, par exemple :
text = "Python正则表达式是一种强大的工具,可用于处理文本数据。"
Nous devons définir une expression régulière qui peut diviser le texte en mots individuels. En général, les mots sont composés de lettres et de chiffres et peuvent être représentés à l'aide de jeux de caractères dans les expressions régulières.
pattern = r'w+'
Parmi eux, w signifie faire correspondre des lettres, des chiffres et des traits de soulignement, et + signifie faire correspondre un ou plusieurs.
Ensuite, nous utilisons la fonction findall du module re pour effectuer une segmentation de mots sur les données texte. Cette fonction recherche toutes les sous-chaînes qui correspondent à l'expression régulière et renvoie une liste.
result = re.findall(pattern, text) print(result)
Le résultat de sortie est :
['Python', '正则表达式', '是', '一种', '强大', '的', '工具', '可用', '于', '处理', '文本', '数据']
Dans les applications pratiques, afin d'éviter les problèmes de correspondance causés par la casse, tous les mots sont généralement convertis en minuscules. Nous pouvons convertir les mots en minuscules en utilisant la fonction str.lower en Python.
result = [word.lower() for word in result] print(result)
Le résultat de sortie est :
['Python', '正则表达式', '是', '一种', '强大', '的', '工具', '可用', '于', '处理', '文本', '数据']
Pour le texte contenant des signes de ponctuation, la méthode ci-dessus peut ne pas compléter parfaitement la tâche de segmentation des mots. Nous avons besoin d'un traitement plus approfondi, comme la suppression de la ponctuation, la suppression des mots vides, etc. Voici juste un bref exemple de suppression des signes de ponctuation.
text = "Python正则表达式是一种强大的工具,可用于处理文本数据。" text = re.sub(r'[^ws]', '', text) result = re.findall(pattern, text.lower()) print(result)
Le résultat est :
['Python', '正则表达式', '是', '一种', '强大', '的', '工具', '可用', '于', '处理', '文本', '数据']
Dans cet exemple, nous supprimons d'abord toute la ponctuation à l'aide de la fonction re.sub. Ensuite, utilisez la méthode introduite précédemment pour la segmentation des mots, et enfin convertissez les mots en minuscules. Le résultat est le même que dans l’exemple précédent.
Pour résumer, utiliser des expressions régulières Python pour la segmentation de mots n'est pas compliqué, mais cela peut nécessiter un traitement plus approfondi dans des applications pratiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!