Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
Страницы: 12>>
Страница: 1 из 2
Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 04, March, 2007 21:52

Можно ли обеспечить в ИРБИСе релевантный поиск по произвольно задаваемым читателями сведениям об авторе? Сейчас я могу уверенно ответить: в большинстве случаев ДА, хотя раньше более скептически высказывался на этот счёт.(http://irbis.gpntb.ru/read.php?21,20837)
Ещё раз кратко опишу проблему. Форма, в которой читатель должен вводить сведения об авторе, должна точно соответствовать той, в которой они находятся в словаре. Если в словаре после фамилии ставится запятая, а после запятой пробел, то пользователь должен в точности повторить эту последовательность символов. В противном случае поиск будет неудачным.
Разумеется, нельзя рассчитывать, что читатель будет вводить данные в таком виде поэтому целесообразно разбивать их на отдельные слова, и, в том случае если хоть одно из введённых слов найдено в словаре(т. е. является фамилией), считать поиск удачным.(инициалы при этом, естественно, будут игнорироваться.)

<input type="hidden" name="A_S21P01" value="1">

Третье решение, которое собственно здесь и рассматривается - это АЛГОРИТМИЧЕСКАЯ УНИФИКАЦИЯ ВВЕДЁННЫХ ПОЛЬЗОВАТЕЛЕМ ДАННЫХ. Существует возможность выполнять её двумя средствами: ИРБИС Script'ом или Java Script'ом. ИРБИС Script неудобен в использовании и подключении, но достаточно надёжен. Java Script алгоритм ненадёжен, но при корректной работе обеспечивает максимальную эффективность. Ранее, сделав печальное заключение, что оба этих языка малопригодны для реального использования, я ошибался. (http://irbis.gpntb.ru/read.php?21,20837)
Я исходил из того, что способ обработки в ИРБИС(параметр A_S21P01) может быть задан только один раз, по умолчанию. Но значения полей, а, следовательно, и способы обработки могут быть динамически изменены средствами Java Script. Следовательно, если содержимое поля было опознано как "автор с инициалами", то оно может быть соответствующим образом отформатировано. Если же пользователь ввёл что-то несуразное, или браузер некорректно интерпретирует регулярные выражения, будет применён поиск "хотя бы по одному из введённых слов".

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 04, March, 2007 21:53

<script>

function author_process(){
at=mainsearch.A_S21STR;
pm=mainsearch.A_S21P01;
if((n=find_inn(at.value))){
n[0]+=(n[1]) ? ', '+n[1].toUpperCase()+'.' : '';
n[0]+=(n[2]) ? ' '+n[2].toUpperCase()+'.' : '';
at.value=n[0].substring(0,1).toUpperCase()+n[0].substring(1,n[0].length);
pm.value='0';
}
}

function find_inn(author){
re=new RegExp("(?:([a-zа-я]+)\,? ([a-zа-я])[a-zа-я]*\\.? ?([a-zа-я]?).*?)|(?:([a-zа-я])\\. ?([a-zа-я]?)\\.? ([a-zа-я]+))");
return (re.exec(author)) ? new Array(RegExp.$1+RegExp.$6,RegExp.$2+RegExp.$4,RegExp.$3+RegExp.$5) : null;
}

</script>

<form action="/cgi-bin/lib/cgiirbis.exe" enctype="Multipart/form-data" name="mainsearch" method="POST" onsubmit="author_process()">
<input type="hidden" name="A_S21P01" value="1">
<input type="hidden" name="A_S21P02" value="1">
<input type="hidden" name="A_S21LOG" value="0">
<input type="hidden" name="A_S21P03" value="A=">
<input type="hidden" name="A_S21P05" value="Автор">
<input name="A_S21STR" onblur="author_process()">
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
</form>

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 04, March, 2007 21:54

–——--КОММЕНТАРИИ–———
Обработка происходит при потере полем фокуса и при отправке формы. Благодаря этому пользователь в большинстве случаев может увидеть результат унификации введённых данных. Все нижеприведённые формы написания имени будут приведены к одной:
Иванов, А. В.

иванов а в
иванов а.в.
иванов, а.в.
иванов а. в.
иванов акакий васильевич
а.в. иванов
а. в. иванов

Будут корректно интерпретированы варианты с одним инициалом:
в. иванов
иванов а
иванов, а.
иванов акакий

И некоторые другие варианты.

Как это работает можно посмотреть на сайте СЗТУ: www.elib.nwpi.ru

Скрипт тестировался в Opera 7.5, Opera 9.02, Explorer 6.0.2800, Mozilla 1.0.7. С удовольствием заменил бы в регулярном выражении [a-zа-я] на \w, но ни в одном из браузеров этот шаблон корректно не интерпретируется. В Mozilla даже не работает \d.


PS
С благодарностью приму любые поправки к алгоритму.

PS2
==ФЛЕЙМ==
Я поднял вопрос о по проблеме поиска по автору на семинаре в Политехе(СПб ГТУ). Вместо выступающего мне решила ответить директор библиотеки Е.В.Дементьева. Она объяснила, что этой проблемы не существует, поскольку "такие задачи уже давно решаются с помощью авторитетных файлов". При этом её взгляд при этом выразительно говорил: "Ну что вы можете смыслить в таких вещах?!". И моё робкое возражение, что в авторитетном файле при всём желании нельзя предусмотреть всех возможных вариантов написания имени какого-нибудь Георга Вильгельма Фридриха Гегеля было проигнорировано.

Всё-таки удивительно, насколько пользователи Руслана убеждены в отсутствии у них каких-либо проблем. Интересно, хорошо или плохо то, что такой уверенности нет у пользователей ИРБИС? Может быть, нам тоже пора обеспечить поддержку расширения запросов по тезаурусу и авторитетному файлу, которые, даже никогда не обновляясь, могли бы служить удовлетворению нашего самолюбия? ;)))
==ФЛЕЙМ==



