π ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ python Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ Π² Python, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°.
# Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π°
with open('ΡΠ°ΠΉΠ».txt', 'r', encoding='utf-8') as file:
# Π§ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°
ΡΠ΅ΠΊΡΡ = file.read()
# ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ
print(ΡΠ΅ΠΊΡΡ)
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ 'utf-8' Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ 'ΡΠ°ΠΉΠ».txt' Π½Π° ΠΏΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ Ρ ΡΡΡΡΠΊΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ Π² Python
Π Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΡΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Ρ ΡΡΠΈΠΌ.
1. ΠΠ°Π΄Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π² Python ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ. Π ΡΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ UTF-8, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ.
import sys
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ UTF-8
sys.stdout.encoding = 'utf-8'
2. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ.
# ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ UTF-8
with open('file.txt', 'r', encoding='utf-8') as file:
text = file.read()
3. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ
Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ.
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
# Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ»ΠΎΠ²Π°
words = text.split()
# Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Ρ
chars = list(text)
4. Π£ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΡΡΠΊΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠ½ΠΊΡΡΠ°ΡΠΈΠΈ
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΡΡΠΊΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ ΡΡΡΠΈΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΡΡΠΊΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠ½ΠΊΡΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΡΠΌΡ ΡΠ»ΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ°Π΄Π΅ΠΆΠ°, ΡΠΈΡΠ»Π° ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡΡ!"
# ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° ΠΊ ΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΠ°Π΄Π΅ΠΆΡ
word = "ΠΌΠΈΡΡ"
word_in_nominative_case = word.replace("ΠΌ", "Π")
print(word_in_nominative_case) # "ΠΠΈΡΡ"
5. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΡΡΡΠΊΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ NLTK ΠΈΠ»ΠΈ PyMorphy.
import nltk
# Π’ΠΎΠΊΠ΅Π½ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
tokens = nltk.word_tokenize(text, language='russian')
# ΠΠ΅ΠΌΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΡΡΠΊΠΈΡ
ΡΠ»ΠΎΠ²
lemma = nltk.WordNetLemmatizer()
lemmatized_words = [lemma.lemmatize(word) for word in tokens]
6. ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΡΡΠΊΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°, Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ΅ΠΊΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΡΠ²ΠΎΠ΄
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π² Python Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ. Π£ΡΡΠΈΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΡΡΠΊΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠ½ΠΊΡΡΠ°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΠ΅ΡΠ΅Π³Π°ΠΉΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°.