rupo.main package

Submodules

rupo.main.markup module

class rupo.main.markup.Annotation(begin: int, end: int, text: str)[source]

Bases: rupo.util.mixins.CommonMixin

Класс аннотации. Содержит начальную и конечную позицию в тексте, а также текст аннотации.

class rupo.main.markup.Line(begin: int, end: int, text: str, words: List[rupo.main.markup.Word])[source]

Bases: rupo.main.markup.Annotation

Разметка строки. Включает в себя аннотацию строки и её слова.

count_vowels()[source]
from_dict(d) → rupo.main.markup.Line[source]
class rupo.main.markup.Markup(text: str = None, lines: List[rupo.main.markup.Line] = None)[source]

Bases: rupo.util.mixins.CommonMixin

Класс данных для разметки в целом с экспортом/импортом в XML и JSON.

from_dict(d) → rupo.main.markup.Markup[source]
from_json(st) → rupo.main.markup.Markup[source]
from_raw(text: str) → rupo.main.markup.Markup[source]

Импорт из сырого текста с ударениями в конце слов

Parameters:text – текст.
Returns:разметка.
from_xml(xml: str) → rupo.main.markup.Markup[source]

Импорт из XML.

Parameters:xml – XML-разметка
Return self:получившийся объект Markup
static process_text(*args, **kw)
to_json() → str[source]
to_xml() → str[source]

Экспорт в XML.

Return self:строка в формате XML
class rupo.main.markup.Syllable(begin: int, end: int, number: int, text: str, stress: int = -1)[source]

Bases: rupo.main.markup.Annotation

Разметка слога. Включает в себя аннотацию и номер слога, а также ударение. Если ударение падает не на этот слог, -1.

from_dict(d: dict) → rupo.main.markup.Syllable[source]
vowel() → int[source]
Returns:позиция гласной буквы этого слога в слове (с 0).
class rupo.main.markup.Word(begin: int, end: int, text: str, syllables: List[rupo.main.markup.Syllable])[source]

Bases: rupo.main.markup.Annotation

Разметка слова. Включает в себя аннотацию слова и его слоги.

count_stresses() → int[source]
Returns:количество ударений в слове.
from_dict(d: dict) → rupo.main.markup.Word[source]
get_short() → str[source]
Returns:слово в форме “текст”+”последнее ударение”.
get_stressed_syllables_numbers() → List[int][source]
Returns:номера слогов, на которые падают ударения.
get_stresses() → Set[int][source]
Returns:все ударения.
set_stresses(stresses: List[int]) → None[source]

Задать ударения, все остальные убираются.

Parameters:stresses – позиции ударения в слове.
stress() → int[source]
Returns:последнее ударение в слове, если нет, то -1.
to_stressed_word()[source]

rupo.main.test_markup module

rupo.main.test_tokenizer module

class rupo.main.test_tokenizer.TestSentenceTokenizer(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_tokenizer()[source]
class rupo.main.test_tokenizer.TestTokenizer(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_numbers()[source]
test_tokenizer()[source]

rupo.main.test_vocabulary module

rupo.main.tokenizer module

class rupo.main.tokenizer.SentenceTokenizer[source]

Bases: object

static tokenize(text: str) → List[str][source]
class rupo.main.tokenizer.Token(text: str, token_type: rupo.main.tokenizer.Token.TokenType, begin: int, end: int)[source]

Bases: object

class TokenType[source]

Bases: enum.Enum

Тип токена.

ENDLINE = 3
NUMBER = 4
PUNCTUATION = 1
SPACE = 2
UNKNOWN = -1
WORD = 0
class rupo.main.tokenizer.Tokenizer[source]

Bases: object

Класс токенизации.

static tokenize(text: str, remove_punct=False, remove_unknown=False, replace_numbers=False) → List[rupo.main.tokenizer.Token][source]

Токенизация текстов на русском языке с учётом знаков препинания и слов с дефисами.

Parameters:text – исходный текст.
Returns:список токенов.

rupo.main.vocabulary module

Module contents