(Беларуская) Генератар алфавітна-прадметнага паказальніка


Sorry, this entry is only available in Беларуская. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Сэрвіс «Генератар алфавітна-прадметнага паказальніка» дае магчымасць канвертаваць тэкст табліц універсальнай дзесятковай класіфікацыі (УДК) у алфавітна-прадметны паказальнік (АПП). На ўваход сэрвісу падаюцца табліцы УДК у фармаце «код класа — апісанне класа» праз табуляцыю, па адным класе на радок. Вынікам працы сэрвіса з’яўляецца фрагмент АПП.

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

Алфавітна-прадметны паказальнік (АПП) — паказальнік, які складаецца з упарадкаванага па алфавіце мноства слоў, словазлучэнняў і фраз натуральнай мовы, якія абазначаюць прадметы якой-небудзь галіны навукі або практычнай дзейнасці [1].

АПП для УДК — масіў адпаведнасцяў «тэрміналагічная адзінка – каардынацыйны код/індэкс». Кожная адпаведнасць уяўляе сабой асобную прадметную рубрыку [2].

Універсальная дзесятковая класіфікацыя (УДК) — міжнародная класіфікацыйная сістэма, якая адпавядае найбольш істотным патрабаванням да класіфікацый: міжнароднасць, універсальнасць, пашыральнасць. Табліцы УДК былі перакладзены і апублікаваны цалкам ці часткова на больш чым 40 мовах, а выкарыстоўваецца УДК прыкладна ў 130 краінах свету. На тэрыторыі Беларусі УДК дзейнічае на працягу апошніх 50 год. Аднак толькі ў 2016 годзе з’явілася афіцыйнае выданне УДК на беларускай мове. Алфавітна-прадметны паказальнік (АПП), які складае больш за чвэрць выдання, быў падрыхтаваны пры дапамозе алгарытму, які аўтаматызаваў працэс яго стварэння [2].

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

З дапамогай дадзенага сэрвіса згенераваны АПП для выдання «Універсальная дзесятковая класіфікацыя» [3].

Алгарытм аўтаматызаванага стварэння алфавітна-прадметнага паказальніка УДК на беларускай мове

Алгарытм дае магчымасць сфарміраваць АПП УДК па тэкстах яе табліц і арыентаваны на працу з беларускім выданнем УДК, але аддзеленасць лінгвістычных і тэматычных рэсурсаў, якія выкарыстоўваюцца ў алгарытме, ад самога алгарытму дазваляе адаптаваць яго для працы з УДК на іншых мовах.

Уваходныя дадзеныя алгарытму: поўны тэкст асноўных табліц УДК TUDC.

Рэсурсы алгарытму:

  • тэкставы файл Fsc, які змяшчае спіс стоп-класаў;
  • тэкставы файл Fsw, які змяшчае спіс стоп-слоў;
  • тэкставы файл Fdic, які змяшчае характэрную для УДК лексіку з указаннем пэўных граматычных характарыстык;
  • тэкставы файл Fdom, які змяшчае спіс адпаведнасцяў «код класа – дамен»;

Уваход:

Крок 1. Загрузка рэсурсаў. Адбываецца загрузка файлаў Fsc, Fsw, Fdic, Fdom з адмысловымі рэсурсамі ў памяць камп’ютара, фарміруюцца адпаведныя спісы.

Крок 1.1. Фарміраванне спісу стоп-класаў. Адбываецца загрузка файла са спісам стоп-класаў Fsc. Фарміруецца спіс Lsc = <sc1, …, scA>, дзе scaa-ты стоп-клас, a = 1, …, A.

Крок 1.2. Фарміраванне спісу стоп-слоў. Адбываецца загрузка файла са спісам стоп-слоў Fsw. Фарміруецца спіс Lsw = <sw1, …, swB>, дзе swbb-е стоп-слова, b = 1, …, B.

Крок 1.3. Фарміраванне спецыялізаванага слоўніка. Адбываецца загрузка файла-слоўніка Fdic. Фарміруецца спіс Ldic = <<w1,wa1,wc1,wi1>, …, <wC,waC,wcC,wiC>>, дзе wcc-е слова слоўніка, wac – націск c-га слова слоўніка, wcc – катэгорыя c-га слова слоўніка, wic – пачатковая форма c-га слова слоўніка, c = 1, …, C.

