/DH-center_prereform2modern-transliterator

Летняя практика в центре Digital Humanities ВШЭ: ридми к транслитератору дореформенной орфографии

Prereform2modern

Преобразует текст из дореформенной орфографии в современную. Работает в Py3.


  Установка

 Не забудьте создать виртуальное окружение, чтобы не засорять системные файлы компьютера.

!pip install -i https://test.pypi.org/simple/ prereform2modern==1.0.5

  Запуск из командной строки:

 Длинный способ

!python -m prereform2modern.translit_from_string.py "Онъ стоялъ подлѣ письменнаго стола"
Он стоял подле письменного стола

 Короткий способ

!translit "Онъ стоялъ подлѣ письменнаго стола"

 Флаг -t отображает изменённые слова в старой орфографии.

!translit -t "Онъ стоялъ подлѣ письменнаго стола"
Он{Онъ} стоял{стоялъ} подле{подлѣ} письменного{письменнаго} стола

  Запуск из интерпретатора:

from prereform2modern import Processor
orig_text = "Онъ стоялъ подлѣ письменнаго стола"
text, changes, s_json = Processor.process_text(
  orig_text, 
  show=False, 
  delimiters=False, 
  check_brackets=False)

  Выдача

  • text: unicode

 Преобразованный текст.

print(text)
Он стоял подле письменного стола
  • changes: unicode

 Произведенные изменения.

print(changes)
Онъ --> Он
стоялъ --> стоял
подлѣ --> подле
письменнаго --> письменного
  • str_json: str

 Сведения о всех словах и символах в файле json.

import json
json.loads(s_json)
{'0': {'old_word': 'Онъ', 'type': 'word', 'word': 'Он'},
'1': {'old_word': '', 'type': 'punct', 'word': ' '},
'2': {'old_word': 'стоялъ', 'type': 'word', 'word': 'стоял'},
'3': {'old_word': '', 'type': 'punct', 'word': ' '},
'4': {'old_word': 'подлѣ', 'type': 'word', 'word': 'подле'},
'5': {'old_word': '', 'type': 'punct', 'word': ' '},
'6': {'old_word': 'письменнаго', 'type': 'word', 'word': 'письменного'},
'7': {'old_word': '', 'type': 'punct', 'word': ' '},
'8': {'old_word': '', 'type': 'word', 'word': 'стола'}}

  Параметры

method Processor.process_text(text, show, delimiters, check_brackets, print_log=True)
  • text: unicode

 Оригинальный текст в дореформенной орфографии.

  • show: boolean

 Включает в результат заменённые слова в дореформенной орфографии. Если параметр check_brackets=True, то заменённые слова показываются при любом значении параметра show.

  • delimiters: list из трех элементов типа unicode

 Используется для обозначения заменённых слов. Первый элемент помещается перед новым словом, а другие два элемента выделяют заменённое слово. Так, можно использовать скобки:

delimiters=['', '{', '}']
text="примеръ"
пример{примеръ}

 Или, например, теги XML (про использование тега <choice> см. здесь):

delimiters=['<choice><reg>', '</reg><orig>', '</orig></choice>']
<choice><reg>пример</reg><orig>примеръ</orig></choice>
  • check_brackets: boolean

 Помечает редакторскую правку.

text='Пройдя комнату, такъ [называемую], офиціанскую'
delimiters=['', '{', '}']
check_brackets=True
Пройдя комнату, так{такъ} <choice original_editorial_correction='[называемую]'><sic></sic>
<corr>называемую</corr></choice>, официанскую{офицiанскую}