Редактировано 1 раз. Последний раз 04.03.2007 23:34 пользователем Кирилл Соколинский (СЗТУ).

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Constantin (IP-адрес скрыт)
Дата: 05, March, 2007 17:45

111

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Карауш (IP-адрес скрыт)
Дата: 05, March, 2007 20:58

В общем, Кирилл, МОЛОДЕЦ! Даже и не знаю, как нам удалось эту неуемную вначале энергию, скорректирвоать в "мирное" русло ;)
Спасибо...

Немного задачек алгоритму, простите, что не пытаюсь писать на JS (ну не знаю его).

Щедрин-Салтыков
Чен Ир Ким
Николай I I

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 12, March, 2007 03:33

АЛГОРИТМИЧЕСКАЯ ОБРАБОТКА ДАННЫХ ОБ АВТОРАХ С ПРОВЕРКОЙ РЕЗУЛЬТАТОВ

Александр Сергеевич указал три проблемных случая, когда алгоритмическая обработка может давать осечки:

Салтыков-Щедрин
Николай II
Ким Ир Сен

Два из них не заслуживают большого внимания, поскольку их можно обработать путём незначительного изменения регулярного выражения, а третий исключительно сложен. Алгоритмическое выделение инициалов в условиях, когда даже человеку трудно определить где фамилия а где имя невозможно. Нельзя и предотвратить алгоритмическую обработку в таких ситуациях(для программы Иванов Иван Иванович и Чен Ир Ким - одно и то же), поэтому будут неизбежно возникать ошибки.

Значит ли это, что на алгоритмической обработке следует поставить крест? Ни в коем случае! Ведь если мы не можем полагаться на правильность как обработанных, так и исходных данных, остаётся ещё возможность проверки тех и других по каталогу. После неё можно оставить именно ту форму, которая присутствует в каталоге и этим обеспечить успех поиска. Далее будет приведён алгоритм, который позволяет это сделать на стороне клиента, без перезагрузки страницы, путём динамической подкачки данных.

Как я уже говорил, общий принцип работы алгоритма унификации заключается в том, что данные об авторе в обработанной и исходной форме сопоставляются с теми, которые есть в базе. Вот последовательность его действий:
1. Средствами Java Script осуществляется унификация введённых пользователем данных;
2. Результаты работы скрипта, вместе с поисковыми данными в исходной форме отправляются на сервер;
а) Если алгоритмически обработанная форма найдена в каталоге, она считается верной и записывается в поле A_S21STR;
б) Если в каталоге найдена только исходная форма данных(Николай I), результаты алгоритмической обработки(Николай, I.) игнорируются и в поле A_S21STR остаётся исходное значение;
в) Если обе формы, как исходная, так и обработанная отсутствуют в каталоге:
* Выдаётся сообщение о том, что книги искомого автора отсутствуют. ОДНАКО
* Если при этом читателем были введены сложные данные(Ким Ир Сен, Иванов Иван Иванович) они разбиваются на части и осуществляется запрос к словарю авторов на наличие хотя бы одной из частей(фамилии). При успешном запросе, аналогичные правила будут использованы для параметрирования поиска в каталоге(A_S21P01=1,A_S21LOG=0)

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 12, March, 2007 03:37

