Създаване

Три основни метода се прилагат за компилацията на ядрото от български текстове и на паралелните корпуси в БНК:

1. Използване на готови текстови колекции. Ядрото от български текстове в БНК първоначално беше формирано на основата на Българския лексикографски архив и на Архива от писмени текстове на български език, които понастоящем представляват 55.95% от корпуса. Също така са включени два специализирани корпуса от колекцията OPUS – корпусът от текстове от Европейската агенция по лекарствата EMEA (медицински административни текстове) и OpenSubtitles корпус от субтитри на филми, които представляват съответно 1.27% и 8.61% от ядрото на БНК. Голяма част от текстовете от Българския лексикографски архив и на Архива от писмени текстове на български език са предоставени от български издатели на периодични издания.

 

Корпусите се изтеглят директно в текстов формат или се преобразуват в такъв. Метаданните се извличат автоматично по възможност, като в някои случаи се налага ръчното им въвеждане или проверка. Пълна анотация се извършва за всички текстове, дори и тези, които са анотирани преди това в рамките на друг корпус или текстова колекция (текстовете от OPUS са токънизирани и съотнесени по изречения), за да се осигури съответствие на анотацията с възприетите принципи и стандарти.

 

2. Ръчна компилация от интернет. Това е основният подход за събиране на корпуси от миналото, но понастоящем се прилага в ограничен брой случаи за малко на брой големи по обем документи, за които разработването на фокусирани кроулери не е целесъобразно. Повечето от старите корпуси в състава на БНК са събирани ръчно, като например „Brown“ корпус за български език. В последно време ръчната компилация се използва за събирането на художествени текстове за различни езици. Ръчно събраните текстове представляват 3.70% от текстовете в ядрото на БНК.

 

3. Автоматичната компилация чрез уеб кроулинг е най-предпочитаният метод. Използват седи добре познати и широко прилагани методи за автоматично събиране на текстове, които са приспособени за специфичните нужди и са оптимизирани с оглед на ефективността на работата и прецизността на резултатите. Автоматично компилираните текстове в БНК включват голям брой административни текстове, научни и научнопопулярни текстове (напр. статии от Уикипедия) и други, като обхващат общо 30.47% от ядрото на БНК.

 

Ръчно и автоматично проучване преди кроулирането има за цел да осигури ефикасната работа на кроулера, както и високото качество на резултатите по отношение на валидност на събраните документи и съответствия между паралелните текстове. Тъй като паралелните ресурси с български език са ограничени в интернет, уеб кроулирането се основава на определени зададени източници. Структурата на уеб страниците също се взема предвид при кроулирането, като в зависимост от източника се прилагат техники за обхождане на всички връзки или се използват шаблони за уеб адреси.

 

Няколко алгоритъма за кроулиране бяха проучени и основната техника, приложена за общия кроулер, беше Breadth-First алгоритъма. Първоначално беше разработен общ кроулер с общите функционалности. Кроулерът започва от началната страница на съответната колекция от документи и събира всички хипервръзки рекурсивно, докато достигне релевантните документи, или използва шаблони за уеб адреси, за да достигне желаните страници директно. В повечето случаи уеб страниците, съдържащи паралелни текстове, са много големи и общият (нефокусиран) кроулер трябва да обработи голям набор от връзки и документи и да подбере релевантните. Затова общият кроулер се преобразува във фокусиран кроулер, като се адаптира за структурата на съответния източник в съответствие с предварителното ръчно или автоматично проучване.

 

Фокусираният кроулер или прилага техники за обхождане на връзки, или използва набор от шаблони за уеб адреси. Фокусираният кроулер проверява съответствието на документите към дадени предварителни изисквания за релевантност, както и за наличието на българско съответствие при чуждоезиковите текстове. Някои корпуси са статични и изискват еднократно прилагане на кроулера, докато други са динамични (например, уеб страници за новини) и изискват регулярно седмично или месечно кроулиране.

 

Установени са и процедури за проверка на валидността на събраните чрез автоматично кроулиране документи: изтриване на празни файлове от невалидни уеб адреси, проверка на големина на файловете, проверка на кодирането (англ. encoding). Съответствие между паралелни текстове се установява чрез сравнение на URL, големина на файловете, дати и други. Фокусираното кроулиране с предхождащо проучване на структурата на източниците (което значително намалява броя на разгледаните връзки) осигурява високото качество на резултатите и подобрява ефективността.