πŸ” Как ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ чистый ΠΊΠΎΠ΄? πŸš€

Как ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ строки ΠΈ рСгулярныС выраТСния.

1. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ строки:

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! ВСстовоС сообщСниС."
punctuation = "!.,?-"

# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ translate() вмСстС с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ str.maketrans(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания
no_punct = text.translate(str.maketrans("", "", punctuation))

print(no_punct)  # Π’Ρ‹Π²ΠΎΠ΄: ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€ ВСстовоС сообщСниС

2. РСгулярныС выраТСния:

import re

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! ВСстовоС сообщСниС."
no_punct = re.sub(r'[^\w\s]', '', text)

print(no_punct)  # Π’Ρ‹Π²ΠΎΠ΄: ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΌΠΈΡ€ ВСстовоС сообщСниС

Оба ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания ΠΈΠ· тСкста Π² Python.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Когда Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с тСкстом Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания ΠΈΠ· строк. НаличиС Π·Π½Π°ΠΊΠΎΠ² прСпинания ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ· тСкста ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания ΠΈ Π΄Π°Π΄ΠΈΠΌ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°.

1. ИспользованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Один ΠΈΠ· способов удалСния Π·Π½Π°ΠΊΠΎΠ² прСпинания - использованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. РСгулярныС выраТСния - это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для поиска ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ тСкста.


import re

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! Как Π΄Π΅Π»Π°?"
clean_text = re.sub(r'[^\w\s]', '', text)
print(clean_text)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sub для Π·Π°ΠΌΠ΅Π½Ρ‹ всСх Π·Π½Π°ΠΊΠΎΠ² прСпинания Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку. РСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ [^\w\s] соотвСтствуСт Π»ΡŽΠ±ΠΎΠΌΡƒ символу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ являСтся Π±ΡƒΠΊΠ²ΠΎΠΉ, Ρ†ΠΈΡ„Ρ€ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.

2. ИспользованиС Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° translate

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ удалСния Π·Π½Π°ΠΊΠΎΠ² прСпинания - использованиС Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° translate. ΠœΠ΅Ρ‚ΠΎΠ΄ translate позволяСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ Π² строкС Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ символ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.


import string

def remove_punctuation(text):
    translator = str.maketrans('', '', string.punctuation)
    return text.translate(translator)

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! Как Π΄Π΅Π»Π°?"
clean_text = remove_punctuation(text)
print(clean_text)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ remove_punctuation, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ translate для удалСния Π·Π½Π°ΠΊΠΎΠ² прСпинания. ΠœΠ΅Ρ‚ΠΎΠ΄ maketrans создаСт Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ символы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

3. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ nltk

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NLTK (Natural Language Toolkit) - это Π½Π°Π±ΠΎΡ€ инструмСнтов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с СстСствСнным языком. Она содСрТит мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ тСкстовых Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания с использованиСм NLTK, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ nltk.tokenize ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ word_tokenize.


import nltk
from nltk.tokenize import word_tokenize

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! Как Π΄Π΅Π»Π°?"
tokens = word_tokenize(text)
clean_text = ' '.join([word for word in tokens if word.isalnum()])
print(clean_text)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ nltk ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ word_tokenize ΠΈΠ· модуля nltk.tokenize. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ word_tokenize для раздСлСния тСкста Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ слова (Ρ‚ΠΎΠΊΠ΅Π½Ρ‹). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ соСдинили Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² строку, пропуская ΠΏΡ€ΠΈ этом Π·Π½Π°ΠΊΠΈ прСпинания.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов удалСния Π·Π½Π°ΠΊΠΎΠ² прСпинания Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π²Π°ΡˆΠΈΡ… потрСбностСй. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для очистки тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π·Π½Π°ΠΊΠΎΠ² прСпинания ΠΈ упроститС свою Ρ€Π°Π±ΠΎΡ‚Ρƒ с тСкстом Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

9 CΡ‚Ρ€ΠΎΠΊΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ Python

Python. Бписки. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов

Π£Ρ€ΠΎΠΊ 10 Π‘Ρ‚Ρ€ΠΎΠΊΠΈ: индСксы ΠΈ срСзы Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

🌦 Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ³ΠΎΠ΄Ρƒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅: пошаговоС руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ” Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π΄Π°Ρ‚Π΅ врСмя python? ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ πŸ”

πŸ”‘ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ Π² ΠΎΠ΄Π½Ρƒ строку Π² Python: простыС способы

πŸ” Как ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΈ прСпинания Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ чистый ΠΊΠΎΠ΄? πŸš€

Как ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ динамичСский Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² Python: простоС руководство с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ πŸš€

🐍 Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python 2 вмСсто Python 3: простоС руководство

πŸ“Έ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ скрин ΠΏΠΈΡ‚ΠΎΠ½: пошаговая инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