Skip to content

Koziev/rutokenizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

rutokenizer - инструмСнты для сСгмСнтации ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ русскоязычного тСкста с исправлСниСм ошибок

ΠŸΠ°ΠΊΠ΅Ρ‚ содСрТит Π½Π°Π±ΠΎΡ€ классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΌΠ΅ΡŽΡ‚ Π²Ρ‹Π΄Π΅Π»Π°Ρ‚ΡŒ прСдлоТСния ΠΈΠ· тСкста (сСгмСнтация) ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ прСдлоТСния Π½Π° слова (токСнизация) с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ многословных Π΅Π΄ΠΈΠ½ΠΈΡ† тСкста Ρ‚ΠΈΠΏΠ° "ΠΈΠ·-Π·Π°" ΠΈΠ»ΠΈ "ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ".

Код рассчитан Π½Π° быстроС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ NLP ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, допуская ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ исходного тСкста. РазумССтся, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° мСньшС, Ρ‡Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π½Π° C++.

Код написан для ΠŸΠΈΡ‚ΠΎΠ½Π° 2ΠΉ ΠΈ 3ΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows ΠΈ Linux.

Установка

НабСритС Π² консоли, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ потрСбуСтся sudo:

pip install git+https://github.com/Koziev/rutokenizer

Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ входят "Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΈ" - Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ для многословных элСмСнтов, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΈΠ· ГрамматичСского Бловаря.

API

Для Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр класса rutokenizer.Tokenizer, Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ load() для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ словарной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с многословными Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ. Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ tokenize, пСрСдавая Π΅ΠΌΡƒ ΡŽΠ½ΠΈΠΊΠΎΠ΄Π½ΡƒΡŽ строку прСдлоТСния ΠΈ получая список слов.

Если ΠΊΡ€ΠΎΠΌΠ΅ тСкстового содСрТания слов Π½ΡƒΠΆΠ½Ρ‹ ΠΈΡ… ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² исходной строкС, Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ tokenize2. Он Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ (слово, позиция_Π½Π°Ρ‡Π°Π»Π°, позиция_ΠΊΠΎΠ½Ρ†Π°+1).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ВокСнизация прСдлоТСния:

import rutokenizer

t = rutokenizer.Tokenizer()
t.load()
t.tokenize(u'Π―-Ρ‚ΠΎ ΠΈΠ·-Π·Π° ΡƒΠ³Π»Π° Π²Ρ‹ΡˆΠ΅Π».')

for t in t.tokenize(u'Π―-Ρ‚ΠΎ ΠΈΠ·-Π·Π° ΡƒΠ³Π»Π° Π²Ρ‹ΡˆΠ΅Π».'):
    print(u'{}'.format(t)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Π―
-
Ρ‚ΠΎ
ΠΈΠ·-Π·Π°
ΡƒΠ³Π»Π°
Π²Ρ‹ΡˆΠ΅Π»
.

About

Russian text segmenter and tokenizer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages