Сэрвіс «Пошук кода УДК» дазваляе карыстальніку атрымаць спіс кодаў Універсальнай дзесятковай класіфікацыі, у апісаннях якіх сустракаецца тое ці іншае слова. На ўваход сэрвісу падаецца слова, якое неабходна знайсці. На выхадзе карыстальнік атрымлівае наступную інфармацыю пра класы УДК, дзе сустракаецца ўведзенае слова:
- код класа;
- апісанне класа па-англійску;
- апісанне класа па-беларуску.
Асноўныя тэрміны і паняцці
УДК (Універса́льная дзесятко́вая класіфіка́цыя) – гэта мова індэксавання дакументаў, якая ўяўляе сабой сістэму класіфікацыі, што ахоплівае ўсе галіны чалавечых ведаў. УДК арганізавана як цэласная сістэма, у якой усе галіны ведаў звязаны паміж сабой, і прызначана для апісання і індэксавання зместу інфармацыйных рэсурсаў незалежна ад носьбіта, формы, фармату і мовы. УДК уяўляе сабой аналітыка-сінтэтычную і фасетную сістэму класіфікацыі з падрабязным слоўнікам і сінтаксісам, што забяспечвае моцную індэксацыю інфармацыі і значна спрашчае пошук інфармацыі пры вялікіх яе аб’ёмах.
Практычная каштоўнасць
На падставе базы дадзеных, да якой звяртаецца сэрвіс «Пошук кода УДК», створана беларускамоўнае выданне УДК 2016 года. Выданне змяшчае пераклад з ангельскай на беларускую мову дадзеных усіх класаў УДК, якія ўжываліся ў сусветнай практыцы індэксавання дакументаў на дату выхаду.
Сэрвіс будзе запатрабаваны для задавальнення патрэб бібліятэк, арганізацый, што гандлююць друкаванымі выданнямі, інфармацыйных цэнтраў, якія займаюцца сістэматызацыяй дакументаў, арганізацый дакументных фондаў і электронных сэрвісаў для пошуку інфармацыі.
Таксама выкарыстанне сэрвіса значна аблегчыць працу навукоўцаў, якія рыхтуюць свае артыкулы да друкавання ў перыядычных выданнях, якія знаходзяцца ў спісе ВАК або міжнародных рэфератыўных базах дадзеных.
Асаблівасці сэрвіса
На дадзены момант сэрвіс мае наступныя абмежаванні:
- Пошук ажыццяўляецца сэрвісам толькі на беларускай мове і толькі па адным слове. Словам лічыцца любая камбінацыя сімвалаў, уведзеная ў адпаведнае поле, таму патрэбна ажыццяўляць увод без пачатковых і канцавых прабелаў і іншых лішніх сімвалаў.
- Максімальная колькасць вынікаў абмежавана 30 пазіцыямі. Тым не менш, калі сэрвісу ўдалося знайсці ў базе дадзеных большую колькасць уваходжанняў, інфармацыя аб гэтым будзе выведзена карыстальніку. Коды і іх расшыфроўкі, што не ўвайшлі ў выдачу, можна атрымаць праз непасрэдны кантакт з распрацоўшчыкамі для працы па ўдасканаленні беларускамоўнай версіі УДК.
Алгарытм працы сэрвіса
Уваходныя дадзеныя алгарытму:
- Карыстальніцкі тэкставы ўвод, UText;
- Карыстальніцкае абмежаванне колькасці вынікаў, Limit;
- Абмежаванне вынікаў, якое выкарыстоўваецца праграмай (па змаўчанні роўнае 30), ActualLimit;
- Мноства кірылічных і лацінскіх сімвалаў у верхнім і ніжнім рэгістры, Letters;
- Мноства сімвалаў націскаў, Accents;
- Мноства сімвалаў апострафаў, Apostrophes;
- Мноства вынікаў, Result.
Пачатак алгарытму.
Крок 1.1. Стварэнне мноства LettersOfWord шляхам злучэння мностваў Letters, Accents і Apostrophes.
Крок 1.2. Прывядзенне карыстальніцкага тэкставага ўводу UText да выгляду, прыдатнага для праграмнай апрацоўкі, і запіс апрацаванага UText у пераменную SearchData. Валіднай SearchData лічыцца паслядоўнасць сімвалаў, кожны элемент якой належыць да мноства LettersOfWord або з’яўляецца прабелам. Ажыццяўленне крокаў 1.2.1 – 1.2.2.
Крок 1.2.1. Калі SearchData змяшчае сімвалы апострафаў, прывесці іх да ўніфікаванага сімвала «’».
Крок 1.2.2. Прывесці ўсе сімвалы SearchData да ніжняга рэгістра.
Крок 1.3. Калі 0 < Limit ⩽ ActualLimit, зрабіць ActualLimit роўным Limit, інакш – пакінуць ActualLimit без змен.
Крок 2.1. Ажыццяўленне запыту да базы дадзеных: пошук у табліцы UDC усіх уваходжанняў, дзе SearchData сустракаецца ў полі Belarusian у любой пазіцыі радка. Сарціроўка выніковых дадзеных паводле табліцы сімвалаў UTF-8. Запіс знойдзеных дадзеных у мноства Found, кожны элемент якога складаецца з палёў Notation (код УДК), English (дадзеныя з англійскай версіі УДК), Belarusian (дадзеныя з беларускай версіі УДК). Запіс агульнай колькасці элементаў Found у пераменную FoundCount.
Крок 2.2. Колеравае выдзяленне SearchData у полі Belarusian кожнага элемента Found з дапамогай адпаведных тэгаў HTML і іх атрыбутаў.
Крок 2.3. Стварэнне пераменнай Step=0 для наступнага запісу дадзеных у мноства Result.
Крок 2.4. Калі Step < ActualLimit, стварыць тройку <Found.Notation[Step], Found.English[Step], Found.Belarusian[Step]>, запісаць тройку ў мноства Result, інкрэментаваць Step і здзейсніць крок 2.4 яшчэ раз, інакш – перайсці да кроку 3.
Крок 3. Вывад на экран значэння пераменных ActualLimit, FoundCount і зместу мноства Result у адмысловым фармаце.
Канец алгарытму.
Апісанне інтэрфейсу карыстальніка
Карыстальніцкі інтэрфейс сэрвіса прадстаўлены на малюнку 1.
Малюнак 1 – Графічны інтэрфейс сэрвіса «Пошук кода УДК»
Інтэрфейс змяшчае наступныя вобласці:
- поле для ўводу запыту;
- поле для ўводу абмежавання колькасці вынікаў;
- кнопка «Пошук!», якая запускае апрацоўку і дае магчымасць атрымаць вынікі ў полі іх вываду.
Пасля націскання на кнопку «Пошук!» карыстальнік атрымлівае наступную інфармацыю па кожным знойдзеным выніку:
- код класа;
- апісанне класа па-англійску;
- апісанне класа па-беларуску.
Карыстальніцкія сцэнары працы з сэрвісам.
Сцэнар 1. Пошук з атрыманнем колькасці вынікаў па змаўчанні.
- Увесці слова ў поле ўводу запыту.
- Пакінуць поле «Абмежаванне колькасці вынікаў» без змен або ачысціць яго.
- Націснуць кнопку «Пошук!».
- Атрымаць інфармацыю.
Сцэнар 2. Пошук з атрыманнем вызначанай колькасці вынікаў.
- Увесці слова ў поле ўводу запыту.
- Увесці ў поле «Абмежаванне колькасці вынікаў» патрэбную колькасць вынікаў (максімум 30).
- Націснуць кнопку «Пошук!».
- Атрымаць інфармацыю.
Магчымы вынік працы сэрвіса прадстаўлены на малюнку 2.
Малюнак 2 – Вынік працы сэрвіса «Пошук кода УДК»
Доступ да сэрвіса праз API
Для доступу да сэрвіса «Пошук кода УДК» праз API неабходна адправіць AJAX-запыт тыпу POST на адрас https://corpus.by/UdcCodeFinder/api.php. Праз масіў data перадаюцца наступныя параметры:
- localization – лакалізацыя выніку. Даступны наступныя варыянты: be, en, ru.
- text – слова для пошуку.
- limit – абмежаванне колькасці вынікаў.
Прыклад AJAX-запыту:
$.ajax({
type: “POST”,
url: “https://corpus.by/UdcCodeFinder/api.php”,
data:{
“localization”: “en”,
“text”: “аб’ект”,
“limit”: “30”
},
success: function(msg){ },
error: function() { }
});
Сервер верне JSON-масіў з наступнымі параметрамі:
- text – уваходны тэкст – слова для пошуку;
- limit – уваходнае абмежаванне колькасці вынікаў;
- result – вынік пошуку ў html-фармаце;
- resultCnt – колькасць знойдзеных вынікаў.
Напрыклад, па прыведзеным вышэй AJAX-запыце будзе сфарміраваны наступны адказ:
[
{
“text”: “аб’ект”,
“limit”: “30”,
“result”: “<p><b>Notation:</b> 165.3<br><b>English:</b> Object, scope and limits of knowledge<br><b>Belarusian:</b> <b><font color=”blue”>Аб’ект</font></b>, аб’ём і межы ведаў</p><br><p><b>Notation:</b> 2-13<br><b>English:</b> The Holy. The sacred. The supernatural. Object(s) of religion/worship<br><b>Belarusian:</b> Святое. Сакральнае. Звышнатуральнае. <b><font color=”blue”>Аб’ект</font></b>(ы) рэлігіі/культу</p><br><p><b>Notation:</b> 316.1<br><b>English:</b> Object and scope of sociology<br><b>Belarusian:</b> <b><font color=”blue”>Аб’ект</font></b> і сфера дзейнасці сацыялогіі</p><br><p><b>Notation:</b> 368.025.2<br><b>English:</b> Object of insurance: persons or things at risk of damage or injury<br><b>Belarusian:</b> <b><font color=”blue”>Аб’ект</font></b> страхавання: асобы або рэчы, якім пагражаюць пашкоджанні або страты</p><br><p><b>Notation:</b> 368.025.3<br><b>English:</b> Object of insurance: property or item of property at risk of loss<br><b>Belarusian:</b> <b><font color=”blue”>Аб’ект</font></b> страхавання: прадметы ўласнасці або маёмасць у цэлым, якія могуць быць страчаныя</p><br><p><b>Notation:</b> 523.31<br><b>English:</b> The Earth as an astronomical body<br><b>Belarusian:</b> Зямля як астранамічны <b><font color=”blue”>аб’ект</font></b></p><br>”,
“resultCnt”: “6”
}
]
Спасылкі на крыніцы
Старонка сэрвіса: https://corpus.by/UdcCodeFinder/?lang=be
Сайт Кансорцыума УДК: https://www.udcc.org/
Табліцы УДК на беларускай мове: https://www.udcsummary.info/php/index.php?lang=be&pr=Y
Перакрыжаваныя спасылкі
- Драгун, А. Я. Аўтаматызаваныя сродкі атрымання расшыфроўкі і спісаў кодаў беларускамоўнай Універсальнай дзесятковай класіфікацыі / А. Я. Драгун, Я. С. Зяноўка, М. С. Галаўчак, С. С. Маеўскі, Ю. С. Гецэвіч // Материалы VII Международного конгресса «Библиотека как феномен культуры» : Краеведение и страноведение в сохранении культурного разнообразия, Минск, 21–22 октября 2020 г. / Национальная библиотека Беларуси ; [сост.: Т. В. Кузьминич, А. А. Суша]. – Минск, 2020. – С. 300-306.
- Станіславенка, Г.Р. Выкарыстанне камп’ютарна-лінгвістычных сродкаў для перакладу ўніверсальнай дзесятковай класіфікацыі дамена “тэатр” з англійскай на беларускую мову і генерацыя алфавітна-прадметнага паказальніка / Г.Р. Станіславенка, Ю.С. Гецэвіч, С.І. Лысы // Актуальные вопросы германской филологии и лингводидактики: материалы XX Междунар. науч.-практ. конф. / Брест. гос. ун-т имени А.С. Пушкина; редкол.: Е. Г. Сальникова [и др.]. — Брест : Альтернатива, 2016. — C. 264-266.
- Станиславенко, А.Г. Этапы подготовки первого издания УДК на беларусском языке / А.Г. Станиславенко, С.И. Лысы, Ю.С. Гецевич // Информация в современном мире : доклады Международной конференции, Москва, 25-26 октября 2017 г. / ВИНИТИ РАН. — Москва : ВИНИТИ РАН, 2017. — C. 297-303.