Хочу заметить, что последнее решение(поиск с ИЛИ) является правомерным лишь в том случае, если в каталоге не раскрываются инициалы. При описании книг Ким Ир Сена(если таковые вообще существуют в природе) наши каталогизаторы, скорее всего, признают Ким фамилией, а И.С. - инициалами(его ныне здравствующего сына зовут Ким Чен Ир). Поскольку искать КИМ & ИР & СЕН вместе нецелесообразно, вышеописанный подход является для нас оптимальным. Если же инициалы раскрываются, то желательно сформировать из инициалов и фамилий отдельный словарь и осуществить запрос совпадений уже не с оператором ИЛИ, а с оператором И, чтобы при успешном выполнении запроса соответствующим образом параметрировать поиск(A_S21LOG=1). Этот подход значительно увеличивает точность.

Разумеется, всё вышеперечисленное можно было бы целиком выполнять на стороне сервера. Но в этом случае нельзя было бы реализовать информирование читателя о результатах обработки. А ведь своевременно получать сведения об опечатках очень приятно. В типичной ситуации, когда поиск осуществляется по автору и заглавию, подсказки важны.
Для этого читателю достаточно перевести курсор из поля Автор в любое другое поле. Он может увидеть или нормализованную форму данных об авторе(если нормализация удалась), или сообщение что введённый автор в каталоге не найден, или сведения о том, что полных совпадений с введёнными данными нет и поиск будет неточным. Всё это появляется без перезагрузки, прямо под тем полем, которое было им заполнено.

Должен сказать БОЛЬШОЕ СПАСИБО Константину Олеговичу за то, что он откликнулся на мою просьбу и реализовал функцию замены HTTP заголовков. Благодаря этому стала реальностью вышеописанная технология и открылось множество новых возможностей. Теперь WEB ИРБИС может легко сохранять результаты поиска в RTF и подкачивать нужные данные в форме Java Script'ов(например, преобразованные значения какого-нибудь словаря базы теперь можно представить в виде выпадающего списка.).

Полагаю, что при прочих равных условиях, WEB ИРБИC, использующий алгоритмическую обработку, будет обеспечивать более высокое качество поиска(соотношение точности и полноты) чем Руслан. Такому алгоритму по зубам не только В. И. Иванов, но и Пико Делла Мирандола. ;) Кроме того, аналогичную технологию можно использовать для расширения запросов по авторитетному файлу. Только для этого его надо иметь... ;)))

PS
Посмотреть как это работает можно здесь: [www.elib.nwpi.ru]. Уважаемые коллеги, если вы заметите какие-нибудь баги, пожалуйста, сообщите о них! Я тестировал все скрипты в Opera 7.5, Opera 9.02, Explorer 6.0.2800, Mozilla 1.0.7, Mozilla 2.0.0.2 но не смог протестировать в самом опасном и популярном браузере - IE 5.0. Знаю по опыту, что результаты в нём могут быть самыми неожиданными...



Редактировано 1 раз. Последний раз 12.03.2007 04:13 пользователем Кирилл Соколинский (СЗТУ).

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 12, March, 2007 03:37

Скрипты:

<!FORMAT=!'var realbase="',&uf('+D'),'";'>

