Семантический анализ текстов и его использование при поиске литературы

Уточненные законы Зипфа легли в основу алгоритмов автоматического распознавания текста, реализованных в специальных программах-экстракторах. С их помощью можно выполнить семантический анализ текстов и извлечь ключевые слова и выражения, необходимые для квалифицированного поиска.
Есть два ос­нов­ных ви­да по­ис­ка в эле­к­трон­ных (и не толь­ко) ка­та­ло­гах биб­ли­о­тек. Пер­вый — де­тер­ми­ни­ро­ван­ный — ис­поль­зу­ет­ся, ког­да из­ве­с­тен хо­тя бы один из ос­нов­ных ат­ри­бу­тов оп­ре­де­лен­ной кни­ги (фа­ми­лия и ини­ци­а­лы ав­то­ра, на­зва­ние, ин­декс ISBN). Его ре­зуль­та­т по­ка­зы­ва­ет толь­ко на­ли­чие дан­ной кни­ги в кон­крет­ной биб­ли­о­те­ке.
Дру­гой вид — не­де­тер­ми­ни­ро­ван­ный, или ве­ро­ят­но­ст­ный, по­иск — ис­поль­зу­ют, что­бы по­до­брать ли­те­ра­ту­ру по ка­ко­му-ли­бо кон­крет­но­му во­про­су. Он тре­бу­ет ра­бо­ты с те­ма­ти­че­с­ким ка­та­ло­гом и мо­жет быть ос­но­ван на од­ном из клас­си­фи­ка­ци­он­ных ин­дек­сов (УДК или ББК). Его на­зы­ва­ют ве­ро­ят­но­ст­ным, так как за­ра­нее не­из­ве­ст­но, бу­дут ли най­де­ны ссыл­ки на ка­кие-ли­бо ис­точ­ни­ки. С этим ви­дом по­ис­ка стал­ки­ва­ют­ся не толь­ко спе­ци­а­ли­с­ты, но и сту­ден­ты, ре­же — школь­ни­ки.
До 1990-х гг. это был, по су­ще­ст­ву, един­ст­вен­ный ре­аль­ный спо­соб по­ис­ка нуж­ной ли­те­ра­ту­ры. С по­яв­ле­ни­ем же ком­пью­те­ров и тек­с­то­вых баз дан­ных открылась воз­мож­ность ав­то­ма­ти­зи­ро­ван­но­го по­ис­ка ли­те­ра­ту­ры по за­дан­ной те­ма­ти­ке, ос­но­ван­но­го на при­ме­не­нии по­ис­ко­во­го вы­ра­же­ния, со­став­лен­но­го на ос­но­ве так на­зы­ва­е­мых клю­че­вых слов.
Срав­ни­тель­но ред­кое при­ме­не­ние клас­си­фи­ка­ци­он­ных ин­дек­сов в про­цес­се не­де­тер­ми­ни­ро­ван­но­го по­ис­ка мож­но объ­яс­нить труд­но­с­тя­ми ра­бо­ты с та­ки­ми клас­си­фи­ка­то­ра­ми, свя­зан­ны­ми с от­сут­ст­ви­ем чет­ких те­ма­ти­че­с­ких гра­да­ций, а так­же от­сут­ст­ви­ем не­об­хо­ди­мых про­фес­си­о­наль­ных биб­ли­о­гра­фи­че­с­ких зна­ний у боль­шин­ст­ва поль­зо­ва­те­лей те­ма­ти­че­с­ких ка­та­ло­гов. Кро­ме то­го, очень мно­гие ра­бо­ты ле­жат на сты­ке не­сколь­ких на­уч­ных об­ла­с­тей или на­прав­ле­ний, что за­труд­ня­ет их по­иск и клас­си­фи­ка­цию.
По­это­му бо­лее чем в 90% слу­ча­ев ис­поль­зу­ет­ся те­ма­ти­че­с­кий по­иск на ос­но­ве клю­че­вых слов и вы­ра­же­ний. Что­бы он был ус­пеш­ным, тре­бу­ет­ся пред­ва­ри­тель­но вы­пол­нить 2 ус­ло­вия. Пер­вое — для всех ли­те­ра­тур­ных ис­точ­ни­ков, хра­ни­мых в биб­ли­о­те­ке, пред­ва­ри­тель­но вы­брать на­и­бо­лее ре­ле­вант­ные (в на­и­боль­шей сте­пе­ни со­от­вет­ст­ву­ю­щие их со­дер­жа­нию) клю­че­вые сло­ва и вы­ра­же­ния. Вто­рое — ис­поль­зу­е­мые для по­ис­ка клю­че­вые сло­ва и вы­ра­же­ния долж­ны пол­но­стью со­от­вет­ст­во­вать те­ма­ти­че­с­ко­му на­прав­ле­нию. Важ­но оп­ре­де­лить, сколь­ко клю­че­вых слов це­ле­со­об­раз­но из­вле­кать из ли­те­ра­тур­но­го ис­точ­ни­ка, ка­кое их чис­ло сле­ду­ет ис­поль­зо­вать в по­ис­ко­вом вы­ра­же­нии, ка­ким об­ра­зом оно бу­дет со­став­ле­но.
Луч­ше из­влечь клю­че­вые сло­ва и вы­ра­же­ния мо­жет уз­кий спе­ци­а­лист, хо­ро­шо зна­ко­мый с те­ма­ти­кой ра­бо­ты. Но руч­ной труд ква­ли­фи­ци­ро­ван­ных спе­ци­а­ли­с­тов край­не до­рог и ма­ло­про­из­во­ди­те­лен. Це­ле­со­об­раз­но ав­то­ма­ти­зи­ро­вать про­це­ду­ру из­вле­че­ния клю­че­вых слов. Кро­ме то­го, на­ко­пи­лось ог­ром­ное ко­ли­че­ст­во книг, жур­на­лов и сбор­ни­ков, ко­то­рые еще пред­сто­ит под­верг­нуть се­ман­ти­че­с­ко­му ана­ли­зу с це­лью из­вле­че­ния клю­че­вых слов и вы­ра­же­ний.
Ав­то­ма­ти­за­ция та­ко­го тру­да воз­мож­на на ос­но­ве за­ко­нов, ус­та­нов­лен­ных в се­ре­ди­не про­шло­го ве­ка из­ве­ст­ным ма­те­ма­ти­ком Джор­д­жем Зип­фом и раз­ви­тых дру­гим не ме­нее из­ве­ст­ным ма­те­ма­ти­ком Бе­нуа Ман­дель­бро­том.
Дж. Зипф (G. K. Zipf) по­ка­зал, что все со­здан­ные че­ло­ве­ком тек­с­ты под­чи­ня­ют­ся не­ко­то­рым об­щим за­ко­но­мер­но­с­тям. Три та­ких за­ко­на он сфор­му­ли­ро­вал в 1946–49 гг. Так, в лю­бом тек­с­те мож­но под­счи­тать, ка­кие сло­ва в нем сколь­ко раз встре­ча­ют­ся. Ко­ли­че­ст­во по­вто­ров сло­ва в тек­с­те мож­но на­звать ча­с­то­той это­го сло­ва. Ча­ще все­го встре­ча­ю­ще­му­ся сло­ву мож­но при­пи­сать ранг 1, сле­ду­ю­ще­му по ча­с­то­те — ранг 2 и т. д. Ес­ли не­сколь­ко раз­ных слов име­ют оди­на­ко­вые ча­с­то­ты, то учи­ты­ва­ет­ся толь­ко од­но из них. Ес­ли раз­де­лить ча­с­то­ту по­вто­ре­ния сло­ва f на об­щее ко­ли­че­ст­во зна­ча­щих слов в тек­с­те S, то по­лу­чим от­но­си­тель­ную ча­с­то­ту или ве­ро­ят­ность встре­чи это­го сло­ва в тек­с­те.