Крок 1.4. Фарміраванне спісу прыналежнасці класаў даменам. Адбываецца загрузка файла Fdom. Фарміруецца спіс Ldom = <<cl1,dom1>, …, <clD,domD>>, дзе cldd-ты клас спісу, domd – дамен, які адпавядае d-му класу спісу, d = 1, … , D.

Крок 2. Фарміраванне спісу класаў УДК. Уваходны тэкст TUDC разбіваецца на асобныя запісы – класы УДК; у кожным запісе вылучаецца код класа і апісанне класа. Такім чынам на аснове ўваходнага тэксту TUDC фарміруецца спіс LUDC = <Cl1, … , ClN>, дзе Cln = <NotnCapn>, Notnn-ты код класа, Capnn-е апісанне класа, n = 1, …, N.

Крок 3. Апрацоўка спісу класаў УДК. Ствараецца спіс адпаведнасцяў «слова – мноства кодаў класаў» Lres, у які будуць заносіцца вынікі апрацоўкі. Кожны элемент Cln спісу LUDC праходзіць крокі 3.1–3.6.

Крок 3.1. Фільтрацыя паводле спісу стоп-класаў. Адбываецца вызначэнне, ці прыналежыць код класа Notn спісу стоп-класаў Lsc. Калі прыналежнасць выяўлена, то адбываецца пераход да наступнага элементу Cln+1 і кроку 3.1 (пры n = N – да кроку 4). Іначай – да кроку 3.2.