function author_process(){
at=mainsearch.A_S21STR;
pm=mainsearch.A_S21P01;
inn=document.getElementById("a_comm");
inn.innerHTML="";
pm.value="1";
na='';
mode='';
if (at.value) {

tmp=at.value.replace(/(\.|\s|^)([A-zА-я])/g, upper_reg);
at.value=''; // Требуется только для корректной работы в Opera 7.5
at.value=tmp;


if((n=find_inn(at.value))){
mode=(n[1].length>1 || n[2].length>1) ? '1' : '';
na=n[0]+', '+n[1].charAt(0)+'.';
na+=(n[2]) ? ' '+n[2].charAt(0)+'.' : '';
}

var scr=document.createElement('script');
scr.type = 'text/javascript';
scr.src = "/cgi-bin/lib/cgi.exe?C21COM=F&I21DBN=AT_JS&I21DBNAM="+realbase+"&AUTORO="+toURI(at.value)+"&AUTORN="+toURI(na)+"&MODE="+mode;
document.getElementsByTagName('body').item(0).appendChild(scr);

}

}

function find_inn(author){
re=new RegExp("(?:([A-zА-я\-]+)\,? ([A-zА-я\-]*)\.? ?([A-zА-я\-]*)\.?)|(?:([A-zА-я\-])\. ?([A-zА-я]?)\.? ([A-zА-я\-]+))");
return (re.exec(author)) ? new Array(RegExp.$1+RegExp.$6,RegExp.$2+RegExp.$4,RegExp.$3+RegExp.$5) : null;
}

function upper_reg($0,$1,$2){
sp=($1=='.')? $1+' ' : $1;
return sp+$2.toUpperCase();
}

function toURI(str){
l="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁ ,.абвгдежзийклмнопрстуфхцчшщъыьэюяё";
lDec="C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DD DE DС DF C5 20 2C 2E E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF B8".split(" ");
for (newstr='',j=0;j<str.length;j++) {
for (i=0;i<l.length;i++) {
if (l.charAt(i)==str.charAt(j)) break;
}
newstr+=(l.length>i) ? '%'+lDec[i] : str.charAt(j);
}
return newstr;
}


<form action="/cgi-bin/lib/cgiirbis.exe" enctype="Multipart/form-data" name="mainsearch" method="POST" onsubmit="author_process()">
<input type="hidden" name="A_S21P01" value="1">
<input type="hidden" name="A_S21P02" value="1">
<input type="hidden" name="A_S21LOG" value="0">
<input type="hidden" name="A_S21P03" value="A=">
<input name="A_S21STR" onblur="author_process()">
<br>
<span id=a_comm></span>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
</form>

В файле irbisXX.ini:

[AT_JS]
FRAMES=C:\irbis\web\frames_r\Common\
ShowFrames=at_js.frm
DBName=NWPIB
ContentType=application/x-javascript
Expires=0

[PARAMETRS]
PARNAME35=AUTORO
PARTAG35=1023
PARNAME36=AUTORN
PARTAG36=1024

В файле at_js.frm(одна строчка):

<!FORMAT=!,if v1024<>'' and val(&uf('+3J',v1050,',A=',&uf('+3D',v1024)))>0 then &uf('+1W664#',&uf('+3D',v1024)), &uf('+1W665#0'),&uf('+1W666#'), else, if val(&uf('+3J',v1050,',A=',&uf('+3D',v1023)))>0 then &uf('+1W665#0'),&uf('+1W666#'), else, if v1090<>'' then, if val(&uf('+3S',v1050,',0,|(',&uf('+1W555#',&uf('+3D',v1023)), (if &uf('+1R555')<>'' then, if &uf('+1R555')<>&uf('Av1023#1') then '+' fi,'<.>A='&uf('G0 '&uf('+1R555'))'$<.>', if &uf('G2 '&uf('+1R555'))<>&uf('+1R555') then &uf('+1W555#',&uf('G2 '&uf('+1R555'))) else &uf('+1W555#') fi, else break fi),')|,'))>0 then &uf('+1W666#1') else &uf('+1W666#2') fi, else &uf('+1W666#2') fi,fi,fi, 'inn.innerHTML="', if g666='2' then 'Издания указанного автора/редактора/составителя в каталоге отсутствуют.' else if g666='1' then 'Будут найдены похожие автороы/редакторы/составители. Полных совпадений с введёнными данными нет.' fi,fi,'";',if g664<>'' then 'at.value="',g664,'";',fi, 'pm.value="',g665,'";',>

Хочу подчеркнуть, что у меня для запросов используются Win1251, а в базовой поставке применяется UTF8. Это обязательно следует учесть и заменить мою жуткую функцию toURI()(сам бы от неё избавился) на стандартную encodeURI(). Кроме того, возможно, придётся подправить что-то в at_js.frm.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Gala (IP-адрес скрыт)
Дата: 19, March, 2007 16:25

Все замечательно, Кирилл! Действительно, молодец! Пример для нас... :)
Я тоже взялась за обновление модуля, поэтому вопрос - над какой из версий Вебирбиса проводятся данные изменения?

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 20, March, 2007 02:30

Gala написал(а):
-------------------------------------------------------
> Все замечательно, Кирилл! Действительно, молодец!
> Пример для нас... :)
> Я тоже взялась за обновление модуля, поэтому
> вопрос - над какой из версий Вебирбиса проводятся
> данные изменения?

Спасибо, очень благодарен за столь благожелательный отзыв. Я использовал самое последнее обновление WEB ИРБИС 32(2006.2). Полагаю, его уже можно получить у дилеров(если я ошибабсь, Константин Олегович, меня поправит.)
Алгоритм динамической подкачки я планирую серьёзно переработать.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Constantin (IP-адрес скрыт)
Дата: 20, March, 2007 10:01

У дилеров нет пока - пишите в отдел договоров

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Gala (IP-адрес скрыт)
Дата: 20, March, 2007 10:06

Спасибо. Мы пока склоняемся к использованию версии WEB ИРБИС 64(2006.2). Там много отличий от ныне работающей версии, так что работы предстоит много.

У меня вопрос (может его стоит вынести в новую тему?) как у вас в организации ведется статистика использования ВебИрбис, качественный и количественный учет и анализ работы удаленных пользователей?

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Constantin (IP-адрес скрыт)
Дата: 20, March, 2007 10:37

Пока эта работа только началась - есть ежедневная статистика и копится БД логов
Из этой БД можно выгрузить в ИРБИС таблички

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Gala (IP-адрес скрыт)
Дата: 21, March, 2007 16:58

Да, я посмотрела cgiirbis_64.log. А каким образом он выгружается в Ирбис?

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 22, March, 2007 02:35

Gala написал(а):
-------------------------------------------------------
> Спасибо. Мы пока склоняемся к использованию версии
> WEB ИРБИС 64(2006.2). Там много отличий от ныне
> работающей версии, так что работы предстоит
> много.

Насколько я понимаю, пользователям WEB ИРБИС не приходится самостоятельно выбирать модификацию 32 или 64: они вынуждены использовать ту, которая будет совместима с их системой каталогизации. Вместе с WEB 64, скорее всего не поставляется ни Ирбис сервер, ни модуль Администратор, поэтому оказывается невозможно даже автономные базы в формате ИРБИС 64.

> У меня вопрос (может его стоит вынести в новую
> тему?) как у вас в организации ведется статистика
> использования ВебИрбис, качественный и
> количественный учет и анализ работы удаленных
> пользователей?

К сожалению, пока не приходилось серьёзно заниматься этим вопросом. Некоторый минимум мы получаем от счётчика Mail.ru, но уже возникла потребность считать количество выгрузок электронных документов(http://irbis.gpntb.ru/read.php?24,21854).

Добавлю пару слов к тому, что сказал Константин Олегович. В WEB 64, непосредственно в самой системе реализована достаточно полная статистика посещений, которая записывается в стандартную базу и доступна через WEB интерфейс(пример на сайте ГПНТБ: [library.gpntb.ru]). В WEB 32 единственным источником данных о посещениях является текстовый протокол. Для получения агрегированных данных него требуется самостоятельно писать программу-анализатор. Разумеется, было бы очень хорошо, если бы в WEB 32 были бы доступны средства аналогичные тем, которые имеются в WEB 64. Однако я вряд ли стал бы применять эти расширения, поскольку их работа замедляет скорость генерации страниц.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Constantin (IP-адрес скрыт)
Дата: 22, March, 2007 13:43

<<Вместе с WEB 64, скорее всего не поставляется ни Ирбис сервер, ни модуль Администратор,

WEB ИРБИС работает с базами ИРБИС64 которые поставляются вместе с сервером
Модуль Администратор обязателен в поставке ИРБИС

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 22, March, 2007 20:59

Constantin написал(а):
-------------------------------------------------------
> <<Вместе с WEB 64, скорее всего не поставляется ни
> Ирбис сервер, ни модуль Администратор,
>
> WEB ИРБИС работает с базами ИРБИС64 которые
> поставляются вместе с сервером
> Модуль Администратор обязателен в поставке ИРБИС


Я имел в виду то, что пользователь ИРБИС 32, купив только модуль WEB 64, не сможет его использовать. Чтобы работать с базами ИРБИС 64 и манипулировать ими ему потребуются как минимум ИРБИС сервер и АРМ Администратор.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Gala (IP-адрес скрыт)
Дата: 29, March, 2007 17:18

Статистика на [library.gpntb.ru] сделана обычной табличкой и не меняется при новых поисках, так что это только вариант размещения информации на интерфейсе, а никак не модуль автоматитического подсчета онлайн-посещений. Я так поняла Константина, что эту табличку можно получить обработкой логов ВебИрбиса в Ирбис, но пока не нашла как это сделать.
Пойду читать документацию! :)
На И32 Веб64 точно не приспособить, потому что формат данных другой.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Куделя (IP-адрес скрыт)
Дата: 30, March, 2007 06:56