Пер­вый за­кон Зип­фа гла­сит, что про­из­ве­де­ние ча­с­то­ты или ве­ро­ят­но­с­ти встре­чи сло­ва в тек­с­те на его ранг — при­бли­зи­тель­но по­сто­ян­но для лю­бых тек­с­тов оп­ре­де­лен­но­го язы­ка. На рис. 1 пред­став­ле­на связь ча­с­то­ты сло­ва в тек­с­те f и его ран­га R; кри­вая близ­ка к ги­пер­бо­ле ви­да f = C / R, где C — не­ко­то­рая кон­стан­та. Из за­ко­на сле­ду­ет, что ес­ли са­мое рас­про­ст­ра­нен­ное сло­во встре­ча­ет­ся в тек­с­те, на­при­мер, 100 раз, то сле­ду­ю­щее по ча­с­то­те сло­во вряд ли встре­тит­ся 99 раз. Ча­с­то­та вхож­де­ния вто­ро­го по по­пу­ляр­но­с­ти сло­ва с вы­со­кой до­лей ве­ро­ят­но­с­ти ока­жет­ся на уров­не 50. Зна­че­ние кон­стан­ты в раз­ных язы­ках раз­лич­но, но вну­т­ри од­ной язы­ко­вой груп­пы ос­та­ет­ся не­из­мен­но для лю­бо­го тек­с­та.

