Сэрвіс «Рэфератар тэксту» прызначаны для аўтаматычнага рэзюмавання адвольных тэкставых дакументаў. Сэрвіс прымае любыя тэкставыя дадзеныя ў якасці ўваходу і вяртае іх рэзюме на выхадзе.
Асноўныя тэрміны і паняцці
Зыходны тэкст – любые ўваходныя тэкставые дадзеныя для рэзюмавання.
Рэзюмэ – скарочаны варыянт зыходнага тэксту.
Рэзюмаванне – працэс складання рэзюмэ зыходнага тэксту.
Інтэлектуальны аналіз тэкста – працэс атрымання карыснай інфармацыі з тэксту.
Практычная каштоўнасць
Рэзюмаванне тэкстаў выкарыстоўваецца ў многіх алгарытмах інтэлектуальнага аналізу тэкстаў, такіх як класіфікацыя і кластэрызацыя, для таго каб паменшыць памеры тэкстаў і адпаведна павялічыць прадукцыйнасць.
Алгарытм працы сэрвіса
Алгарытм заснаваны на гэтай працы.
Уваход:
- Зыходны тэкст, ST (string)
- «Threshold» параметр, T (float)
- «Error tolerance» параметр, ET (float)
- Колькасць сказаў у рэзюмэ, L (integer)
Выхад:
- Рэзюмэ, S (string)
Алгарытм:
- хай T_w = log(N / N_w) для кожнага слова w ў ST, дзе N гэта колькасць сказаў у ST, N_w гэта колькасць сказаў, у якіх сустракаецца слова w
- хай L_w_i пазначае, колькі раз слова w сустрэлася ў i-ым сказе
- хай W_i пазначае мноства слов i-ага сказа
- хай G = (V, E, W) пазначае ненакіраваны поўны граф з вяршынямі V, рэбрамі E і вагамі рэбраў W, дзе
V = {парадкавы нумар s у ST | ∀ сказаў s ∈ ST},
E = {(i, j) | ∀ i, j ∈ V ⨯ V, i ≠ j},
W = {Num_i_j / (√Den_i * √Den_j) | ∀ (i, j) ∈ E)}, дзе
Num_i_j = сума L_w_i * L_w_j * T_w^2 для кожнага слова w ў W_i ∩ W_j,
Den_i = сума (L_w_i * T_w)^2 для кожнага слова w у i-ым сказе - для кожнага рабра e ∈ E з вагай w ∈ W:
if w > T then:
w = 1
else:
E = E \ {e} - для кожнага пакінутага рабра (i, j) ∈ E з вагай w ∈ W:
w = w / (D_i * D_j)
, дзе D_i гэта ступень i-ай вяршыні - хай M пазначае матрыцу інцыдентнасці атрыманага графа G
- для кожнага элемента (i, j) ∈ M са значэннем M_i_j і адпаведнай вагай w ∈ W:
if M_i_j ≠ 0 then:
M_i_j = w - хай R пазначае N-вектар; першапачаткова R = (1 / N, 1 / N, …, 1 / N)
- пакуль Эўклідава норма рознасці вектароў R на бягучай і папярэдняй ітэрацыях больш, чым ET:
R = M^T ⨯ R - сартуем R у парадку змяншэння
- дастаём L найбольш каштоўных сказаў з ST, якія адпавядаюць першым L каардынатам R
- злучаем вынятыя сказы ў рэзюмэ S ў парадку сустракання ў ST і вяртаем S
Апісанне інтэрфейсу карыстальніка
Знешні выгляд карыстальніцкага інтэрфейсу сэрвіса прадстаўлены на малюнку 1.
Малюнак 1 – Графічны інтэрфейс сэрвіса «Рэфератар тэксту»
Інтэрфейс мае наступныя вобласці:
- поле ўводу зыходнага тэкста
- поле ўводу параметра «threshold»
- поле ўводу параметра «error tolerance»
- поле ўводу колькасці сказаў у рэзюмэ
- кнопка пачатку рэзюмавання
- поле вывада рэзюмэ
Магчымы сцэнар працы з сэрвісам:
- увядзіце любыя тэкставыя дадзеныя ў поле ўводу зыходнага тэксту (1)
- укажыце колькасць сказаў у рэзюмэ (4)
- націснете кнопку «Рэзюмаваць» (5)
- прааналізуйце атрыманае рэзюмэ (6)
- пры неабходнасці дакладна наладзьце параметры алгарытму (2, 3)
Доступ да сэрвіса праз API
Для доступу да сэрвіса «Рэфератар тэксту» праз API неабходна адправіць AJAX-запыт тыпу POST на адрас https://corpus.by/TextSummarizer/api. Праз масіў data перадаюцца наступныя параметры:
- text – тэкст для рэзюмавання (абавязкова)
- threshold – «threshold» параметр (неабавязкова, 0.05 па змаўчанні)
- tolerance – «error tolerance» параметр (неабавязкова, 0.1 па змаўчанні)
- length – колькасць сказаў у рэзюме (неабавязкова, 5 па змаўчанні)
Прыклад AJAX-запыту:
$.ajax({
type: “POST”,
url: “https://corpus.by/TextSummarizer/api”,
data: {
“text”: “Брэст — горад у Беларусі, адміністрацыйны цэнтр Брэсцкай вобласці і Брэсцкага раёна, на рацэ Заходні Буг пры ўпадзенні ў яго Мухаўца. За 349 км ад Мінска. Тэрыторыя горада — 146,12 км². Насельніцтва 343 985 чал. З’яўляецца адным з найважнейшых транспартных вузлоў Беларусі. Эканамічны і культурны цэнтр, вузел чыгунак і аўтамабільных дарог, аэрапорт, рачны порт, звязаны Дняпроўска-Бугскім каналам з басейнамі Дняпра і Прыпяці. Упершыню згадваецца ў «Аповесці мінулых гадоў» пад назваю Бе́рестье, у гістарычных крыніцах таксама сустраюцца напісанні Бересте, Бересть, у нямецкіх летапісах Брэйзіка. Тапонім «Берасце» ўтварыўся ад слова «бе́раст», «бе́расць» (дрэвавая ці куставая расліна сямейства вязавых). Значэнне мае хутчэй за ўсё зборнае — бераставы гай.”,
“threshold”: “0.05”,
“length”: “1”,
},
origin: “*”,
contentType: “application/json; charset=utf-8”,
headers: {
“x-api-key” : “123”
},
success: function(msg) { },
error: function(err) { }
});
Сервер вяртае JSON-масіў з наступнымі ключамі:
- text – тэкст для рэзюмавання
- threshold – «threshold» параметр
- tolerance – «error tolerance» параметр
- length – колькасць сказаў у рэзюме
- summary – выніковае рэзюмэ
Напрыклад, паводле прыведзенага вышэй AJAX-запыту будзе сфарміраваны наступны адказ:
{
“text”: “Брэст — горад у Беларусі, адміністрацыйны цэнтр Брэсцкай вобласці і Брэсцкага раёна, на рацэ Заходні Буг пры ўпадзенні ў яго Мухаўца. За 349 км ад Мінска. Тэрыторыя горада — 146,12 км². Насельніцтва 343 985 чал. З’яўляецца адным з найважнейшых транспартных вузлоў Беларусі. Эканамічны і культурны цэнтр, вузел чыгунак і аўтамабільных дарог, аэрапорт, рачны порт, звязаны Дняпроўска-Бугскім каналам з басейнамі Дняпра і Прыпяці. Упершыню згадваецца ў «Аповесці мінулых гадоў» пад назваю Бе́рестье, у гістарычных крыніцах таксама сустраюцца напісанні Бересте, Бересть, у нямецкіх летапісах Брэйзіка. Тапонім «Берасце» ўтварыўся ад слова «бе́раст», «бе́расць» (дрэвавая ці куставая расліна сямейства вязавых). Значэнне мае хутчэй за ўсё зборнае — бераставы гай.”,
“threshold”: “0.05”,
“tolerance”: “0.1”,
“length”: “1”,
“summary”: “Брэст — горад у Беларусі, адміністрацыйны цэнтр Брэсцкай вобласці і Брэсцкага раёна, на рацэ Заходні Буг пры ўпадзенні ў яго Мухаўца.”,
}
Спасылкі на крыніцы
Старонка сэрвіса – https://corpus.by/TextSummarizer/?lang=be