Gala написал(а):
-------------------------------------------------------
> Статистика на сделана обычной табличкой и не
> меняется при новых поисках,

Отчего же - все там меняется. Обновил страницу - получил увеличение счетчика...
http://www.irabis.irklib.ru/db.htm

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Gala (IP-адрес скрыт)
Дата: 30, March, 2007 10:23

Да, у вас меняется, там не менялось. У вас версия WI64_61?
У меня в WI64_62 такая табличка на интерфейсе сама не появилась. Интересно, это из-за версии или какие-то настройки?

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Куделя (IP-адрес скрыт)
Дата: 30, March, 2007 10:29

нет - это 64 - 6.1. Табличка она немножко нетакая, но в дистрибутиве присутствует. Просто во frames\ibis\default\footer_7.frm закомментирована <!!FILE=stat.frm>

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Constantin (IP-адрес скрыт)
Дата: 30, March, 2007 10:34

В директории AddIns в дистрибутивном файле WebIrbis64r.zip есть папка
LOGDB с описанием режима публикации и использования статистики online



Редактировано 1 раз. Последний раз 30.03.2007 10:34 пользователем Constantin.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Gala (IP-адрес скрыт)
Дата: 30, March, 2007 10:38

62 это у меня.Нашла. Может мне теперь вместо документации читать форум? :)
Максим, у вас сейчас идет обращение с вебирбиса к тем же базам данных, с которыми работают каталогизаторы или к копиям?

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Куделя (IP-адрес скрыт)
Дата: 30, March, 2007 10:43

все on-line :) Мы же перешли на широкие рельсы И64 уже полгода как

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP



Редактировано 1 раз. Последний раз 30.03.2007 10:43 пользователем Куделя.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Gala (IP-адрес скрыт)
Дата: 30, March, 2007 10:58

Молодцы! :) А я задумалась о доступе к БД во время обработки баз - экспорт-импорт, актуализация больших баз и прочее. Если в локальной сети мы всегда можем выбрать момент когда никому базы не нужны, то интересы удаленного пользователя при он-лайн доступе никто учитывать не будет. Теряем пользователей..

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Constantin (IP-адрес скрыт)
Дата: 30, March, 2007 13:39

>>>Может мне теперь вместо документации читать форум? :)


Установка WEB ИРБИС заканчивается показом файла read_me.txt
Содержимое этого файла дублируется в файле manual.htm, который непосредственно доступен со стартовой страницы WEB ИРБИС по ссылке "Описание".


По поводу статистики там написано:
Версия 2006.1

!!!!!!!!! ЧТО НОВОГО !!!!!!!!!!!
.....................................
23.В дистрибутив введены расширения WEB ИРБИС. СМ. директорию AddIns в файле WebIrbis64r.zip.
a. Возможность вести лог базу данных LOGDB и отражать текущую статистику на сайте.
b. ВОзможность полнотекстового поиска.
c. Возможность уведомления по факту записи.
d. В помощь каталогизатору разработан специальный СЕРВИС WebIrbis_service_64.exe.
Позволяет по ссылке из формата показа найденных документов открыть заданный MFN в АРМ Каталогизатор.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 30, March, 2007 16:07