За­ко­ны Зип­фа весь­ма уни­вер­саль­ны. Они при­ме­ни­мы не толь­ко к тек­с­там, но и ко мно­гим дру­гим ста­ти­с­ти­че­с­ким за­ко­но­мер­но­с­тям, в ча­ст­но­с­ти, за­ко­нам Зип­фа со­от­вет­ст­ву­ют ха­рак­те­ри­с­ти­ки по­пу­ляр­но­с­ти уз­лов в се­ти ин­тер­нет.
По­лу­чен­ные Зип­фом ре­зуль­та­ты мо­гут ус­пеш­но ис­поль­зо­вать­ся на прак­ти­ке для вы­де­ле­ния тер­ми­нов (клю­че­вых слов и вы­ра­же­ний) в тек­с­те и их по­сле­ду­ю­ще­го из­вле­че­ния. От­ме­тим, что все зна­ча­щие сло­ва для дан­но­го тек­с­та раз­ме­ща­ют­ся в об­ла­с­ти сред­них зна­че­ний ран­га и ча­с­то­ты (вы­де­лен­ная об­ласть на рис. 1). Дей­ст­ви­тель­но, са­мые ча­с­то встре­ча­ю­щи­е­ся сло­ва, ранг ко­то­рых обыч­но из­ме­ня­ет­ся от 1 до 4—5, от­но­сят­ся к раз­ря­ду вспо­мо­га­тель­ных, а са­мые ред­кие — так­же не име­ют ре­ша­ю­ще­го смыс­ло­во­го зна­че­ния для дан­но­го тек­с­та. От то­го, как бу­дет за­дан ди­а­па­зон зна­че­ний ран­га для из­вле­че­ния клю­че­вых слов, за­ви­сит мно­гое. Ес­ли сде­лать его слиш­ком ши­ро­ким — нуж­ные тер­ми­ны по­то­нут в мо­ре вто­ро­сте­пен­ных, ма­ло­зна­чи­мых для тек­с­та слов. Ус­та­но­вив же чрез­мер­но уз­кий ди­а­па­зон, мы ри­с­ку­ем по­те­рять не­ко­то­рые смыс­ло­вые тер­ми­ны.
В свою оче­редь, каж­дый от­дель­но взя­тый тек­с­то­вый до­ку­мент мож­но пред­ста­вить как часть оп­ре­де­лен­ной со­во­куп­но­с­ти до­ку­мен­тов, ко­то­рая мо­жет быть ре­а­ли­зо­ва­на в ви­де сбор­ни­ка ста­тей, параграфов или глав книг, фрагмента тек­с­то­вой ба­зы дан­ных. Ба­зу или ее часть, вклю­ча­ю­щую до­ку­мен­ты близ­кой те­ма­ти­ки или на­прав­ле­ния, мож­но пред­ста­вить в ви­де од­но­го, очень боль­шо­го или со­став­но­го до­ку­мен­та, к ко­то­ро­му так­же при­ме­ни­мы за­ко­ны Зип­фа. Ис­поль­зо­ва­ние по­ня­тия «со­став­ной до­ку­мент» поз­во­ля­ет по­вы­сить ка­че­ст­во вы­бор­ки клю­че­вых слов (или их рей­тинг) пу­тем вве­де­ния но­во­го по­ня­тия «ин­верс­ная ча­с­то­та тер­ми­на», ко­то­рая ха­рак­те­ри­зу­ет вес или зна­чи­мость это­го тер­ми­на. Этот па­ра­метр поз­во­ля­ет сни­зить опас­ность по­па­да­ния ма­ло­зна­ча­щих тер­ми­нов в со­став вы­бор­ки. Ин­верс­ная ча­с­то­та i оп­ре­де­ля­ет­ся как ло­га­рифм по ос­но­ва­нию два от­но­ше­ния об­ще­го ко­ли­че­ст­ва до­ку­мен­тов n к чис­лу до­ку­мен­тов, со­дер­жа­щих дан­ный тер­мин m (под тер­ми­ном мо­жет по­ни­мать­ся не толь­ко от­дель­ное сло­во, но и еди­ное по смыс­лу сло­во­со­че­та­ние), т. е.
i = log2(n/m).(1)
С уче­том ин­верс­ной ча­с­то­ты вес или зна­чи­мость тер­ми­на z в каж­дом от­дель­ном до­ку­мен­те оп­ре­де­лит­ся вы­ра­же­ни­ем
Z = f х i / S,(2)
где S — ко­ли­че­ст­во зна­ча­щих слов в оп­ре­де­лен­ном до­ку­мен­те. Кста­ти, вес или зна­чи­мость од­но­го и то­го же тер­ми­на в раз­лич­ных до­ку­мен­тах обыч­но су­ще­ст­вен­но от­ли­ча­ет­ся друг от дру­га.
Роль ин­верс­ной ча­с­то­ты в при­ве­ден­ной фор­му­ле со­сто­ит в том, что­бы умень­шить вес слов и ус­той­чи­вых сло­во­со­че­та­ний, ко­то­рые вы­пол­ня­ют вспо­мо­га­тель­ные функ­ции в до­ку­мен­те, обес­пе­чи­вая стиль и оп­ре­де­лен­ный ха­рак­тер по­ве­ст­во­ва­ния. Для слу­чай­ных слов и со­че­та­ний ма­ла ча­с­то­та по­вто­ре­ния тер­ми­нов f, а для не име­ю­щих смыс­ло­во­го зна­че­ния слов (пред­ло­гов, со­ю­зов и пр.) и вспо­мо­га­тель­ных по­ня­тий стре­мит­ся к ну­лю ин­верс­ная ча­с­то­та i. Та­ким об­ра­зом, вес или зна­чи­мость тер­ми­на z поз­во­ля­ет вы­де­лить имен­но клю­че­вые сло­ва и со­че­та­ния. Этот же па­ра­метр поз­во­ля­ет так­же ран­жи­ро­вать зна­ча­щие сло­ва, т. е. вы­ст­ро­ить их по­сле­до­ва­тель­ность в по­ряд­ке сни­же­ния зна­чи­мо­с­ти.
За­ко­ны Зип­фа ис­поль­зу­ют­ся при со­зда­нии ссы­лоч­ной ба­зы дан­ных на по­ис­ко­вых сер­ве­рах, при­чем ве­со­вые ко­эф­фи­ци­ен­ты ос­но­ва­ны не толь­ко на ве­се каж­до­го тер­ми­на, но мо­гут учи­ты­вать и то, ка­кой ча­с­тью ре­чи яв­ля­ет­ся тер­мин, а так­же его ме­с­то­по­ло­же­ние вну­т­ри до­ку­мен­та, мор­фо­ло­ги­че­с­кие осо­бен­но­с­ти и пр. Они же ис­поль­зу­ют­ся для оцен­ки ре­ле­вант­но­с­ти най­ден­но­го в про­цес­се по­ис­ка до­ку­мен­та, ве­ли­чи­на ко­то­рой из­ме­ня­ет­ся от 0 до 1. Ре­ле­вант­ность оце­ни­ва­ет­ся на ос­но­ве то­го, ка­кое ко­ли­че­ст­во слов из пред­став­лен­ных в по­ис­ко­вом вы­ра­же­нии со­дер­жит­ся в най­ден­ном до­ку­мен­те, а так­же ве­са каж­до­го из та­ких слов, пред­став­лен­ных в до­ку­мен­те.
На ос­но­ве ря­да прак­ти­че­с­ких ис­сле­до­ва­ний за­ко­ны Зип­фа по­зд­нее уточ­нил из­ве­ст­ный ма­те­ма­тик Бе­нуа Ман­дель­брот (Benoit B. Mandelbrot). В на­сто­я­щее вре­мя эти за­ко­ны лег­ли в ос­но­ву ал­го­рит­мов ав­то­ма­ти­че­с­ко­го рас­поз­на­ва­ния тек­с­та, ре­а­ли­зо­ван­ных в спе­ци­аль­ных про­грам­мах-экс­трак­то­рах, на ос­но­ве ко­то­рых и мо­жет быть вы­пол­нен се­ман­ти­че­с­кий ана­лиз тек­с­тов и из­вле­че­ны клю­че­вые сло­ва и вы­ра­же­ния. Про­грамм та­ких не слиш­ком мно­го, хо­тя по­треб­ность в них по­сте­пен­но рас­тет.
Воз­мож­ность из­вле­че­ния клю­че­вых слов из тек­с­то­вых ма­те­ри­а­лов дек­ла­ри­ру­ет­ся в на­и­бо­лее рас­про­ст­ра­нен­ном у нас тек­с­то­вом ре­дак­то­ре MS Word раз­лич­ных вер­сий. В ме­ню «Сер­вис» пре­ду­с­мо­т­ре­на ко­ман­да «Ав­то­ре­фе­рат», поз­во­ля­ю­щая вы­де­лить из до­ку­мен­та не­сколь­ко пред­ло­же­ний. Ес­ли за­тем вос­поль­зо­вать­ся ко­ман­дой «Файл/Свой­ст­ва», то в по­явив­шем­ся ди­а­ло­го­вом ок­не в од­ной из 5 вкла­док мож­но уви­деть стро­ку, где бу­дет вы­ве­де­но 5 клю­че­вых слов. Но про­ве­ден­ные на­ми ис­сле­до­ва­ния по­ка­за­ли, что дан­ная оп­ция в па­ке­те ра­бо­та­ет не­удов­ле­тво­ри­тель­но: из из­вле­чен­ных из тек­с­та 5 слов толь­ко 1–2 со­от­вет­ст­ву­ют те­ма­ти­че­с­ко­му на­прав­ле­нию, при­чем обыч­но ни од­но из них не име­ет вы­со­кой зна­чи­мо­с­ти.
Од­ной из луч­ших про­грамм-экс­трак­то­ров, по на­ше­му мне­нию, яв­ля­ет­ся со­вре­мен­ная вер­сия TextAnalyst 2.01. Она поз­во­ля­ет сде­лать:
• ана­лиз со­дер­жа­ния тек­с­та с ав­то­ма­ти­че­с­ким фор­ми­ро­ва­ни­ем се­ман­ти­че­с­кой се­ти с ги­перссыл­ка­ми — по­лу­че­ния смыс­ло­во­го пор­т­ре­та тек­с­та в тер­ми­нах ос­нов­ных по­ня­тий и их смыс­ло­вых свя­зей;
• ана­лиз со­дер­жа­ния тек­с­та с ав­то­ма­ти­че­с­ким фор­ми­ро­ва­ни­ем те­ма­ти­че­с­ко­го дре­ва с ги­перссыл­ка­ми — вы­яв­ле­ния се­ман­ти­че­с­кой струк­ту­ры тек­с­та в ви­де ие­рар­хии тем и под­тем;
• ав­то­ма­ти­че­с­кое ре­фе­ри­ро­ва­ние тек­с­та — фор­ми­ро­ва­ния его смыс­ло­во­го пор­т­ре­та в тер­ми­нах на­и­бо­лее ин­фор­ма­тив­ных фраз;
• ран­жи­ро­ва­ние ин­фор­ма­ции о се­ман­ти­ке тек­с­та по «сте­пе­ни зна­чи­мо­с­ти» с воз­мож­но­с­тью ва­рь­и­ро­ва­ния сте­пе­ни де­таль­но­с­ти ее ис­сле­до­ва­ния;

