Пошук кода УДК


Сэрвіс «Пошук кода УДК» дазваляе карыстальніку атрымаць спіс кодаў Універсальнай дзесятковай класіфікацыі, у апісаннях якіх сустракаецца тое ці іншае слова. На ўваход сэрвісу падаецца слова, якое неабходна знайсці. На выхадзе карыстальнік атрымлівае наступную інфармацыю пра класы УДК, дзе сустракаецца ўведзенае слова:

  • код класа;
  • апісанне класа па-англійску;
  • апісанне класа па-беларуску.

 

Асноўныя тэрміны і паняцці

УДК (Універса́льная дзесятко́вая класіфіка́цыя) – гэта мова індэксавання дакументаў, якая ўяўляе сабой сістэму класіфікацыі, што ахоплівае ўсе галіны чалавечых ведаў. УДК арганізавана як цэласная сістэма, у якой усе галіны ведаў звязаны паміж сабой, і прызначана для апісання і індэксавання зместу інфармацыйных рэсурсаў незалежна ад носьбіта, формы, фармату і мовы. УДК уяўляе сабой аналітыка-сінтэтычную і фасетную сістэму класіфікацыі з падрабязным слоўнікам і сінтаксісам, што забяспечвае моцную індэксацыю інфармацыі і значна спрашчае пошук інфармацыі пры вялікіх яе аб’ёмах.

 

Практычная каштоўнасць

На падставе базы дадзеных, да якой звяртаецца сэрвіс «Пошук кода УДК», створана беларускамоўнае выданне УДК 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. Пошук з атрыманнем колькасці вынікаў па змаўчанні.

  1. Увесці слова ў поле ўводу запыту.
  2. Пакінуць поле «Абмежаванне колькасці вынікаў» без змен або ачысціць яго.
  3. Націснуць кнопку «Пошук!».
  4. Атрымаць інфармацыю.

Сцэнар 2. Пошук з атрыманнем вызначанай колькасці вынікаў.

  1. Увесці слова ў поле ўводу запыту.
  2. Увесці ў поле «Абмежаванне колькасці вынікаў» патрэбную колькасць вынікаў (максімум 30).
  3. Націснуць кнопку «Пошук!».
  4. Атрымаць інфармацыю.

Магчымы вынік працы сэрвіса прадстаўлены на малюнку 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

Калі Вы знайшлі ў тэксце памылку правапісу, калі ласка, выдзеліце гэты тэкст і націсніце Ctrl+Enter.

Пакінуць каментарый

Your email address will not be published. Required fields are marked *