Gala написал(а):
-------------------------------------------------------
> А я задумалась о доступе к БД во время
> обработки баз - экспорт-импорт, актуализация
> больших баз и прочее. Если в локальной сети мы
> всегда можем выбрать момент когда никому базы не
> нужны, то интересы удаленного пользователя при
> он-лайн доступе никто учитывать не будет. Теряем
> пользователей..

Эта проблема решается не слишком сложно. Поскольку импорт-экспорт обычно осуществляется ночью, то нижеописанные действия даже не повлияют на работу предварительного заказа и книговыдачи. Требуется реализовать в файле пакетного задания(BAT или CMD) копирование баз в новую директорию и замену оригинальных PAR файлов на другие, с путями к временным базам.

Т. е. если основной путь к базе
1=.\datai\NWPIB\
, то на время реорганизации у нас он выглядит
1=.\back\NWPIB\

Благодаря использованию временных баз, аналогичных по содержимому оригинальным, реорганизация никак не отражается на работе сайта.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Lavrinovich (IP-адрес скрыт)
Дата: 06, July, 2007 01:12

В поддержку и развитие замечаний А.С.К.
Очень хорошо, что затронуты эти проблемы.
Здесь действительно очень много сложностей. Я уже было начал писать «Отстраненные рекомендации по ведению библиографических БД», как вдруг наткнулся на почти то же самое. Действительно, непонятно, как искать неевропейские – и даже многие европейские! — имена? Китайские, корейские, вьетнамские, арабские, монгольские, индийские (а ведь это не менее 75% человечества), а также древнегреческие и древнеримские? Или если у одного человека много имен, как у испанцев?
Примеры:
1.У Пикассо было штук пятнадцать имен и фамилий (полного списка под рукой нет). И вообще, куда девать третью часть имени испанцев (Фидель Кастро Рус)?
2.В Исландии фамилии ЗАПРЕЩЕНЫ ЗАКОНОМ (причем неисландцы обычно принимают их отчества за фамилии).
3.У монголов отчество всегда перед именем и всегда сокращается, фамилий нет.
4.У венгров фамилия всегда перед именем, а фамилии имеют уменьшительную форму.
Ни в каких ГОСТах, правилах и форматах обо всем этом ни слова.
И, опять-таки, как быть с монархами и духовными лицами? Об этом правила есть, но их часто игнорируют, а «машина» (т. е. программа) и подавно может в них запутаться.
Или если имя используется как псевдоним, а фамилию мало кто знает? Например, «Валерия» (она же Валерия Юрьевна Шульгина, она же – на самом деле – Алла Перфилова), или «Земфира», а лучше «Zемфира», или Жасмин, она же Сара, она же…
Притом что многие каталогизаторы ничего этого не знают и знать не желают.
Реальный пример: Назым Хикмет описан на Х (правильно на Н).
А вот еще круче: Македонский А. (а почему же не Филипыч?), Христос И. (Ёсич!!? Яхвич!!?)… Ну а где тогда Первый П., Великая Е., Второй Н., Патриарх А. и т.д.?
А как это можно понять такое:
«Будут корректно интерпретированы варианты с одним инициалом:
в. иванов
иванов а»
Ну а если это разные люди, например, Василий Андреевич Иванов и Александр Викторович Иванов?
Или, предположим, существуют Аркадий Семеныч Пушкин или Абрам Соломоныч Пушкин?
И уж тем более совсем непонятно, почему это относится именно к Веб-, а не к «самому» ИРБИСу?

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 06, July, 2007 12:49

Задача представленного мной алгоритма – это реализация максимально полного и точного поиска по данным, заданным в свободной форме. Она решается для вполне конкретного случая, когда при поиске не используется авторитетный файл авторов и в каталоге не раскрываются инициалы. Как я полагаю, алгоритм может повысить качество поиска в 90% случаев и не вызовет дополнительных ошибок в тех 10% случаев, когда повысить качество поиска невозможно.
Вы можете самостоятельно проверить справедливость моего утверждения. На сайте [elib.nwpi.ru] в режиме профессионального поиска доступен словарь авторов. Буду признателен Вам если Вы укажете такие случаи, когда обработка данных ухудшает качество поиска по сравнению со стандартными алгоритмами.