Ре­зуль­та­ты ра­бо­ты про­грам­мы TextAnalyst 2.01. пред­став­ле­ны на рис. 2 Ана­ли­зу бы­ла под­верг­ну­та ста­тья «Об­щая кон­цеп­ция из­да­тель­ской ба­зы дан­ных». Ин­тер­фейс TextAnalyst 2.01 по­ст­ро­ен в ви­де трех вза­и­мо­свя­зан­ных окон:
• «ок­но 1» — ок­но зна­чи­мых эле­мен­тов тек­с­та, рас­по­ла­га­ет­ся в ле­вом верх­нем уг­лу эк­ра­на;
• «ок­но 2» — ок­но от­сы­лок к пред­ло­же­ни­ям тек­с­тов, рас­по­ла­га­ет­ся в пра­вом верх­нем уг­лу эк­ра­на;
• «ок­но 3» — ок­но ана­ли­зи­ру­е­мых тек­с­тов, рас­по­ла­га­ет­ся в ни­жней ча­с­ти эк­ра­на.

Сеть по­ня­тий
Ес­ли пе­рей­ти к за­клад­ке «Се­ман­ти­че­с­кая сеть» в ок­не 1 (тре­тья кноп­ка сле­ва), то в ок­не 1 бу­дет пред­став­ле­на (в ви­де обыч­но­го де­ре­ва) сеть ос­нов­ных по­ня­тий про­ана­ли­зи­ро­ван­ных тек­с­тов.
Изу­чив пред­ло­жен­ный ма­те­ри­ал, TextAnalyst фор­ми­ру­ет сеть ос­нов­ных (на­и­бо­лее зна­чи­мых) по­ня­тий, со­дер­жа­щих­ся в пред­став­лен­ном ему тек­с­те. Она слу­жит смыс­ло­вым пред­став­ле­ни­ем тек­с­та и ос­но­вой для всех ви­дов даль­ней­ше­го ана­ли­за. Сеть по­ня­тий — это мно­же­ст­во тер­ми­нов из тек­с­тов — слов и сло­во­со­че­та­ний, свя­зан­ных меж­ду со­бой по смыс­лу. В нее вклю­че­ны не все тер­ми­ны тек­с­та, а лишь на­и­бо­лее зна­чи­мые, не­су­щие ос­нов­ную смыс­ло­вую на­груз­ку. Ана­ло­гич­ным об­ра­зом пред­став­ле­ны и смыс­ло­вые свя­зи меж­ду по­ня­ти­я­ми тек­с­тов — от­ра­жа­ют­ся лишь на­и­бо­лее яв­но вы­ра­жен­ные из них. По­это­му, с од­ной сто­ро­ны сеть до­ста­точ­но пол­но опи­сы­ва­ет смысл ана­ли­зи­ру­е­мо­го тек­с­та, а с дру­гой — поз­во­ля­ет от­бро­сить не­су­ще­ст­вен­ную ин­фор­ма­цию и пред­ста­вить со­дер­жа­ние в сжа­том ви­де, так на­зы­ва­е­мым «смыс­ло­вым пор­т­ре­том». При этом каж­дое по­ня­тие, по­вто­ряв­ше­е­ся в раз­лич­ных ме­с­тах до­ку­мен­та, ока­зы­ва­ет­ся пред­став­лен­ным в един­ст­вен­ном уз­ле се­ти. В нем так­же со­би­ра­ет­ся раз­бро­сан­ная ин­фор­ма­ция, ка­са­ю­ща­я­ся это­го по­ня­тия, — фор­ми­ру­ет­ся спи­сок пред­ло­же­ний, в ко­то­рых оно упо­треб­ля­лось.
Раз­лич­ные фор­мы слов, ко­неч­но же, при­во­дят­ся к об­щей грам­ма­ти­че­с­кой фор­ме для ото­б­ра­же­ния в один эле­мент се­ти. Ана­ло­гич­ным об­ра­зом со­би­ра­ет­ся ин­фор­ма­ция по смыс­ло­вым свя­зям каж­до­го по­ня­тия — в ви­де спи­с­ка всех свя­зан­ных с ним в тек­с­те по­ня­тий, до­пол­нен­но­го пред­ло­же­ни­я­ми, в ко­то­рых от­ра­жа­ют­ся дан­ные свя­зи. Та­ким об­ра­зом, мож­но сра­зу уви­деть всю ин­фор­ма­цию по каж­до­му по­ня­тию — те­ма­ти­ке тек­с­та, бук­валь­но бро­сив един­ст­вен­ный взгляд на на­бор его свя­зей в се­ти. В ре­зуль­та­те, пе­ре­дви­га­ясь по смыс­ло­вым свя­зям от по­ня­тия к по­ня­тию, мож­но на­хо­дить и пред­мет­но ис­сле­до­вать лишь на­и­бо­лее важ­ные и ин­те­ре­су­ю­щие ис­сле­до­ва­те­ля ме­с­та до­ку­мен­та, не за­труд­нясь про­смо­т­ром всей про­ме­жу­точ­ной ин­фор­ма­ции. Это по­ка­за­но на рис. 3 (ин­тер­фейс про­грам­мы TextAnalyst 2.01 с за­гру­жен­ным тек­с­то­вым до­ку­мен­том и ре­зуль­та­та­ми ана­ли­за се­ман­ти­че­с­кой струк­ту­ры это­го до­ку­мен­та).
Каж­дый эле­мент се­ти, т. е. оп­ре­де­лен­ное по­ня­тие, ха­рак­те­ри­зу­ет­ся не­ко­то­рой чис­лен­ной ве­ли­чи­ной — так на­зы­ва­е­мым «смыс­ло­вым ве­сом». Свя­зи меж­ду па­ра­ми по­ня­тий, в свою оче­редь, так­же ха­рак­те­ри­зу­ют­ся ве­са­ми. Эти оцен­ки поз­во­лят срав­нить от­но­си­тель­ный вклад раз­лич­ных по­ня­тий и их свя­зей в се­ман­ти­ку тек­с­та, вы­явить на­и­бо­лее по­дроб­но про­ра­бо­тан­ную в тек­с­те те­ма­ти­ку и вто­рич­ные те­мы, за­дать спо­соб сор­ти­ров­ки ин­фор­ма­ции, и на­ко­нец, поз­во­лят взгля­нуть на весь тек­с­то­вый ма­те­ри­ал по пла­с­там — смыс­ло­вым сре­зам раз­лич­ной глу­би­ны — от по­верх­но­ст­но­го зна­ком­ст­ва с со­дер­жа­ни­ем до глу­бо­ко­го про­ник­но­ве­ния в его мель­чай­шие де­та­ли и по­дроб­но­с­ти.
На рис. 3 в ок­не 1 пред­став­ле­на сеть по­ня­тий (ак­тив­на тре­тья кноп­ка в ни­жней стро­ке это­го ок­на). Ес­ли под­ве­с­ти к знач­ку воз­ле вы­бран­но­го по­ня­тия ука­за­тель мы­ши и сде­лать двой­ной щел­чок ее ле­вой кноп­кой, то рас­кро­ет­ся спи­сок всех по­ня­тий, свя­зан­ных с вы­бран­ным. Что­бы про­смо­т­реть всю ин­фор­ма­цию, от­но­ся­щу­ю­ся к дан­но­му по­ня­тию, сле­ду­ет щелк­нуть мы­шью по пер­во­му пунк­ту (<все>) рас­кры­то­го спи­с­ка. По­сле это­го в ок­не 2 по­явят­ся все пред­ло­же­ния тек­с­тов, вклю­ча­ю­щие это по­ня­тие, при­чем оно бу­дет вы­де­ле­но цве­том. В том слу­чае, ког­да поль­зо­ва­те­ля ин­те­ре­су­ет не вся ин­фор­ма­ция о вы­бран­ном по­ня­тии, а лишь ка­са­ю­ща­я­ся его свя­зи с од­ним из по­ня­тий в рас­кры­том ни­же спи­с­ке ок­на 1, сле­ду­ет ука­зать мы­шью на это свя­зан­ное с ис­ход­ным по­ня­тие. Тог­да в ок­не 2 по­явят­ся все пред­ло­же­ния тек­с­тов, вклю­ча­ю­щие вы­бран­ную опи­сан­ным спо­со­бом па­ру по­ня­тий, вы­де­лен­ную цве­том. Ес­ли сде­лать двой­ной щел­чок мы­шью по ин­те­ре­су­ю­ще­му нас пред­ло­же­нию в ок­не 2, то в ок­не 3 по­явит­ся со­от­вет­ст­ву­ю­щее ме­с­то тек­с­та (на рис. 3 они вы­де­ле­ны тем­ным в этих двух ок­нах).