Крок 3.2. Вылучэнне слоў. У апісанні класа Capn вылучаюцца ўсе сімвальныя паслядоўнасці, якія адпавядаюць шаблону будовы слова Ptw. Выкарыстоўваючы сінтаксіс рэгулярных выразаў PCRE (https://www.pcre.org/original/doc/html/pcrepattern.html), дадзены шаблон можна прадставіць наступным чынам:

Ptw = [set1][set1set2]* ,

дзе set1 – мноства сімвалаў, з якіх можа пачынацца слова, set2 – мноства сімвалаў, з якіх можа складацца, але не можа пачынацца слова, set1set2 = set1 ∪ set2. У склад мноства set1 уваходзяць літары беларускага алфавіту; у склад мноства set2 – злучок, апостраф, сімвалы націскаў і інш.

Вылучаныя ў апісанні класа Capn словы заносяцца ў спіс Wcap = <wrd1, … , wrdM>, дзе wrdm – m-е вылучанае слова, m = 1, …, M.

Крок 3.3. Нармалізацыя слоў. Кожнае слова wrdm са спісу Wcap прыводзіцца да нармалізаванай электроннай формы (словы прыводзяцца да ніжняга рэгістра; адбываецца ўніфікацыя апострафаў, замена літары «ў» на «у» ў пачатку слова і інш.). Вынікам дадзенай апрацоўкі з’яўляецца спіс нармалізаваных слоў W’cap = <wrd’1, … , wrd’M>, дзе wrd’mm-е нармалізаванае слова, m = 1, …, M.

Крок 3.4. Фільтрацыя паводле спісу стоп-слоў. Для кожнага слова са спісу W’cap адбываецца вызначэнне, ці прыналежыць яно спісу стоп-слоў Lsw. Калі прыналежнасць не выяўлена, то слова заносіцца ў спіс W”cap = <wrd”1, … , wrd”K>, дзе wrd’kk-е дапушчальнае слова, k = 1, …, K.

Крок 3.5. Фільтрацыя паводле часціны мовы і прывядзенне да пачатковай формы. Для кожнага слова са спісу W”cap адбываецца вызначэнне часціны мовы wc і пачатковай формы wi паводле спісу характэрнай для УДК лексікі Ldic. Калі бягучае слова з’яўляецца назоўнікам, прыметнікам або дзеепрыметнікам, то яго пачатковая форма wi заносіцца ў спіс W”’cap = <wrd”’1, … , wrd”’J>, дзе wrd’jj-е дапушчальнае слова ў пачатковай форме, j = 1, …, J.

Крок 3.6. Занясенне ў выніковы спіс. Кожнае слова са спісу W”’cap заносіцца ў выніковы спіс Lres. Калі ў выніковым спісе Lres бягучае слова яшчэ не сустракаецца, то слова дадаецца ў выглядзе новага элемента, у адпаведнасць якому ставіцца масіў з адным элементам – кодам апрацоўваемага класа Notn. Калі ж слова ўжо занесена ў выніковы спіс Lres, то код апрацоўваемага класа Notn заносіцца ў масіў кодаў класаў, адпаведных апрацоўваемаму слову.

Крок 4. Прысвойванне даменаў. Адбываецца перабор элементаў спісу Lres. У кожным элеменце Lres да кожнага кода класа вызначаецца тэматычны дамен dom паводле спісу Ldom. Коды класаў, дамены якіх супадаюць, групуюцца ў адзін масіў.

Такім чынам, вынікам з’яўляецца спіс Lres = <<wrd1, ent1>, …, <wrdR, entR>, дзе wrdrr-е слова выніковага спісу, r = 1, …, R; у сваю чаргу entr = <<dom1Lnot1>, …, <domSLnotS>>, дзе domss-ты дамен, да якога адносіцца слова wrdr, s = 1, …, S; і ўрэшце Lnots = <not1, …, notT>, дзе nottt-ты код класа, адпаведнага дамену doms, да якога адносіцца слова wrdr, t = 1, …, T.

Крок 5. Фарміраванне выніку. Адбываецца сартыроўка выніковага спісу Lres паводле беларускага алфавіту і прывядзенне да тэкставага фармату з неабходным фарматаваннем. Вынік TASI выводзіцца на экран і захоўваецца ў адпаведным файле на серверы.

Канец алгарытму [2].

У выніку выканання апісанага алгарытму на аснове табліц УДК на беларускай мове фарміруецца АПП. Варта адзначыць, што прапанаваны алгарытм з’яўляецца прыдатным для пашырэння на іншыя мовы, бо лінгвістычныя і тэматычныя рэсурсы, выкарыстаныя ў ім, аддзелены ад алгарытму і могуць быць распрацаваны для іншай мовы.

Апісанне інтэрфейсу карыстальніка

Інтэрфейс сэрвісу прадстаўлены на малюнку 1.

Малюнак 1. Інтэрфейс сэрвіса «Генератар алфавітна-прадметнага паказальніка»

Інтэрфейс змяшчае наступныя вобласці:

  • поле ўводу ўваходных дадзеных;
  • опцыя «Атрымаць дадатковую інфармацыю» — сэрвіс прадставіць інфармацыю пра словы, якія не атрымалася апрацаваць з-за адсутнасці той ці іншай неабходнай інфармацыі ў базе, а таксама падасць спіс знойдзеных ва ўваходным тэксце амографаў;
  • кнопка «Згенераваць алфавітна-прадметны паказальнік», дзякуючы якой можна атрымаць вынік.

Карыстальніцкі сцэнар працы з сэрвісам

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

Сцэнар 1. Генерацыя АПП

  1. Увесці ў поле ўводу карэктныя ўваходныя дадзеныя.
  2. Націснуць кнопку «Згенераваць алфавітна-прадметны паказальнік». Вынікі будуць мець выгляд, прадстаўлены на малюнку 2.

Малюнак 2. Вынікі генерацыі АПП

Сцэнар 2. Генерацыя АПП з дадатковай інфармацыяй

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

  1. Увесці ў поле ўводу карэктныя ўваходныя дадзеныя.
  2. Паставіць птушку на опцыі «Атрымаць дадатковую інфармацыю».
  3. Націснуць кнопку «Згенераваць алфавітна-прадметны паказальнік». Вынікі будуць мець выгляд, прадстаўлены на малюнку 3.

Малюнак 3. Вынікі генерацыі АПП з дадатковай інфармацыяй. Пры апрацоўцы дадзенага ўваходнага тэксту дадатковай інфармацыі не выяўлена.

Доступ да сэрвіса праз API

Для доступу да сэрвіса «Генератар алфавітна-прадметнага паказальніка» праз API, неабходна адправіць AJAX-запыт тыпу POST на адрас https://corpus.by/AlphabeticalSubjectIndexGenerator/api.php. Праз масіў data перадаюцца наступныя параметры:

  • text — фрагмент табліц УДК у фармаце «код класа — апісанне класа» праз табуляцыю, па адным класе на радок.
  • additionalInfo — маркер неабходнасці дадатковай інфармацыі.

Прыклад AJAX-запыту:

$.ajax({
   type: “POST”,
   url: “https://corpus.by/AlphabeticalSubjectIndexGenerator/api.php”,
   data:{
      “text”: “8 МОВА. МОВАЗНАЎСТВА. ЛІНГВІСТЫКА. ЛІТАРАТУРА
80 Агульныя пытанні лінгвістыкі і літаратуры. Філалогія
801 Прасодыя. Дапаможныя навукі і крыніцы філалогіі
801.6 Прасодыя: памер, рытм, рыфма і вершаваныя мадэлі
801.63 Метр. Метрычныя меры, стопы
801.65 Вершы і складовыя мадэлі (у адпаведнасці з лікавымі характарыстыкамі)
801.66 Рыфма
801.67 Стансы, строфы, куплеты, вершы (у паэме)
801.7 Дапаможныя філалагічныя дысцыпліны
801.8 Філалагічныя і лінгвістычныя крыніцы. Зборнікі тэкстаў”,

      “additionalInfo”: 1
   },
   success: function(msg){ },
   error: function() { }
});

Сервер верне JSON-масіў з уваходным фрагментам табліц УДК (параметр text), выніковым фрагментам алфавітна-прадметнага паказальніка і адрасам, дзе вынік захаваны, (параметр result і ResultUrl адпаведна), колькасцю сэнсавых адзінак у выніку (параметр ResultCnt), спісам невядомых сэрвісу слоў і адрасам, дзе гэты спіс захаваны, (параметры UnknownWordsList і UnknownWordsListUrl адпаведна), спісам амографаў і адрасам, дзе гэты спіс захаваны, (параметры HomographList і HomographListUrl адпаведна), спісам слоў, для якіх не ўдалося вызначыць націск, і адрасам, дзе гэты спіс захаваны, (параметры UnaccentedWordsList і UnaccentedWordsListUrl адпаведна). Напрыклад, па вышэй прыведзеным AJAX-запыце будзе сфарміраваны наступны адказ:

[
   {
      “text”: “8 МОВА. МОВАЗНАЎСТВА. ЛІНГВІСТЫКА. ЛІТАРАТУРА <…>“,
      “result”: “<b>А</b><br><br>@Агульны<br>80 — Агульныя пытанні лінгвістыкі і літаратуры. Філалогія<br> <…>“,
      “UnknownWordsList”: “”,
      “UnknownWordsListUrl”: “”,
      “HomographList”: “”,
      “HomographListUrl”: “”,
      “UnaccentedWordsList”: “”,
      “UnaccentedWordsListUrl”: “”,
      “ResultCnt”: 31,
      “ResultUrl”: “https://corpus.by/showCache.php?s=AlphabeticalSubjectIndexGenerator&t=out&f=2018-06-25_17-17-47_80-94-162-88_326_out.txt”
   }
]

Спасылкі на крыніцы

Старонка сэрвіса: https://corpus.by/AlphabeticalSubjectIndexGenerator/?lang=be

Артыкулы па тэме: https://ssrlab.by/tag/udc

Перакрыжаваныя спасылкі

  1. Профессиональное образование. Словарь. Ключевые понятия, термины, актуальная лексика. — М.: НМЦ СПО. С.М. Вишнякова. 1999.
  2. Лысы, С. І. Аўтаматызаваная генерацыя алфавітна-прадметнага паказальніка Універсальнай дзесятковай класіфікацыі на беларускай мове / С. І. Лысы, Г. Р. Станіславенка, Ю. С. Гецэвіч // Информатика. – 2018. − Т. 15, № 2. – С. 7–16.
  3. Універсальная дзесятковая класіфікацыя : звыш 10 000 асноўных і дапаможных класаў / Аб’яднаны інстытут праблем інфарматыкі Нацыянальнай акадэміі навук Беларусі, Нацыянальная бібліятэка Беларусі; [рэдакцыйная калегія: Ю. С. Гецэвіч, С. А. Пугачова, Г. Р. Станіславенка і інш. ; укладальнікі алфавітна‑прадметнага паказальніка: С. І. Лысы, Г. Р. Станіславенка, Ю. С. Гецэвіч]. – Мінск, 2016. – 370 с.

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