<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
    <teiHeader>
        <fileDesc>
            <titleStmt>
                <title>Перспективы частеречной разметки корпуса рукописных текстов с помощью нейронной сети</title>
                <author>
                    <persName>
                        <surname>Alekseeva</surname>
                        <forename>Elena</forename>
                    </persName>
                    <affiliation>St Petersburg State University, Russian Federation</affiliation>
                    <email>el.alexeeva@gmail.com</email>
                </author>
                <author>
                    <persName>
                        <surname>Alexeev</surname>
                        <forename>Anatoly</forename>
                    </persName>
                    <affiliation>St Petersburg State University, Russian Federation</affiliation>
                    <email>alexeev.anatoly@gmail.com</email>
                </author>
                <author>
                    <persName>
                        <surname>Mitrenina</surname>
                        <forename>Olga</forename>
                    </persName>
                    <affiliation>St Petersburg State University, Russian Federation</affiliation>
                    <email>mitrenina@gmail.com</email>
                </author>
                <author>
                    <persName>
                        <surname>Nikolaev</surname>
                        <forename>Ilya</forename>
                    </persName>
                    <affiliation>St Petersburg State University, Russian Federation</affiliation>
                    <email>ilya.nikolaev@gmail.com</email>
                </author>
            </titleStmt>
            <editionStmt>
                <edition>
                    <date>2021-06-14T15:41:00Z</date>
                </edition>
            </editionStmt>
            <publicationStmt>
                <publisher>Elisabeth Burr, University of Leipzig</publisher>
                <address>
                    <addrLine>Beethovenstr. 15</addrLine>
                    <addrLine>04107 Leipzig</addrLine>
                    <addrLine>Germany</addrLine>
                    <addrLine>Elisabeth Burr</addrLine>
                </address>
            </publicationStmt>
            <sourceDesc>
                <p>Converted from a Word document</p>
            </sourceDesc>
        </fileDesc>
        <encodingDesc>
            <appInfo>
                <application ident="DHCONVALIDATOR" version="1.22">
                    <label>DHConvalidator</label>
                </application>
            </appInfo>
        </encodingDesc>
        <profileDesc>
            <textClass>
                <keywords scheme="ConfTool" n="category">
                    <term>Paper</term>
                </keywords>
                <keywords scheme="ConfTool" n="subcategory">
                    <term>Short Paper</term>
                </keywords>
                <keywords scheme="ConfTool" n="keywords">
                    <term>artificial neural network</term>
                    <term>corpora</term>
                    <term>manuscripts</term>
                    <term>Old Russian hagiography</term>
                </keywords>
                <keywords scheme="ConfTool" n="topics">
                    <term>Programming</term>
                    <term>Structural Analysis</term>
                    <term>Modeling</term>
                    <term>Organizing</term>
                    <term>Sharing</term>
                    <term>DigitalHumanities</term>
                    <term>Text</term>
                    <term>Language</term>
                    <term>Metadata</term>
                    <term>Manuscript</term>
                    <term>Data</term>
                    <term>not applicable</term>
                    <term>not applicable</term>
                    <term>not applicable</term>
                    <term>Russian</term>
                </keywords>
            </textClass>
        </profileDesc>
    </teiHeader>
    <text>
        <body>
            <p>Резюме. В рамках Санкт-Петербургского корпуса агиографических текстов (СКАТ) в качестве обучающей выборки выполнена вручную морфологическая разметка 5 житийных текстов XVI-XVII в. На базе этой выборки проводится эксперимент по частеречной разметке церковнославянских текстов с помощью нейронных сетей. На первом этапе удалось добиться точности в 81,5%. </p>
            <p>Ключевые слова: artificial neural networks, manuscripts, corpora, Old Russian hagiography</p>
            <p>Санкт-Петербургский корпус агиографических текстов (СКАТ) включает 22 житийных текста общим объемом примерно 187 тыс. словоупотреблений, в подавляющем большинстве, это жизнеописания вологодских святых – основателей монастырей по рукописям XVI в. Тексты представлены в формате pdf и xml в соответствии с рекомендациями TEI (Text Encoding Initiative). Пять житий корпуса (50 тыс. словоупотреблений) вручную снабжены полной морфологической разметкой, на основании которой была осуществлена автоматическая лемматизация словоформ. Размеченные жития используются в качестве обучающей выборки для ряда экспериментов по автоматизации процесса морфологического аннотирования.</p>
            <p>Эксперименты по морфологической разметке корпуса СКАТ с помощью нейронных сетей проводятся с помощью библиотеки глубокого обучения Keras для языка Python. Первая серия экспериментов была проведена в феврале-марте 2020 года, вторая серия намечена на июнь-июль 2020 года. В докладе планируется рассказать как о первой, так и о второй серии экспериментов, но в тезисах будет описана только первая серия. </p>
            <p>Первый этап работы был связан с подготовкой данных для обучения. Для этого были использованы три рукописи, размеченных в формате XML Житие Димитрия Прилуцкого (Российская национальная библиотека, Софийское собрание 1361; XVI в.), Житие Кирилла Новоезерского (Российская национальная библиотека, Кирилло-Белозерское собрание 66/1305; кон. XVII в.) и Житие Дионисия Глушицкого (Российская национальная библиотека, Софийское собрание 438; 20-е гг. XVI в.) </p>
            <p>Приведем пример размеченного фрагмента жития Димитрия Прилуцкого, состоящего из
                десяти токенов: <hi rend="bold">ни ѿ слѹгъ почести требовавши</hi>
                <hi style="font-family:Segoe UI;">ⷯ </hi>
                <hi rend="bold">. ни великаго сана взыськаа</hi>
                .
            </p>
            <p>
                &lt;w lemma="ни" pos="част" reg="ни" src="НИ" xml:id="DmPrlc.698"&gt;
                <hi rend="bold">ни</hi>
                &lt;/w&gt;
            </p>
            <p>
                &lt;w lemma="отъ" pos="пред" reg="о(т)" src="W(Т)" xml:id="DmPrlc.699"&gt;
                <hi rend="bold">ѿ</hi>
                &lt;/w&gt;
            </p>
            <p>
                &lt;w lemma="слуга" msd="a;род;мн;м" pos="сущ" reg="слугъ" src="СЛUГЪ" xml:id="DmPrlc.700"&gt;
                <hi rend="bold">слѹгъ</hi>
                &lt;/w&gt;
            </p>
            <p>
                &lt;w lemma="почесть" msd="i;род;ед;ж" pos="сущ" reg="почести" src="ПОЧЕСТИ" xml:id="DmPrlc.701"&gt;
                <hi rend="bold">почести</hi>
                &lt;/w&gt;
            </p>
            <p> &lt;w lemma="требовати" msd="м;прош;род;мн;м" pos="прич" reg="требовавши(х)" src="ТРЕ&amp;amp;БОВАВШИ(Х)" xml:id="DmPrlc.702"&gt;</p>
            <p>
                <hi rend="bold">тре</hi>
            </p>
            <p> &lt;lb n="6"/&gt;</p>
            <p>
                <hi rend="bold">бовавши</hi><hi style="font-family:Segoe UI">ⷯ</hi>
            </p>
            <p> &lt;/w&gt;</p>
            <p>
                &lt;pc force="weak" xml:id="DmPrlc.703"&gt;
                <hi rend="bold">.</hi>
                &lt;/pc&gt;
            </p>
            <p>
                &lt;w lemma="ни" pos="част" reg="ни" src="НИ" xml:id="DmPrlc.704"&gt;
                <hi rend="bold">ни</hi>
                &lt;/w&gt;
            </p>
            <p>
                &lt;w lemma="великии" msd="тв;род;ед;м" pos="прил" reg="
                <hi rend="bold">великаго</hi>
                " src="ВЕЛИКАГО" xml:id="DmPrlc.705"&gt;великаго&lt;/w&gt;
            </p>
            <p>
                &lt;w lemma="санъ" msd="o;род;ед;м" pos="сущ" reg="сана" src="САНА" xml:id="DmPrlc.706"&gt;
                <hi rend="bold">сана</hi>
                &lt;/w&gt;
            </p>
            <p>
                &lt;w msd="jo;наст;им;ед;м" pos="прич" reg="взыськая" src="ВЗЫСЬ&amp;amp;КАА" xml:id="DmPrlc.707"&gt;
            </p>
            <p>
                <hi rend="bold">взысь</hi>
            </p>
            <p> &lt;lb n="7"/&gt;</p>
            <p>
                <hi rend="bold">каа</hi>
            </p>
            <p> &lt;/w&gt;</p>
            <p>
                &lt;pc force="weak" xml:id="DmPrlc.708"&gt;
                <hi rend="bold">.</hi>
                &lt;/pc&gt;
            </p>
            <p>Подготовка данных для обучения потребовала очистки текста от тегов, соответствующих номерам строк и страниц. После этого с помощью библиотеки BeautifufSoup для Python был создан первый исходный набор данных. </p>
            <p>Первая серия экспериментов подразумевала базовую частеречную разметку: определение только базовых частей речи (параметр pos), чтобы уменьшить число классов, по которым ведется классификация. Одновременная расстановка грамматических показателей (параметр msd) сильно увеличила бы количество конечных классов и усложнила бы обучение. Таким образом, задача свелась к классификации по 26 классам, соответствующим расширенному набору частей речи (учитываются отдельно неличные формы глагола, возвратные формы, формы сравнительной степени и т.д.): </p>
            <p>Было испытано несколько различных архитектур нейронной сети, но большая часть из них показала плохие результаты. В частности, неудачной оказалась модель, работающая для машинного перевода, когда в качестве исходного текста рассматривались предложения корпуса, а в качестве «перевода» — последовательности соответствующих им частей речи. </p>
            <p>Ниже приводится архитектура нейронной сети, показавшей самые высокие результаты разметки:</p>
            <p>Model: "sequential_2"</p>
            <p>_________________________________________________________________</p>
            <p>Layer (type) Output Shape Param # </p>
            <p>=================================================================</p>
            <p>embedding_2 (Embedding) (None, 26, 128) 1152512 </p>
            <p>_________________________________________________________________</p>
            <p>bidirectional_2 (Bidirection (None, 26, 512) 788480 </p>
            <p>_________________________________________________________________</p>
            <p>time_distributed_2 (TimeDist (None, 26, 25) 12825 </p>
            <p>_________________________________________________________________</p>
            <p>activation_2 (Activation) (None, 26, 25) 0 </p>
            <p>=================================================================</p>
            <p>Total params: 1,953,817</p>
            <p>Trainable params: 1,953,817</p>
            <p>
                Non-trainable params: 0
            </p>
            <p>В качестве набора данных она использовала фрагменты жития, разбитые по тэгам &lt;pc
                force="weak"&gt; и &lt;pc force="strong"&gt; — в тексте они соответствуют знакам
                точки в конце синтагм или законченных предложений соответственно. Разделение текстов
                на «настоящие» предложения по тэгу &lt;pc force="strong"&gt; привело бы к очень
                длинным предложениям в сочетании с очень короткими, но во второй серии экспериментов
                планируется провести обучение и таким способом. </p>
            <p>В итоге был сформирован корпус объемом 5208 предложений (клауз), длиной от 1 до 26 слов. Наиболее частая длина клауз в корпусе соответствовала 5 словам (1841 предложение). </p>
            <p>После этого все предложения были преобразованы в векторы длиной 26 (максимальная длина предложения). Для этого все слова корпуса были ранжированы по частоте, после чего слова в предложениях были заменены числами, а справа дополнены нулями для унификации длины. Точно так же были преобразованы в числовые векторы и последовательности тэгов. Затем набор данных был разделен: 80% были выбраны как обучающая выборка, а 20% — как тестовая. </p>
            <p>После этого сеть была запущена на обучение с размером партии 128 и числом эпох 40 (были использованы и некоторые другие вариации запуска). Модель показала точность 0.8150, что для столь небольшого обучающего корпуса является неплохим начальным результатом. </p>
            <p>Дополнительно модель была проверена на тексте жития Александра Свирского (Российская национальная библиотека, собрание Погодина 874; XVI в.), был проведен анализ ошибок, предполагающий дальнейшую настройку сети. В частности, одна их ошибок связана с тем, что незнакомые слова в начале клаузы распознаются как союзы:</p>
            <p>['
                <hi style="font-family:Segoe UI">авгꙋста</hi>
                ' '
                <hi style="font-family:Segoe UI">въ</hi>
                ' 
                <hi style="font-family:Segoe UI"
                    >'тридесѧтыꙶ</hi>
                ' 
                <hi style="font-family:Segoe UI">'дн҃ь</hi>
                ' '
                <hi style="font-family:Segoe UI">на</hi>
                ' '
                <hi style="font-family:Segoe UI">паметь</hi>
                '….
            </p>
            <p>
                ['союз', 'пред', 'прилср', 'сущ', 'пред', 'сущ',…
            </p>
            <p>Вероятно, это связано с тем, что и синтагмы часто начинаются с союзов.</p>
            <p>В следующих сериях экспериментов планируется испытать другие архитектуры нейронных сетей, в частности, попытаться обучить эмбеддинги на большой неразмеченной части корпуса и подавать их на вход LSTM. Возможна дополнительная предобработка подаваемых на обучение данных (в частности, удаление начальных «и» у части предложений из обучающей выборки). Кроме того, планируется разметка грамматических показателей, которые не использовались в первой серии экспериментов. </p>
        </body>
        <back>
            <div type="bibliogr">
                <listBibl>
                    <head>Литература</head>
                    <bibl>
                        <hi rend="bold"> Alekseev, Vasilii. A.</hi> / <hi rend="bold">Alekseeva,
                            Elena. L.</hi> / <hi rend="bold">Kasyanenko Sofia. E.</hi> (2011):
                        “Grammatical markup in the SСAT corpus”, in: Trudy mezhdunarodnoy
                        konferentsii “<hi rend="italic">Korpusnaya lingvistika – 2011</hi>”
                        [Proceedings of the international conference “Corpus linguistics - 2011”].
                        Saint-Petersburg: Saint-Petersburg State University, Faculty of Philology
                        69-73. </bibl>
                    <bibl>
                        <hi rend="bold"> Azarova, Irina. V.</hi> / <hi rend="bold">Alekseeva, Elena.
                            L.</hi>(2012): “Morpho-syntactic markup of SСAT corpus texts”, in: <hi
                            rend="italic">Informatsionnyye tekhnologii i pis'mennoye naslediye:
                            materialy IV mezhdunarodnoy nauchnoy konferentsii</hi>. Petrozavodsk,
                        3-8 sentyabrya 2012 g. [Information technologies and textual heritage:
                        materials of the IV international conference, Petrozavodsk, September 3-8,
                        2012]. Petrozavodsk; Izhevsk 6-7. </bibl>
                    <bibl>
                        <hi rend="bold"> Buduma, Nikhil</hi> / <hi rend="bold">Lokasho,
                            Nicholas</hi> (2017): <hi rend="italic">Osnovy glubokogo obucheniya.
                            Sozdaniye algoritmov dlya iskusstvennogo intellekta sleduyushchego
                            pokoleniya</hi> [Fundamentals of deep learning. Creation of algorithms
                        for next generation artificial intelligence]. Moscow: Mann, Ivanov and
                        Ferber. </bibl>
                    <bibl>
                        <hi rend="bold">Chollet, François</hi> (2017): <hi rend="italic">Deep
                            Learning with Python</hi>. New York: Manning Publications. </bibl>
                    <bibl>
                        <hi rend="bold">Deitel, Paul</hi> (2021): <hi rend="italic">Python for AI
                            and Data Science with IPython, Jupyter Notebooks</hi> &lt; <ref
                            target="https://learning.oreilly.com/playlists/38a0889f-abbc-499a-b940-fed46ff7614d/"
                            >
                            https://learning.oreilly.com/playlists/38a0889f-abbc-499a-b940-fed46ff7614d/</ref>&gt;
                        [14.06.2021]. </bibl>
                    <bibl>
                        <hi rend="bold">Ivanov, George-Bogdan</hi> (2018): <hi rend="italic">Natural
                            Language Processing for Hackers: Learn to build awesome apps that can
                            understand people</hi>. New York: Manning Publications. </bibl>
                </listBibl>
            </div>
        </back>
    </text>
</TEI>