Те­перь сле­ду­ет об­ра­тить вни­ма­ние на па­ры чи­сел, рас­по­ло­жен­ных вбли­зи по­ня­тий в ок­не 1 на рис. 3. Бли­жай­шее к по­ня­тию чис­ло пред­став­ля­ет его смыс­ло­вой вес. Его зна­че­ние из­ме­ня­ет­ся от 1 до 100 и по­ка­зы­ва­ет, на­сколь­ко важ­ную роль иг­ра­ет это по­ня­тие для смыс­ла все­го тек­с­та, ина­че го­во­ря, ран­жи­ру­ет дан­ное по­ня­тие. Мак­си­маль­ное зна­че­ние, рав­ное 100, го­во­рит о том, что по­ня­тие яв­ля­ет­ся клю­че­вым и пред­став­ля­ет важ­ней­шую те­му тек­с­та. В на­шем слу­чае са­мым важ­ным яв­ля­ет­ся по­ня­тие ба­зы дан­ных (БД), вслед­ст­вие че­го ему при­пи­сан вес 99. Ма­лый смыс­ло­вой вес, близ­кий к еди­ни­це, по­ка­зы­ва­ет, что со­от­вет­ст­ву­ю­щая те­ма лишь вскользь упо­мя­ну­та в тек­с­те и ко­ли­че­ст­во ин­фор­ма­ции, от­но­ся­щей­ся к дан­но­му по­ня­тию, ми­ни­маль­но.
Дру­гое чис­ло, на­хо­дя­ще­е­ся бли­же к рас­кры­то­му уз­лу, пред­став­ля­ет вес свя­зи по­ня­тия, рас­по­ло­жен­но­го в уз­ле или вер­ши­не рас­кры­то­го спи­с­ка, и дан­но­го по­ня­тия. Вес свя­зей так­же при­ни­ма­ет зна­че­ние от 1 до 100. Боль­шое зна­че­ние ве­са свя­зи от од­но­го по­ня­тия к дру­го­му, близ­кое к 100, ука­зы­ва­ет на то, что по­дав­ля­ю­щая часть ин­фор­ма­ции в тек­с­те, ка­са­ю­ща­я­ся пер­во­го, ка­са­ет­ся в то­ же вре­мя и вто­ро­го по­ня­тия — пер­вая те­ма поч­ти все­гда из­ла­га­ет­ся в кон­тек­с­те вто­рой. Ина­че го­во­ря, два этих по­ня­тия тес­но кор­ре­ли­ро­ван­ны друг с дру­гом. При ма­лых зна­че­ни­ях, близ­ких к еди­нич­но­му, уз­ло­вое или пер­вое по­ня­тие сла­бо свя­за­но со вто­рым, а уро­вень их вза­им­ной кор­ре­ля­ции бли­зок к ну­лю. Сле­ду­ет от­ме­тить, что связь меж­ду па­рой по­ня­тий се­ти ха­рак­те­ри­зу­ет­ся на­прав­ле­ни­ем (т. е. по­доб­на век­то­ру). Связь от пер­во­го по­ня­тия ко вто­ро­му не сов­па­да­ет по ве­ли­чи­не с об­рат­ной свя­зью, т. е. от вто­ро­го к пер­во­му. Та­ким об­ра­зом, сеть по­ня­тий дей­ст­ви­тель­но пред­став­ля­ет иде­аль­ное опи­са­ние тек­с­та — ин­фор­ма­ция в ней от­ра­жа­ет все при­сут­ст­ву­ю­щие смыс­ло­вые свя­зи, т. е. обес­пе­чи­ва­ет пол­но­ту смыс­ло­во­го пор­т­ре­та ана­ли­зи­ру­е­мо­го до­ку­мен­та.