> Действительно, непонятно, как искать неевропейские
> – и даже многие европейские! — имена? Китайские,
> корейские, вьетнамские, арабские, монгольские,
> индийские (а ведь это не менее 75% человечества),
> а также древнегреческие и древнеримские? Или если
> у одного человека много имен, как у испанцев?
> Примеры:
> 1.У Пикассо было штук пятнадцать имен и фамилий
> (полного списка под рукой нет). И вообще, куда
> девать третью часть имени испанцев (Фидель Кастро
> Рус)?
> 2.В Исландии фамилии ЗАПРЕЩЕНЫ ЗАКОНОМ (причем
> неисландцы обычно принимают их отчества за
> фамилии).
> 3.У монголов отчество всегда перед именем и всегда
> сокращается, фамилий нет.
> 4.У венгров фамилия всегда перед именем, а
> фамилии имеют уменьшительную форму.
> Ни в каких ГОСТах, правилах и форматах обо всем
> этом ни слова.


Во-первых, существует традиция сворачивания вереницы имён(Кастро Ф.). Во-вторых, двух инициалов, выделение которых предусмотрено в алгоритме, обычно бывает достаточно для идентификации конкретного автора(Введите в поле автор «Гегель Георг Вильгельм Фридрих»). В третьих, как я уже писал, если обработка не принесла результата, каждое из введённых пользователем слов будет «примеряться» в качестве фамилии и хотя это приведёт к неточному поиску, но, во всяком случае, не даст пользователю упустить интересующие его книги.


> И, опять-таки, как быть с монархами и духовными
> лицами? Об этом правила есть, но их часто
> игнорируют, а «машина» (т. е. программа) и подавно
> может в них запутаться.

А машина и не пытается в этом разобраться. :) Она просто перебирает различные комбинации слов и варианты сокращений, проверяя их наличие в каталоге.

> Или если имя используется как псевдоним, а фамилию
> мало кто знает? Например, «Валерия» (она же
> Валерия Юрьевна Шульгина, она же – на самом деле –
> Алла Перфилова), или «Земфира», а лучше «Zемфира»,
> или Жасмин, она же Сара, она же…

Этот как раз тот случай, когда может помочь только авторитетный файл или трудолюбие каталогизаторов(поле «разночтение фамилии»).

> А как это можно понять такое:
> «Будут корректно интерпретированы варианты с одним
> инициалом:
> в. иванов
> иванов а»
> Ну а если это разные люди, например, Василий
> Андреевич Иванов и Александр Викторович Иванов?
> Или, предположим, существуют Аркадий Семеныч
> Пушкин или Абрам Соломоныч Пушкин?

Если в нашем каталоге не выполняется расшифровка инициалов, то этих Пушкиных не сможет различить не только машина, но и каталогизатор.

> И уж тем более совсем непонятно, почему это
> относится именно к Веб-, а не к «самому» ИРБИСу?

Потому, что обработка осуществляется средствами языка Java Script.

Re: Реализация поиска по данным об авторе, заданным в произвольной форме(опыт доработки WEB ИРБИС)
Пользователь: Gena (IP-адрес скрыт)
Дата: 31, May, 2011 12:10

Кирилл, хотелось бы возродить еще и эту тему. Сейчас проводил поиск по сайту СЗТУ: www.elib.nwpi.ru и вот что получил:



В базе "Каталог непериодических изданий" по Вашему запросу ничего не найдено.

Запрос: (<.>A=ПЕТРИЕВА, О.В.$<.>)
Вернуться к поиску

Я хотел проверить работу описанного в самом начале скрипта и получил, что ныне он не работает. А почему так? Хотелось бы добавить, что такая технология крайне нужна! Действительно, загнать в авторитетный файл всех авторов, а не только авторов-сотрудников - просто невозможно! А в противном случае у нас в каталоге появляется множество форм имени лица. И если выбирать из словаря нужный вариант, то поиск происходит имнно по нему, а не по всем его формам. Мне кажется, что это направление еще рано закрывать.


Запрос по автору в веб-ирбисе 2009.1:

ИВАКИН, В. И - 6 результатов
ИВАКИН, В. - 11 результатов
ИВАКИН, Владимир Иванович - 1 результат



Редактировано 1 раз. Последний раз 31.05.2011 12:13 пользователем Gena.

Страницы: 12>>
Страница: 1 из 2


Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.