Те­ма­ти­че­с­кая струк­ту­ра
Для боль­шин­ст­ва из нас бо­лее при­выч­ны на­прав­лен­ные гра­фы ин­фор­ма­ци­он­но­го пред­став­ле­ния до­ку­мен­тов, в ко­то­рых свя­зи ори­ен­ти­ро­ва­ны в на­прав­ле­нии от глав­но­го к вто­ро­сте­пен­но­му. Ему со­от­вет­ст­ву­ет так на­зы­ва­е­мая «те­ма­ти­че­с­кая струк­ту­ра» рас­сма­т­ри­ва­е­мо­го до­ку­мен­та. Она опи­сы­ва­ет со­дер­жа­ние ана­ли­зи­ру­е­мых тек­с­тов в ви­де ие­рар­хии свя­зан­ных тем и под­тем. Все те­мы и под­те­мы вы­ра­же­ны в тер­ми­нах ис­ход­но­го тек­с­та и со­от­вет­ст­ву­ют уз­лам се­ти по­ня­тий. Но в дан­ном слу­чае свя­зи меж­ду по­ня­ти­я­ми од­но­сто­рон­ние и на­прав­ле­ны от глав­но­го по­ня­тия к под­чи­нен­ным.
Та­ким об­ра­зом, те­ма­ти­че­с­кой струк­ту­ре со­от­вет­ст­ву­ет ие­рар­хи­че­с­кое пред­став­ле­ние — от каж­дой те­мы рас­кры­ва­ют­ся свя­зи толь­ко к ее соб­ст­вен­ным под­те­мам, от них — к под­те­мам сле­ду­ю­ще­го уров­ня и т. д. Те­ма­ти­че­с­кая струк­ту­ра име­ет вид де­ре­ва, в кор­не ко­то­ро­го сто­ит глав­ная те­ма, в вет­вях — под­те­мы. Об­щий вид те­ма­ти­че­с­кой струк­ту­ры от­ра­жа­ет смыс­ло­вую ор­га­ни­за­цию ана­ли­зи­ру­е­мо­го до­ку­мен­та. Ес­ли вся ин­фор­ма­ция в до­ку­мен­те под­чи­не­на еди­ной те­ме, струк­ту­ра бу­дет иметь вид де­ре­ва с един­ст­вен­ным кор­нем. Ес­ли же его со­дер­жа­ние от­ра­жа­ет не­сколь­ко те­ма­ти­че­с­ких на­прав­ле­ний, не свя­зан­ных друг с дру­гом, то де­ре­во рас­па­да­ет­ся на не­сколь­ко не­за­ви­си­мых ку­с­тов, кор­ни ко­то­рых пред­став­ля­ют глав­ные те­мы, не свя­зан­ные друг с дру­гом.
Для про­смо­т­ра те­ма­ти­че­с­кой струк­ту­ры сле­ду­ет ак­ти­ви­зи­ро­вать в ок­не 1 за­клад­ку «Те­ма­ти­че­с­кая струк­ту­ра», на­жав вто­рую кноп­ку сле­ва в этом ок­не. На рис. 4 (ин­тер­фейс про­грам­мы TextAnalyst 2.01 с за­гру­жен­ным тек­с­то­вым до­ку­мен­том и ре­зуль­та­та­ми ана­ли­за те­ма­ти­че­с­кой струк­ту­ры это­го до­ку­мен­та) те­ма­ти­че­с­кая струк­ту­ра пред­став­ле­на в ок­не 1 в ви­де де­ре­ва по­ня­тий — на­зва­ний тем, не­ко­то­рые из ко­то­рых име­ют рас­кры­ва­ю­щи­е­ся спи­с­ки свя­зей с под­те­ма­ми. По­ня­тия в кор­не де­ре­ва пред­став­ля­ют спи­сок глав­ных тем тек­с­тов, а свя­зан­ные с ни­ми эле­мен­ты в спи­с­ках по­сле­ду­ю­щих уров­ней — спи­с­ки под­тем.

Про­грам­ма TextAnalyst да­ет воз­мож­ность ре­гу­ли­ро­вать сте­пень связ­но­с­ти те­ма­ти­че­с­ко­го де­ре­ва. Для это­го сле­ду­ет из­ме­нять по­рог по ве­су свя­зей в се­ти по­ня­тий. Вы­би­рая оп­ре­де­лен­ный уро­вень в ка­че­ст­ве по­ро­го­во­го зна­че­ния свя­зей, мы из­ме­ня­ем вид де­ре­ва, раз­би­вая его на боль­шее или мень­шее ко­ли­че­ст­во те­ма­ти­че­с­ких ку­с­тов. В ре­зуль­та­те по­яв­ля­ет­ся воз­мож­ность взгля­нуть на струк­ту­ру тек­с­та в раз­лич­ных сре­зах, на раз­ных уров­нях глу­би­ны ма­те­ри­а­ла. В пла­не ин­тер­фей­са ана­лиз те­ма­ти­че­с­кой струк­ту­ры до­ку­мен­та ана­ло­ги­чен ра­бо­те с се­ман­ти­че­с­кой се­тью. Ана­лиз те­ма­ти­че­с­кой струк­ту­ры так­же ил­лю­с­т­ри­ру­ет тот факт, что в про­грам­ме осу­ще­ств­ля­ет­ся мор­фо­ло­ги­че­с­кий ана­лиз слов с груп­пи­ро­ва­ни­ем од­но­ко­рен­ных.
Та­ким об­ра­зом, с по­мо­щью этой про­грам­мы мож­но осу­ще­ст­вить эф­фек­тив­ную се­ман­ти­че­с­кую об­ра­бот­ку тек­с­тов с из­вле­че­ни­ем клю­че­вых слов и вы­ра­же­ний. До­пу­с­тим, что с по­мо­щью этой или дру­гой про­грам­мы мы об­ра­бо­та­ли всю на­уч­ную ли­те­ра­ту­ру, хра­ни­мую в биб­ли­о­те­ке, и со­зда­ли те­ма­ти­че­с­кий ка­та­лог, в ко­то­ром каж­до­му до­ку­мен­ту со­по­с­тав­лен на­бор клю­че­вых слов и вы­ра­же­ний. Как ве­с­ти в нем те­ма­ти­че­с­кий по­иск?
Глав­ное ус­ло­вие ус­пеш­но­го по­ис­ка — вклю­че­ние в по­ис­ко­вое вы­ра­же­ние тре­бу­е­мо­го на­бо­ра клю­че­вых слов, та­ко­го, ко­то­рый пред­став­лял бы со­бой адек­ват­ное ото­б­ра­же­ние те­ма­ти­ки, под­ле­жа­щей по­ис­ку. Обыч­но ре­ко­мен­ду­ет­ся из­вле­кать та­кие вы­ра­же­ния из тех ра­бот, ко­то­рые в пол­ной сте­пе­ни удов­ле­тво­ря­ют по­став­лен­ной за­да­че. На­при­мер, вы слу­чай­но столк­ну­лись с ин­те­рес­ной ра­бо­той (или не­сколь­ки­ми близ­ки­ми по те­ма­ти­ке ра­бо­та­ми) и хо­ти­те оты­с­кать дру­гие пуб­ли­ка­ции дан­но­го на­прав­ле­ния. Для до­сти­же­ния по­став­лен­ной це­ли на­до вы­де­лить из этой ра­бо­ты (или этих ра­бот) на­бор тер­мов, в на­и­боль­шей сте­пе­ни от­ра­жа­ю­щий ее смысл, т. е. на­и­бо­лее зна­чи­мые сло­ва и вы­ра­же­ния. Со­ста­вив из них по­ис­ко­вое вы­ра­же­ние, вы га­ран­ти­ру­е­те се­бе ка­че­ст­вен­ный по­иск в те­ма­ти­че­с­ком ка­та­ло­ге лю­бой биб­ли­о­те­ки.
Эф­фек­тив­ность по­ис­ка нуж­ных до­ку­мен­тов в биб­ли­о­те­ке мож­но опи­сать дву­мя ко­ли­че­ст­вен­ны­ми ха­рак­те­ри­с­ти­ка­ми — это точ­ность и ох­ват. Точ­ность µ оп­ре­де­ля­ет­ся от­но­ше­ни­ем чис­ла ре­ле­вант­ных (при­год­ных) до­ку­мен­тов R к об­ще­му ко­ли­че­ст­ву до­ку­мен­тов N, вы­бран­ных на ос­но­ве по­ис­ка в те­ма­ти­че­с­ком ка­та­ло­ге (µ=R/N). Ох­ват S ха­рак­те­ри­зу­ет­ся от­но­ше­ни­ем чис­ла ре­ле­вант­ных до­ку­мен­тов в вы­бор­ке R к об­ще­му чис­лу ре­ле­вант­ных до­ку­мен­тов T, опи­сан­ных в те­ма­ти­че­с­ком ка­та­ло­ге и име­ю­щих­ся в биб­ли­о­те­ке (S=R/T).
В слу­чае иде­аль­но­го по­ис­ка все вы­бран­ные до­ку­мен­ты пол­но­стью при­год­ны и ис­чер­пы­ва­ют спи­сок при­год­ных до­ку­мен­тов в ба­зе дан­ных, то есть е=1 и µ=1. Од­на­ко мно­го­чис­лен­ные ис­сле­до­ва­ния, вы­пол­нен­ные раз­лич­ны­ми спе­ци­а­ли­с­та­ми, по­ка­за­ли, что точ­ность и ох­ват свя­за­ны друг с дру­гом об­рат­ной за­ви­си­мо­с­тью, а мак­си­маль­ное зна­че­ние сум­мы µ+S близ­ко к 1,4.
Та­кой ре­зуль­тат вы­гля­дит впол­не ос­мыс­лен­ным. Дей­ст­ви­тель­но, ес­ли мы хо­тим уве­ли­чить точ­ность µ, то долж­ны как мож­но бо­лее пол­но сфор­му­ли­ро­вать за­прос, вклю­чив в не­го боль­шое ко­ли­че­ст­во раз­лич­ных тер­мов, свя­зан­ных с по­мо­щью опе­ра­то­ров что­бы ис­клю­чить воз­мож­ность по­па­да­ния в ре­зуль­та­ты по­ис­ка не­при­год­ных до­ку­мен­тов. Од­на­ко, в этом слу­чае об­щее ко­ли­че­ст­во вы­бран­ных из­да­ний не мо­жет быть боль­шим, точ­нее — оно бу­дет ма­лым. Ес­те­ст­вен­но, что не все ре­ле­вант­ные до­ку­мен­ты, со­дер­жа­щи­е­ся в ба­зе дан­ных, по­па­дут в чис­ло вы­бран­ных.
На­обо­рот, ес­ли мы хо­тим уве­ли­чить ох­ват, т. е. по­ста­рать­ся вы­брать на­и­боль­шее ко­ли­че­ст­во ре­ле­вант­ных из­да­ний из об­ще­го их чис­ла в ба­зе, сле­ду­ет сфор­му­ли­ро­вать за­прос как мож­но ши­ре. Но в этом слу­чае в вы­бор­ку не­из­беж­но по­па­дет зна­чи­тель­ное чис­ло не­при­год­ных из­да­ний, т. е. точ­ность ока­жет­ся срав­ни­тель­но ма­лой ве­ли­чи­ной.
В по­след­нем слу­чае уве­ли­че­ние ко­ли­че­ст­ва вы­бран­ных из­да­ний не­из­беж­но уве­ли­чит вре­мя об­ра­бот­ки ре­зуль­та­тов по­ис­ка. Ре­аль­но, ес­ли ко­ли­че­ст­во вы­бран­ных из­да­ний со­став­ля­ет сот­ни зна­че­ний, то вре­мя оцен­ки их при­год­но­с­ти ста­но­вит­ся чрез­мер­но боль­шим, в ре­зуль­та­те поль­зо­ва­тель утом­ля­ет­ся, вни­ма­ние его рас­се­и­ва­ет­ся, что не­из­беж­но при­во­дит к не­точ­но­с­тям и ошиб­кам.

Владимир Абрамович Вуль, доцент Северо-Западного института печати, руководитель лаборатории «Электронных изданий», кандидат технических наук