/
СХІДНОУКРАЇНСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
імені Володимира Даля
МІЖНАРОДНИЙ ФАКУЛЬТЕТ
КАФЕДРА КОМП'ЮТЕРНИХ НАУК
Пояснювальна записка
до дипломної роботи
(освітньо-кваліфікаційний рівень)
на тему: Дослідження засобів контролю присутності запозичень у текстових документах та створення програмного забезпечення для електронних бібліотек регіональних навчальних закладів
Луганськ - 2013 року
Реферат
Кількість сторінок - _____
Таблиць - 1
Ілюстрацій - 11
Бібліографічних джерел - 17
Ключові слова: авторське право, запозичення, система, алгоритм, шингл, мегашингл, супершингл.
З кожним роком все більше видань переводиться в електронну форму. Одні з них публікуються на компакт-дисках, інші - в глобальній мережі Інтернет. При цьому практично будь-яке електронне видання, в тому числі і опубліковане в мережі Інтернет, є об'єктом авторського права.
В даний час у світі існує значна кількість систем, що дозволяють здійснювати пошук запозичень (огляд систем представлений в четвертому розділі першої глави дисертаційної роботи), проте в Україні розробки в даному напрямку ведуться не так давно. Актуальність дослідження полягає в необхідності створення методів та автоматизованого інструментарію, що дозволяють здійснювати ефективний і адекватний пошук запозичень в текстових документах, розміщених в електронній бібліотеці регіональних навчальних закладах.
Зміст
Перелік скорочень
АРМ - автоматизоване робоче місце
АОТ - автоматизована обробка текстів
ЕВ - електронне видання
ІПС - інформаційно-пошукова система
ЛА - лінгвістичний автомат
МП - машинний переклад
ПЗ - програмне забезпечення
Вступ
Актуальність теми дослідження
Проблемою дослідження текстових творів займаються багато століття, але лише в 1851 році англійський логік Серпень де Морган вперше запропонував використовувати математичний апарат для вирішення завдання встановлення авторства. Тим самим Морган породив безперервну дискусію про застосовність математичних методів для задач аналізу текстової інформації.
Актуальність автоматизації пошуку запозичень в електронних виданнях обумовлена проблемою порушення авторських прав. В даний час нелегальне розповсюдження творів, що є об'єктом авторського права - явище буденне. Однак Інтернет дозволив максимально спростити саму процедуру порушення до буквально двох-трьох натискань клавіш. Одні й ті ж матеріали багаторазово копіюються на різних сайтах, що неможливо без порушення норм авторського права. Крім того, проблема незаконного запозичення текстових матеріалів зачіпає і систему вищої освіти. Завдяки тому, що в глобальній мережі Інтернет опубліковані, в деяких випадках незаконно, багато електронні видання, а також в силу незнання чинного законодавства в галузі авторського права, багато хто вважає можливим копіювати фрагменти опублікованих у мережі Інтернет електронних видань, з подальшим присвоєнням авторства. За даними, опублікованими Education Week (http://www.plagiarism.org/plagiarismstats.html), заснованим на національному дослідженні (USA) випливає, що 54% студентів незаконно використовують у своїх роботах матеріали, опубліковані в мережі Інтернет. Варто також відзначити, що 47% студентів вважають, що їхні викладачі часто ігнорують випадки плагіату в студентських роботах. Центр Академічної Чесності (The Center for Academic Integrity) виявив, що 80% студентів визнаються в плагіаті, скоєному хоча б одного разу.
плагіат інтернет текстовий документ
З кожним роком все більше видань переводиться в електронну форму. Одні з них публікуються на компакт-дисках, інші - в глобальній мережі Інтернет. При цьому практично будь-яке електронне видання, в тому числі і опубліковане в мережі Інтернет, є об'єктом авторського права.
В даний час, багато хто помилково вважає, що матеріали, опубліковані в глобальній мережі Інтернет можна копіювати, не піклуючись про виняткові права автора.
В даний час у світі існує значна кількість систем, що дозволяють здійснювати пошук запозичень (огляд систем представлений в четвертому розділі першої глави дисертаційної роботи), проте в Україні розробки в даному напрямку ведуться не так давно. Актуальність дослідження полягає в необхідності створення методів та автоматизованого інструментарію, що дозволяють здійснювати ефективний і адекватний пошук запозичень в текстових документах, розміщених в електронній бібліотеці регіональних навчальних закладах.
Мета і завдання дослідження
Метою магістерської роботи є створення автоматизованої системи, а також розробка методів і алгоритмів, що дозволяють проводити пошук запозичень в текстовій інформації, розміщених в електронній бібліотеці регіональних навчальних закладах. Для досягнення мети були вирішені наступні завдання:
огляд програмних систем, що дозволяють проводити пошук запозичень в мережі Інтернет;
аналіз методів і способів, що дозволяють захищати електронні документи від несанкціонованого копіювання;
розробка методів і алгоритмів, що дозволяють здійснювати пошук запозичень в ЕВ;
програмна реалізація розроблених і запропонованих методів і алгоритмів пошуку запозичень в ЕВ;
Предмет і об'єкт дослідження. Об'єктом дослідження є системи, що дозволяють проводити пошук запозичень у текстовому матеріалі, опублікованому в глобальній мережі Інтернет. Предметом дослідження та розробки є безліч методів і алгоритмів, що дозволяють здійснювати пошук запозичень у текстовому матеріалі, а також алгоритмічне забезпечення систем пошуку запозичень в текстовій інформації.
Методи дослідження. У представленій роботі були використані: теорія множин, теорія фільтрів, теоретико-ймовірнісні методи і методи концептуального аналізу, а також позалінгвістичного контент-аналіз у поєднанні з елементами нечіткого порівняння, лексичного та синтаксичного аналізу.
При створенні програмного комплексу, а також при дослідженні алгоритмів порівняння текстової інформації застосовувалися методи об'єктно-орієнтованого програмування (ООП), об'єктно-компонентного програмування (ОКП), динамічного програмування, структурного і модульного програмування.
Оцінка теоретичної значущості результатів роботи. Отримані методи і алгоритми є теоретичною основою для створення автоматизованої системи пошуку запозичень в електронних виданнях, опублікованих в глобальній мережі Інтернет. Запропоновані методи дозволяють здійснювати порівняння текстового матеріалу, спираючись відразу на два ортогональних методу (позалінгвістичного і лінгвістичний). Комбінація позалінгвістичного контент-аналізу в поєднанні з елементами лексичного і синтаксичного аналізу дозволяє по-новому підійти до проблеми порівняння текстових фрагментів для виявлення запозичень.
Практична значущість роботи
Практична цінність магістерської роботи полягає в розроблених методах, які пройшли, в ході тестових випробувань, дослідження на швидкість і ефективність. Розроблені методи розв'язання задачі пошуку запозичень дозволяють значно скоротити час, що витрачається на ручний аналіз документів в електронній бібліотеці, для визначення текстових документів із запозиченнями.
Наукова новизна і значимість роботи
У магістерській роботі вирішена науково-практична задача автоматизації пошуку запозичень в ЕВ, розміщених у базі даних електронної бібліотеки регіональних навчальних закла
дів. Розроблено та програмно реалізовано методи і алгоритми, що позволяють проводити пошук запозичень у текстовому матеріалі: розроблена архітектура і програмно реалізована автоматизована система пошуку запозичень в електронних виданнях, що дозволяє здійснювати пошук плагіату в електронних документах, розташованих на локальних носіях інформації.
Апробація результатів роботи
Основні положення та результати роботи докладалися на студентській науково-технічній конференції кафедри комп'ютерних наук Східноукраїнського національного університету імені Владимира Даля у квітні 2013 року.
Розділ 1. Аналіз стану питання і постановка задач дослідження
1.1 Витоки авторського права і відповідальності за його порушення
Авторське право в сучасному сенсі було встановлено лише підчасів епохи Просвітництва, Батьківщиною першого авторського і патентного законодавства вважається Великобританія, де в 1710 році з'явився перший авторський закон, відомий як 'Статус королеви Анни' і містив один з найважливіших принципів авторського права - 'копірайт'. Заборона тиру-жирування опублікованого твору без згоди автора. Основною метою такого правового регулювання був захист інтересів видавця, але здійснювалася вона за допомогою законодавчої конструкції, що спиралася на волевиявлення учасника, якому надавалося монопольне право на публікацію твору протягом 14 років з моменту його створення, а також можливість продовження цього терміну ще на 14 років при життя автора. Характерно, що на автора покладалася 'зустрічна обов'язок' - надавати в публічно доступні бібліотеки кілька примірників своїх творів.
Професор Shifra Barachson-Arbib і Eti Yaari у своїй статті 'Printed Versus Internet Plagiarism: A Study of Students 'Perception' відзначають, що термін 'плагіат' походить від латинського кореня 'Plagiarius', що означає 'викрадач'. Вперше даний термін використав римський поет Martial, в першому столітті нашої ери. Починаючи з 18 століття термін 'плагіат' застосовується виключно до літературного злодійства.
Традиційно літературне злодійство було порівняно з крадіжкою дітей або рабів, підкреслюючи тим самим сильну зв'язок між артистичними і біологічними створіннями. Авторське право розглядалося не з майновою боку, а як продовження і відображення особистості самого автора, у зв'язку з чим останній набував чинності 'природною справедливості' права на охорону свого твору у якості частини своєї особистості.
Однак і в Англії і в Франції авторські права розглядалися, по суті, як права власності, що забезпечують авторам, їх спадкоємцям або іншим правонаступникам можливість отримання майнової вигоди від використання охоронюваного твору.
Такий підхід надав великий вплив на розвиток авторського права в континентальній Європі і сприяв розвитку driot moral ('моральних' або особистих немайнових прав автора). У результаті в континентальній правовій системі авторські права виявилися не тільки наділені рисами, властивими праву власності а й поряд з майновим змістом включали додаткові правомочності, що захищають нематеріальні інтереси автора. [11] В даний час Кримінальний кодекс України визначення плагіату не містить, звертаємося до статті 50 Закону України 'Щодо авторське право та суміжні права': плагіат - оприлюднення (опублікування), повністю або частково, чужого твору під іменем особи, яка не є автором цього добутку. Отже, привласнення авторства - це протизаконна дія, внаслідок вчинення якого суб'єкт, що не приймає творчої участі у створенні твору, видає себе за учасника.
Окремо слід відзначити, що законом про авторське право і суміжних правах захищаються образи і мова твору. При цьому такі елементи твори як: тема, сюжет, ідейний зміст - юридично байдужі.
Юридична тонкість полягає в тому, що якщо людина буде видавати себе за учасника чужого твору, але при цьому він не буде вживати ніяких дій, то ця людина не буде вважатися порушником закону. Тільки у випадку відтворення, розповсюдження чужого твору під своїм ім'ям, людина стає порушником. Стаття 50 КК України передбачає такі види покарання за незаконне використання об'єктів авторського права: якщо плагіатом завдано шкоди у значному розмірі (на даний момент - близько 9600 грн)., То застосовується покарання у вигляді штрафу від двохсот до тисячі неоподатковуваних доходів громадян (1 НДГ = 17 грн.) або виправні роботи на строк до двох років, або позбавлення волі на той самий строк, з конфіскацією та знищенням всіх примірників творів, матеріальних носіїв комп'ютерних програм, баз даних, виконань, фонограм, відеограм, програм мовлення та пристосувань і матеріалів, які спеціально використовувалися для їх виготовлення (частина перша статті 176 КК України). Саме більше в Україні за плагіат можна отримати до п'яти років позбавлення волі.
1.2 Види порушення авторських прав
Відразу після створення твору автору належать права двох видів: приватні немайнові права і майнові права. При цьому слід зазначити, що авторське право на твір науки, літератури і мистецтва виникає в силу факту його створення. Для виникнення і шляхи виконання авторського права не потрібно реєстрації твору, іншого спеціального оформлення твору або дотримання будь-яких формальностей [13].
Особисті немайнові права (право визнаватися автором; право оприлюднити або дозволяти оприлюднити твір; право на захист твору) належать автору незалежно від його майнових прав і зберігаються за ним у разі поступки виключних прав на використання твору. До майнових прав, що належить автору, відносяться винятково права на використання твору в будь-якій формі та в будь способом. При цьому майнові права можуть бути передані третім особам за авторським договором.
Таким чином, порушення авторських прав в глобальній мережі Інтернет можна розділити на дві категорії:
Порушення особистих немайнових прав - привласнення авторства на розміщені в Інтернеті твори, тобто плагіат
Порушення майнових прав - розміщення творів у мережі та надання до них доступу без дозволу правовласника.
В даний час в судовій практиці прийнято розрізняти такі види плагіату:
випуск в повному обсязі або частини чужого твору під своїм ім'ям;
випуск твору під своїм ім'ям, створеного у співавторстві з іншими особами без зазначення їх прізвищ;
використання у творі фрагментів творів інших авторів без оформлення цитат або вказівки заслань на першоджерело;
дії з примусу до співавторства, а також до відмови від авторства.
Однією з основних і очевидних причин, по якій не варто займатися порушенням авторських прав є те, що плагіат це - порушення закону. Але цьому залежно від обставин і масштабів порушення в КК України плагіат - привласнення авторства. може наступити як адміністративне і цивільно-правове, так і кримінальне покарання. У багатьох університетах світу досить щільно займаються проблемою плагіату в студентських роботах. У багатьох університетах у статуті прописані санкції, що застосовуються до учнів, у разі виявлення випадків плагіату в здаються роботах. У більшості випадків, при неодноразовому виявленні значного плагіату в роботі учня, статут навчального закладу дозволяє дисциплінарної комісії здійснити процедуру відрахування без права поновлення. Але слід також звернути увагу на те, що окрім порушення закону є ще ряд причин, по яких вкрай не бажано займатися плагіатом:
не вказавши посилання на реального автора висловлювання (ідеї), плагіатор позбавляє можливості читача ознайомитися з позицією та іншими роботами реального автора;
робота, у якій є значна кількість фактів і даних і не міститься посилань на інші документи, може вважатися читачем як менш приваблива з наукового погляду, так як немає можливості перевірити істинність фактів;
Плагіатор може видати за свою роботу помилкові результати, сумнівні, не мають наукової цінності дані. Усього цього можна уникнути при використанні правил цитування та наведення виносок на першоджерело інформації. Таким чином, при дотриманні правил цитування відбувається перекладання відповідальності за факти і вислови на реального автора.
1.3 Проблема порушення авторських прав
Не всі країни поспішають впроваджувати на національному рівні проекти з запобігання розповсюдження плагіату. Так за словами авторів програми з автоматичного пошуку плагіату в мережі Інтернет, Анатолія Шевченка та Олександра Литвиненка: у Міністерстві освіти і науки України знають про 'ноу-хау' і дали добро на його впровадження. Але не всі вузи зацікавлені в цьому. Зокрема, це пов'язано і з тим, що сьогодні дипломно-курсовим бізнесом займаються не тільки студенти і лаборанти, а й викладачі [7].
На диво мало справ, пов'язаних з порушенням авторських прав і плагіатом, розглядають дисциплінарні комісії в багатьох країнах. За2003 рік у Швеції було залучено до стягнення усього 112 учнів. При цьому відомо, що близько 10% квартир, що здаються робіт були з плагіатом. За приведеним у статті 'Hidden Statistics' даними, реально до відповідальності притягується лише 0,2% порушників серед учнів у Швеції.
1.4 Дії щодо припинення порушення авторських прав
Одним з найбільш поширених і дієвих способів щодо припинення порушення авторських прав в глобальній мережі Інтернет є письмове попередження адміністратора сайту і власників хостингу. У більшості випадків, після отримання аргументованого листа про порушення авторських прав, власники сайту (адміністратори) приносять вибачення і припиняють порушення. Однак, якщо порушення авторських прав триває, то можливе звернення до власників хостингу, з проханням припинити доступ до ресурсу, що порушує законодавство України. При цьому необхідно детально описати, чиї права були порушені, ким і коли, яким законодавством це порушення переслідується, яка відповідальність загрожує власникам сайту-порушника.
Варто відзначити, що лист власникам хостингу в такому вигляді може допомогти лише в тому випадку, якщо мова йде про хостинг на території України. Якщо хостинг належить іноземної організації, то при мотивуванні порушення необхідно посилатися на норми міжнародних конвенцій з авторського права та інтелектуальної власності:
Бернська конвенція про охорону літературних і художніх творів 1886 року (у редакції, підписаної в Парижі 24.07.71 р.)
Всесвітня (Женевська) конвенція про авторське право 1952 переглянута в Парижі 24.07.71 р [16].
Міжнародна конвенція про охорону інтересів артистів виконавців, виробників фонограм і організацій мовлення (Рим, 26 жовтня 1961 р.)
Договір Всесвітньої організації інтелектуальної власності (ВОІВ) з авторського права (Женева, 20.12.96 р.)
Статут Міжнародної конфедерації товариств авторів та композиторів-рів (CISAC) На основі розгляду нових закордонних законодавчих актів встановлюється наступна тенденція у вирішенні проблеми відповідальності і обов'язків провайдерів доступу: провайдер доступу не зобов'язаний здійснювати контроль за змістом інформаційних ресурсів, але якщо він попереджений про те, що їх зміст незаконно (зокрема порушує авторські права), то провайдер доступу зобов'язаний вжити заходів для припинення доступу до такого інформаційного ресурсу.
При цьому, якщо порушник авторських прав не визнає факту порушення, а провайдер доступу готовий підкоритися винятково судовим рішенням, необхідно зібрати достатню кількість доказів правопорушення. Доказами у справі є отримані в передбаченому законом порядку відомості про факти, на основі яких суд загальної юрисдикції або арбітражний суд встановлює наявність або відсутність обставин, що обгрунтовують вимоги і заперечення сторін, а також інших обставин, що мають значення для правильного розгляду і вирішення справи.
1.5 Огляд систем і сервісів пошуку плагіату
Essay Verification Engine (EVE2)
EVE2 - потужний інструмент, який дозволяє професорам і викладачам на всіх рівнях системи освіти визначати, чи використовувалися матеріали, опубліковані в глобальній мережі, при написанні перевіреній роботи. EVE2 приймає документи у текстовій форматі Microsoft Word, або форматі Corel Word Perfect і повертає посилання на web-сторінки, з яких студент, можливо, скопіював матеріали.
Починаючи з лютого 2000 року через систему EVE2 було вироблено
приблизно 87 мільйонів запитів. Ліцензія на використання системи EVE2коштує $ 29,99 при цьому використовується система оплати 10 днів money back.
Web: http://www.canexus.com/eve/index. shtml
PowerResearcher (The Research Process Automation Tool)
PowerResearcher - це система, що дозволяє проводити пошук плагіату для не дуже великих фрагментів текстового матеріалу. Варто відзначити, що PowerResearcher - це багатофункціональний програмний продукт, що поєднує властивості та можливості наступних систем: Word, Excel, Internet Explorer. При цьому PowerResearcher дозволяє автоматизувати процес оформлення цитат, при вставці текстових фрагментів з мережі Інтернет. Вартість системи PowerResearcher становить від $ 79.95 до $ 129.95 вЗалежно від комплекту поставки.
Web: http://www.powerresearcher.com
WCopyfind (Software to detect plagiarism) WCopyfind дозволяє проводити пошук документів, в яких деякі фрагменти є загальними. Отже, можна говорити про те, що знайдені документи потенційно порушують авторські права. Після проведення пошуку документів з плагіатом, створюється звіт в HTML форматі.
Система підтримує наступні формати для аналізу: txt, html і doc. Однак необхідно відзначити, що система не виробляє пошуку по глобальній мережі Інтернет. WCopyfind дозволяє проводити пошук плагіату тільки на локальних (мережевих) дисках. WCopyfind поставляється безкоштовно за ліцензієюGNU GPL з відкритим вихідним кодом.
Web: http://plagiarism. phys. virginia.edu/Wsoftware.html
Plagiarism Detection Service (The Joint Information Systems Committee)
Дана система дозволяє здійснювати пошук по більш ніж 80 мільйонам сайтів і документів, содержашій в базі даних, JISC Plagiarism Detection Service не говорить про те, що хтось займається плагіатом. Дана система лише надає користувачеві (або інший програмної системі) інформацію про те які фрагменти документа були використані раніше,
Web: http://www.jisc. ac. ukGlatt
Plagiarism ServicesРозробники даної системи стверджують, що це перша всебічна програмна система, орієнтована для пошуку плагіату. Процедура порівняння текстової інформації заснована на припущенні про те, що кожна людина має індивідуальний стиль письма, який унікальний також як і відбитки пальців. Вартість повного комплекту ПЗ Glatt Plagiarism Program становить $ 500. На сайті також представлена ??система, що дозволяє виконати самоперевірку (http://www.plagiarism.com/self. detect. htm). При цьому виконати перевірку можна тільки для безперервної прози не менше 100 слів (діаграми, формули, графи повинні бути заздалегідь виключені з аналізованого тексту).
Web: http://www.plagiarism.com
MyDropBox SuiteСистема MyDropBox, що складається 3 основних сервісів (SafeAssignment, Re: Mark, Peer Re: Mark), є однією з найбільших, в області пошуку плагіату. Їх клієнтами є багато видавництв, зі шкіл і університетів світу. Досить сказати, що послугами системи My-DropBox користується більше 500 навчальних закладів у 35 країнах. В даний час послугами Sciworth Inc користується приблизно 1 500 000 студентів і викладачів. На офіційному сайті http://www.mydropbox. coni/licensing/index. php представлена інформація про +4-х видах ліцензійної угоди:
індивідуальна ліцензія;
кафедральна ліцензія;
ліцензія університетського містечка;
ліцензія безлічі університетських містечок.
Слід зазначити, що будь-який з перелічених видів ліцензійної угоди дозволяє використовувати ресурси системи MyDropBox винятково для освітніх потреб. При необхідності укладення ліцензійної угоди для використання в неакадемічних цілях слід заповнити спеціальну форму, розташовану на офіційному сайті.
Web: http://www.mydropbox.com/Placens.com
(Search Engine for plagiarized texts) Compris Intelligence GmbH позиціонують свою розробку, як систему пошуку плагіату в глобальній мережі Інтернет. Дана розробка, на відміну від більшості існуючих сервісів, базується не на пошуку ключових слів, що дозволяє даній системі виявляти перефразовані матеріали. Пошуковий сервіс placens.com систематично аналізує текстовий матеріал на предмет плагіату в мережі Інтернет.
Використання нових технологій пошуку компанією Compris Intelligence GmbH дозволяє знайти, фактично, всі тексти порушують авторські права. Згідно з офіційно представленої інформації на сайтіwww.placens.com, навіть якщо було використані синоніми чи перефразування - це буде виявлено.
Web: http://www.placens.com/
Copyscape (Website Plagiarism Search) Інтернет сервіс Copyscape надає користувачам можливість перевірки своїх сайтів (Інтернет-сторінок) на предмет запозичень на інших сайтах. Залежно від типу ліцензійної угоди перевірки на наявність плагіату в мережі Інтернет можуть проводитися як раз на тиждень (Copysentry Standard), так і щодня (Copysentry Professional). Web: http://www.copyscape.com/UrkundСистема розроблена спеціально для пошуку плагіату в здаються студентами роботах. Після того, як студент посилає роботу на електронну адресу викладача, система Urkund робить перевірку в 3-х основних джерелах;
Інтернет;
опубліковані матеріали;
студентські матеріали.
Якщо автоматизована система виявляє фрагменти роботи, які вже є в одному з 3-ох джерел, то вони позначаються. Таким чином, на електронну пошту викладачеві приходять студентські роботи з поміченими місцями можливого плагіату.
Web: http://www.urkund. сom
Scriptum
При перевірці роботи система scriptum проводить пошук в глобальній мережі Інтернет, документів, що містять фрагменти оригінальної роботи.
При цьому, якщо було виявлено запозичення з інших робіт, то створюється звіт, що містить інформацію про запозичених фрагментах перевіряється документа. Слід зазначити, що звіт представляє із себе вихідний перевірявся документ, в якому у вигляді посилань оформлені ті фрагменти, які вже зустрічаються в мережі Інтернет. При переході по цих посиланнях відкриваються документи, на яких розташовані матеріали, використовувані в перевіряється документі.
Web: http://www.scriptum. ca/
Antiplagiat.ruПерший російський Інтернет сервіс, який реалізує перевірку текстових документів на наявність запозичень із загальнодоступних мережевих джерел, з'явився навесні 2005 року. В даний час сервіс є безкоштовним, проте ліцензійна угода, в рамках якого здійснюється співробітництво, передбачає можливість переведення сервісу на платну основу. З представлених на офіційному сайті компанії матеріалів, випливає, що система проводить порівняння вихідного текстового документа з раніше завантаженими системою з Інтернету даними. Використовувана архітектура спрямована на мінімізацію часу порівняння, що безпосередньо пов'язано зі зниженням якості проведеного порівняння.
Web: http://www.antiplagiat.ru
JPlag (Detecting Software Plagiarism)
Web-сервіс JPlag дозволяє зареєстрованим користувачам проводити пошук плагіату в програмному коді. Система JPlag не порівнювати окремі байти програмного коду, вона вміє розпізнавати синтаксис програми та її структуру. Такий підхід дозволяє системі виявляти навіть видозмінені тексти програм. В даний час система підтримує наступні мови програмування: С, C + +, С #, JAVA, Scheme, і текст написаний на природній мові. Варто відзначити, що JPlag не підтримує пошук плагіату в Інтернеті. Система призначена для пошуку схожих програмних кодів серед студентських рішень.
Web: http://www.jplag. de/
Moss (Measure Of Software Similarity)
Moss - це система, що дозволяє автоматично перевіряти схожість вихідних текстів програм. В даний час система може коректно аналізувати програмний код, написаний на наступних мовах: С, C + +, Java, С #, Python,
Visual Basic, Javascript, FORTRAN, ML, Haskell, Lisp, Scheme, Pascal, Modula2, Ada, Perl, TCL, Matlab, VHDL, Verilog, Spice, MIPS assembly, a8086 assembly. Розробка системи Moss була розпочата в 1994 році. В даний час Moss призначена тільки для некомерційного використання і поширюється безкоштовно. Однак є можливість оформити комерційну ліцензію через Similix Coфoration (http://www.similix.com/)
Web: http://www.cs. berkeley.edu/% 7
Eaiken/moss.htmlSID (Software Integrity Detection)
Дана система призначена для пошуку плагіату у вихідних текстах програм написаних на C + + і JAVA. На відміну від Moss, дана система має можливість приблизного порівняння {Approximate Matching) іWeb-інтерфейс.
Web: http://genome. math. uwaterloo. ca
1.6 Способи захисту електронних видань від плагіату в Інтернеті
Для формування списку можливих способів захисту електронних видань необхідно визначити поняття 'електронне видання'.
1.6.1 Електронне видання
Спираючись на формулюваннях Гостів і міжнародних стандартів були сформульовані основні вимоги, які пред'являються до електронного видання:
читаєма форма;
рівноправність споживачів;
самостійність;
інформативність.
Одним з основних нормативних документів визначають термін електронне видання є ГОСТ 7.83-2001, в якому наведено систему класифікації типів електронних видань:
наявність друкованого оригіналу (електронний аналог і самостійне видання);
природа основної інформації (текстове, образотворче, звукове, програмне, мультимедійне електронне видання);
цільове призначення (офіційне, наукове, науково-популярне, виробничо-практичне, нормативне, навчальний, довідкове, для дозвілля, рекламне, художнє електронне видання);
технологія розповсюдження (локальне, мережеве, комбіноване електронне видання);
характер взаємодії з користувачем (детерміноване, інтерактивне електронне видання);
періодичність (неперіодичне, серіальне, періодичне, про-продовжували, оновлюється електронне видання);
структура (однотомне, багатотомне, серія).
Відповідно до наведеної класифікації, одним з основних обмежень для електронних видань розглядаються в даній роботі є текстова природа основної частини матеріалу. Враховуючи дане обмеження, необхідно визначити поняття 'текстова інформація', а також види текстової інформації.
1.6.2 Види текстової інформації
Текст (від лат, Textus - тканина, сплетіння, структура; зв'язне переказ) - мовне твір необмеженої довжини, В даний час тексти є об'єктом вивчення для багатьох наук, серед яких: лінгвістика, літературознавство, семіотика, психологія, текстологія, палеографія, теологія, етнографія. Однак існують цілі класи систем, які одночасно використовують напрацювання з декількох, на перший погляд ніяк не пов'язаних, областей наукового знання. Яскравим прикладом систем такого роду є системи автоматизованої обробки текстів (АОТ), Згідно нідерландському лінгвістові Т, Ван Дейку можна виділити три рівні структури тексту [15]:
мікроструктуру - поділ на мінімальні складові; макроструктуру - узагальнений опис основного змісту тексту;
супер структуру - стандартна схема, за якою будуються тексти певного жанру.
У системах автоматизованої обробки текстової інформації найчастіше доцільно використання певних методів, алгоритмів, фільтрів і словників стосовно лише до декількох видів текстової інформації. Дане явище пов'язане з тим, що для різних видів текстів характерна різна структура пропозицій. Також істотно відрізняється набір часто використовуваних слів в текстах, що, безумовно, має бути враховано при розробці системи АОТ, В даний час, в різних джерелах згадуються такі види текстів:
літературно-художні;
науково-технічні;
науково-популярні;
юридичні;
дитячі;
релігійні;
навчальні;
нормативні;
рекламні;
довідкові;
словники;
енциклопедії;
приказки та прислів'я;
ноти;
вірші.
Враховуючи той факт, що багато видів текстової інформації надзвичайно сильно відрізняються від інших, було прийнято рішення про доцільність обмеження кількості досліджуваних видів текстової інформації при розробці методів порівняння текстових документів.
1.6.3 Способи захисту
До основних способів захисту електронних видань, можна віднести:
публікація статті на паперовому носії;
реєстрація дати створення статті у нотаріуса;
відправлення поштового листа (самому собі) на паперовому носії з роздрукуванням статті;
морально-психологічний вплив на порушників авторського права (публікація витягів з Кримінального кодексу і закону про Авторське право та суміжні права);
здійснення програмно-технічного захисту електронного документа від копіровапія;
здійснення програмно-технічного захисту електронного документа з використанням стеганографії;
1.7 Автоматизація обробки текстової інформації
У програмах АОТ однією з ланок аналізу є лексико-граматичний аналіз (Part-of-Speechtagging), який для російської мови, завдяки його розвиненою морфології, виконується практично зі стовідсотковою точністю [9]. Крім цього, для поліпшення точності лексико-граматичного аналізу використовуються два типи алгоритмів: ймовірнісно-статистичні і основані на продукційних правилах.
Велика частина ймовірнісно-статистичних алгоритмів використовує два джерела інформації: словник словоформ мови та інформацію про зустрічальності всіх можливих послідовностей лексико граматичних класів.
У розвинених інформаційно-пошукових системах (ІПС) використовується багаторівневий аналіз текстів:
лексичний аналіз;
морфологічний аналіз;
синтаксичний аналіз;
семантичний аналіз.
При цьому, найчастіше, головною ланкою є останній етап отримання семантичної інформації про текст, в той час як перші три рівня є підготовчими. Таким чином, ІПС може оперувати інформацією про семантичної близькості між деякими документами, що дозволяє видавати користувачу найбільш релевантні документи.
Моделі ІПС діляться на три основні класи [10]: Теоретико-множинні моделі. Такі моделі використовують в якості каркаса математичного апарату теорію множин.
Імовірнісні моделі. Базуються на ймовірності віднесення користувачем документа до релевантним.
Алгебраїчні моделі. Дані моделі представляють документи і запити користувачів у вигляді векторів в багатовимірному просторі. Основою для алгебраїчних моделей є методи векторної алгебри.
Слід зазначити, що семантична близькість між двома документами абсолютно не означає наявності плагіату або однакових текстових фрагментів. Більше того, семантична близькість документів не відноситься ні до необхідного, ні до достатнього вимогу наявності однакових фрагментів тексту. Таким чином, моделі, найчастіше застосовуються в сучасних ІПС, не можуть ефективно справлятися з поставленою задачею. При цьому окремі алгоритми, використовувані в таких системах, дозволять більш ефективно організувати пошук однакових фрагментів тексту в документах.
В даний час системи АОТ представляють собою набір деяких конкретних програмних модулів, які можуть функціонувати як самостійно, так і в комплексі з іншими модулями. До основних модулів, використовуваним при машинній обробці текстової інформації, відносять: Впізнання мови. Модуль впізнання мови, на якому написаний аналізуемий текст, може реалізовуватися на основі заздалегідь певного списку мов, або на основі правил, що дозволяють проводити аналіз на нескінченній множині мов.
Розпізнавання тексту. У задачі розпізнавання підсистема лінгвістичного аналізу дозволяє справлятися з усуненням морфологічних і синтаксичних помилок, що виникають при некоректному розпізнаванні окремих символів, чи низки символів.
Індексування тексту. Модуль, що дозволяє створювати лексичний індекс з набору ключових слів. При цьому текст розбивається на окремі слова, які, проходячи через лінгвістичний автомат (ЛА), відносяться до певної тематичної області.
Інформаційний пошук. Основною метою функціонування модуля інформаційного пошуку є витяг релевантної інформації з заздалегідь сформованої бази даних за запитом користувача.
Реферування тексту. Завдання, що зводиться до стиснення вихідної текстів інформації відповідно до заздалегідь певним коефіцієнтом стиснення. Після стиснення в тексті залишаються пропозиції, які були віднесені системою, як найбільш інформативні.
Машинний переклад. Системи машинного перекладу (МП) можуть значно відрізнятися в своїх функціональних можливостях. Найпростіші системи МП дозволяють користувачеві отримати грубий, наближений переклад. Користувач може лише зрозуміти основну думку з перекладеного тексту, однак такі системи, як правило, не обмежуються певною предметною областю і дозволяють перекладати тексти з різних предметних областей. До найбільш складних систем МП відносять програмні комплекси в рамках АРМ перекладача. Такі системи дозволяють отримувати високоякісні переклади при жорсткому визначенні предметної галузі перекладу і типу документа, що перекладається.
При цьому користувач виступає, скоріше, як коректор, що виправляє незначні шорсткості перекладу.
Синтез мови. Модуль, що дозволяє програмної системі усний висновок інформації. Найбільш часто такі функціональні можливості затребувані в інформаційно-довідкових системах.
Автоматизоване створення словників. Дане завдання включає в себе побудову частотних і алфавітних словників, що дозволяють іншим модулям системи АОТ найбільш ефективно виконувати свої функції.
Автоматизоване створення документів. Завдання, що передбачає геперацію текстового документа з наперед визначеною структурою.
Релевантним називається знайдений документ, що має відношення до запиту. Англ. Relevant-відноситься до справи і змістом. В даний час, найчастіше, такі тексти створюються на формалізованій мові, яка максимально наближена до ЕВ.
Навчання рідної (іноземної) мови. Системи, які дозволяють людині підвищити рівень грамотності. При цьому такі програмні комплекси найчастіше містять підсистему тестування. Використання результатів проміжного тестування дозволяє коригувати курс навчання для кожного конкретного користувача.
1.8 Постановка завдання
В якості основного завдання магістерської роботи розглядається способи контролю присутності запозичень в електронних документах. Рішення основного завдання представленої роботи в першу чергу пов'язано з розробкою відповідного методологічного та алгоритмічного забезпечення. У вступі, а також у першому розділі було відзначено, що проблема магістерської роботи є актуальною. В даний час завдання пошуку запозичень в більшості випадків вирішується без використання автоматизованих систем.
Таким чином, автору деякого електронного видання, необхідно виконати наступні дії для виявлення запозичують текстові фрагменти з вихідного:
прочитати вихідне ЕВ для того, щоб мати достовірне уявлення про змістовну частину текстового матеріалу;
скласти список послідовностей слів, найбільш точно характеризують і відображають тематику і специфіку ЕВ;
по черзі завантажити в браузері документи, адреси яких були отримані на попередньому кроці;
прочитати кожний завантажений документ; порівняти кожний завантажений з мережі Інтернет документ з вихідним документом для прийняття рішення про наявність запозичень;
кількісно оцінити обсяг запозичень, а також їх законність у завантаженому документі для подальшого прийняття рішення про доцільності проведення заходів щодо запобігання порушення авторського права.
Автоматизація більшості описаних дій дозволить значно скоротити витрати часу для проведення пошуку запозичень. Слід окремо зазначити, що магістерська робота спрямована на розробку і створення автоматизованої, а
не автоматичної системи. Відповідно з джерелом під автоматизованою системою розуміється людино-машинна система, що забезпечує автоматизований збір і обробку інформації. У визначенні особливо слід виділити поняття 'людино-машинна система'. У автоматичних системах функції людини зводяться до розробці, налагодженні і контролю за роботою системи. Саме ж управління здійснюється без участі людини. В автоматизованих системах наявність людини (колективу людей) в контурі управління є принциповим. Людина є головним визначальним ланкою системи управління, оскільки людина приймає рішення і несе за них всю відповідальність.
Завдання розробки і реалізації ПЗ вирішується з використанням відповідного методологічного та алгоритмічного забезпечення. У розділі 2 представлено опис та аналіз застосовності існуючих методів подання, аналізу та порівняння текстової інформації. Слід зазначити, що більшість існуючих методів, незважаючи на їх високу ефективність в задачах класифікації та пошуку текстової інформації, не можуть бути основою для створення ПЗ. Дана обставина пов'язана в першу чергу з тим, що розробляється програмне забезпечення повинна мати можливість надання користувачеві вичерпної інформації не тільки про кількість запозичень і їх обсязі, але також і про місцезнаходження збіглися фрагментів текстового матеріалу.
Проведемо формалізацію постановки завдання з розробки системи пошуку запозичень в текстових документах, розміщених в електронній бібліотеці регіону.
Розділ 2. Методи і алгоритми аналізу, подання і порівняння текстової інформації
2.1 Методи аналізу текстової інформації
Дескрипторна метод. Існує кілька методів побудови дескрипторів текстового документа. Одним з найпростіших є метод, заснований на формуванні блоку слів і виразів з лексики предметної області документа. При цьому дескриптори можуть будуватися на основі, як змісту тексту, так і заголовка. Однак даний метод не дозволяє отримати достовірну інформацію про збіг фрагментів або підпослідовностей в порівнюваних документах. Таким чином, використання дескрипторного методу може бути обгрунтованим і ефективним у системах пошуку 'за каталогом', або в системах автоматичної класифікації документів.
Векторна модель. В даний час методи, засновані на векторному поданні текстових документів, є одними з найпоширеніших. Основна ідея векторної моделі полягає в тому, що кожен текстовий документ може бути представлений у вигляді п-мірного вектора V = (к1, к2,., кn). При цьому ki, i = l, 2,., n - вага кожного з п вимірів. Згідно векторної моделі схожість двох документів x1 і х2 визначається як кореляція між векторами їх описів. Одним із способів визначення кореляції є обчислення скалярного добутку двох векторів, відповідних порівнюваним документам.
Слід зазначити, що існує безліч методів призначення весов кожному виміру вектора, а також методів оцінки міри схожості векторів. Проте всі методи, засновані на векторних моделях, мають значний недолік для вирішення поставленого завдання. Вони, втім, як і кластерні методи, дозволяють лише отримати певний коефіцієнт схожості, що не надаючи при цьому відомостей про конкретні збіглися фрагментах порівнюваних документів.
Аналоги Дублінського ядра. Незважаючи на те, що вперше Дублінський ядро (Dublin Core) було запропоновано в 1995 році на проведеному в Дубліні симпозіумі, організованому Online Computer Library Center (OCLC) і National Center for Supercomputing Applications (NCSA) для опису інформаційних ресурсів бібліотечних систем, воно стало широко використовувати в різних пошукових системах. ДЯ - це набір елементів метаданих, зміст яких зафіксовано в специфікації визначає його стандарту (http://dublincore.org/documents/dcmi-terms/). У термінах значень цих елементів можна описувати зміст різного роду текстових документів. Таким чином, методи, засновані на використанні інформації ДВ можуть використовуватися для порівняння текстових документів. Модель представлення текстового документа на основі ДЯ може бути представлена в наступному вигляді: D={ (N1,V1), (N2,V2),… (Nmax,Vmax) }
При цьому безліч пар D є поданням одного документа, Ni, i = 1,2,., max - імена елементів метаданих ДЯ, що описують зміст документа. Vi, i = l, 2,., max - значення елемента метаданих. Максимальна кількість елементів не є межею, тому деякі розробники вносять власні елементи метаданих. Так, наприклад, на офіційному сайті (http://dublincore.org/documents/dcmi-terms/) представлено опис 86 елементів метаданих. Однак, як і у випадку з дескрипторного методом, використання методів заснованих на ДВ є найбільш доцільно в системах каталогів.
Метод А.Т. Фоменко. Запропонований групою Фоменко метод математико-статистичного аналізу історичних текстів полягає у введенні заходи схожості (відстані) у формальному просторі, що описує можливі варіанти фрагментів історичних хронік. Тобто, в деякому математичному просторі лежать образи текстових документів.
При цьому кожен документ представляється не у вигляді однієї точки простору, а скоріше як хмара точок, сконцентроване в певному місці простору. А деякою функцією визначається міра близькості (схожості) розташованих в просторі хмар. Незважаючи на значну ресурсомісткість описаного методу, він є ефективним для вирішення завдання порівняння документів. Однак, як і більшість інших, метод А. Т, Фоменко дозволяє лише отримати певний коефіцієнт, що характеризує схожість порівнюваних документів. У той час як для розв'язуваної задачі одним з пріоритетних напрямків є візуалізація співпадаючих фрагментів, яку неможливо організувати при використанні описаного методу.
Семантичні мережі. Під семантичною мережею при цьому розуміється граф з вершинами, які відповідають деяким фактам, поняттям або атрибутам понять. Ребра графа відповідають відносинам. У роботі рас бачено наступна класифікація семантичних мереж: інформаційні мережі, що вказують тільки на взаємозв'язок деяких об'єктів, заданих, наприклад, їх іменами;
мовні мережі (наприклад, граматики, представлені графом мови - мережею);
мережі визначення понять, що показують на зв'язку об'єктів і деяких властивостей або характеристик цих об'єктів;
мережі фактів, які мають найпростіші тимчасові, логічні або технічні зв'язки між собою;
класифікуючи мережі, встановлюють підпорядкованість деякого сорту для розглянутих об'єктів;
функціональні мережі, що визначають операнди та операції, що впливають на операнди;
сценарії як сукупності послідовностей робіт.
Використання семантичної мережі для подання текстів дозволяє практично повністю усунути вплив природної мови, і тим самим акцентувати увагу на семантиці. Слід зазначити, що для побудови семантичної мережі необхідно провести крім семантичного, морфологічний і синтаксичний аналіз текстових даних. Таким чином, побудова семантичної мережі є надзвичайно ресурсоємним завданням. Що, у свою чергу, робить неефективним використання семантичної мережі для вирішення задачі порівняння великої кількості документів.
Статистичні методи. Аналіз даних будь-якої природи з використанням традиційних методів класичної статистики широко поширений. Грамотне застосування статистичних методів дозволяє виявляти приховані функціональні закономірності, будувати математичні моделі, інтерпретувати числові набори даних. Найбільш часто для таких цілей застосовуються методи факторного та дискримінантного аналізу, багатовимірного шкалювання, кластерного і множинного дисперсійного аналіз, множинної покрокової регресії. Також слід зазначити, що статистичні методи дозволяють здійснювати побудову багатовимірних розподілів і таблиць спряженості, кореляційний аналіз та аналіз часових рядів.
Латентно-семантичний аналіз. Латентно-семантичний аналіз (Latent Semantic Analysis - LSA) - один з найбільш ефективних ста-статистичних методів вилучення контекстно-залежних значень слів за допомогою статистичної обробки значних за розміром корпусів текстів. Найбільшого поширення даний метод отримав в області пошуку інформації, а також в задачах фільтрації та класифікації текстових документів.
Основна ідея латентно-семантичного аналізу полягає в тому,що сукупність всіх контекстів, в яких зустрічається і не зустрічається дане слово, задає безліч обопільних обмежень, які дозволяють визначити схожість смислових значень слів і множин слів між собою.
Нейронні мережі. За своєю сутністю вони є альтернативою традиційним статистичним методам аналізу. Нейронна мережа являє собою багатошарову мережну структуру, що складається з найпростіших елементів - нейронів. Кожен, з яких пов'язаний з одним або декількома іншими нейронами. Тим самим, утворюючи складну систему з'єднань, що має ваги кожного зв'язку, об'єднуючу кілька шарів мережі. На вхідний шар надходять вихідні дані, а на останньому шарі формуються видаються підсумкові значення змінних. У більшості випадків перед початком роботи нейронна мережа повинна пройти період навчання, коли їй пред'являється значна кількість спеціально підібраних навчальних прикладів. Слід зазначити, що приклади надходять в мережу за збільшенням ступеня складності. При виникненні ситуації, в якій мережа неправильно реагує на черговий приклад, ваги зв'язків внутрішньої структури мережі модифікуються так, щоб мінімізувати помилку. При правильному виборі структури мережі та навчанні на великій кількості добре підібраних прикладів імовірність помилкового висновку може бути знижена до кількох відсотків.
Контент-аналіз. Однією з узагальнених формулювань контент-аналізу є: дослідницький метод, який використовується для визначення присутності певних слів чи понять у тексті, або масивах текстів.
Даний метод є кількісним і позалінгвістичного, по-скільки не використовує синтаксичну і семантичну інформацію, з-тримати в тексті. Однак такий метод аналізу може виявитися найбільш ефективним з кількох причин:
контент-аналіз рекомендується при обробці великих корпусів текстів;
даний метод має високу швидкість обробки текстових даних;
метод контент-аналізу дозволяє використовувати строгий математичний апарат;
контент-аналіз дозволяє використовувати високий ступінь автоматизації. У цілому, як наголошується в джерелі, контент-аналіз - є одним з найбільш потужних засобів позалінгвістичного аналізу текстової інформації.
2.2 Методи захисту від копіювання текстової інформації в Інтернеті
Використання JavaScript для відключення можливості копіювання текстового матеріалу:
Відключення контекстного меню, що викликається натисканням правої кнопки миші;
Очищення кожні кілька секунд буфера обміну;
Висновок всього текстового матеріалу на html сторінку через JavaScript, що можна зашифрувати за допомогою JSCoder. Варіант обходу: Відключення JavaScript.
Використання Flash-технології; Варіант обходу: Декомпіляція Flash-файлів (FlashSaver).
Використання спеціальних комплексних систем захисту контенту (HTML Guardian, StarForce); Варіант обходу: Використання браузера відмінного від Internet Explorer,
Переклад текстового матеріалу в графічний; Варіант обходу: Отримання зображень, що містять текстовий матеріал, з кешу браузера з подальшим розпізнаванням,
Одним з поширених в даний час в мережі Інтернет способів труднощі копіювання текстової інформації є заміна літер з одного алфавіту, на однаково виглядають літери з іншого алфавіту. Таким чином, після копіювання, плагіатору належить вручну замінювати літери.
Варіант обходу: Використання відповідних скриптів, що дозволяють в автоматичному (автоматизованому) режимі робити зворотну заміну букв.
Варіанти обходу методів захисту:
роздрукувати html сторінку і розпізнати;
передрукувати текстовий матеріал з екрану комп'ютера;
зробити екранну копію (Screenshot) й розпізнати;
зробити знімок на цифрову камеру і розпізнати;
завантажити сайт (сторінку) цілком з сервера.
2.3 Алгоритми пошуку точного збігу
При вирішенні завдання порівняння текстової інформації та обчислення коефіцієнта схожості, заснованого на кількісної характеристиці, пов'язаної з однаковими фрагментами текстів, доцільно звернутися до класу алгоритмів пошуку текстової інформації [1]. Позначимо рядок, в якій буде проводитися пошук у, а довжину рядка рівній n. Шуканий рядок позначимо як х, а довжину шуканого рядка рівній т.
До класу алгоритмів точного пошуку підрядка в рядку відносяться: Алгоритм Боуер-Мура (Воуег-Мооге): Даний алгоритм має відносно низьку швидкість пошуку при обробці рядків з алфавітом, що містить невелику кількість символів. Тобто, час роботи алгоритму збільшується при находженні великої кількості збігів символів. При цьому кількість операцій пропорційно n-m. Збільшення розміру алфавіту і х призводить до збільшення швидкості роботи алгоритму. Найменшу можливу кількість операцій порівняння при пошуку слова в ЕВ тексті для алгоритму Боуер-Мура становить С * n / m, де С приблизно дорівнює 0,2 для алфавітів природної мови. А середня кількість операцій порівняння необхідне для виконання пошуку цього алгоритму наближене до С (n + m) Розглянутий алгоритм складається з двох частин:
1. попередня обробка шуканої рядки і побудова таблиць;
2. безпосередньо пошук, з використанням отриманих на першому етапі таблиць.
Одна з головних ідей даного алгоритму полягає в тому, що пошук в тексті робиться в зворотному напрямку. Тобто пошук слова проводиться справа наліво в початковому тексті.
Розглянута нижче ситуація проілюстрована на малюнку 2.4.1 Якщо при порівнянні символи вихідного тексту не співпали з символами шуканого слова: але при цьому в i-ій позиції слова зустрічається шуканий символ: у к + m = xi, і виконується умова того, що далі (лівіше) у шуканому слові знайдений символ більше не зустрічається: у до + m = Xj; 1 <j <i. Тоді мінімальний зсув шуканого слова вправо для поєднання символу х. з шуканого слова з символом з вихідного тексту у к + m становить mi.
Рис. 2.1 Розбіжність правої частині шуканого слова за алгоритмом Боуер-Мура.
Однак якщо при перших декількох порівняннях символи в тексті в потрібному слові збігалися, а в i-ій позиції слова виявлена розбіжність, то згідно з алгоритмом визначається величина, на яку слово не має сенс зрушувати. Описана ситуація представлена на малюнку 2.2 Розробники алгоритму виходили з міркувань, що якщо символ у слові та тексті збіглися, то марно зміщувати слово на відстань до відрізняються від них символів, так як все одно буде виявлено незбіг.
Рис. 2.2 Збіг правій частині шуканого слова за алгоритмом Боуер-Мура.
Одним з основних недоліків розглянутого алгоритму є необхідність обов'язкового знання всього алфавіту аналізованих рядків.
Алгоритм Кнута-Морріса-Пратта (Knuth-Morrls-Pratt): Даний алгоритм, також як і алгоритм Боуер-Мура, заснований на попередньому аналізі шуканої рядка. Кількість порівнянь в алгоритмі пропорційно сумі довжин шуканої рядка і тексту, тобто С (n + m). При ЦЬОМУ трудомісткість попередньої обробки безпосередньо залежить від довжини шуканої рядка X і вимагає С m операцій порівняння. У даному алгоритмі використовується метод порівняння зліва направо. При цьому зміщення шуканого слова щодо тексту відбувається вправо за умови, що виявлена ??розбіжність порівнюваних символів, або знайдено повний збіг (входження) шуканого слова. На відміну від найпростішого методу порівняння зрушення шуканого слова може здійснюватися відразу на кілька позицій. При цьому мінімальна величина зсуву дорівнює одиниці, а максимальна - дорівнює довжині шуканого слова. Після зміщення слова щодо тексту порівняння відбувається починаючи з позиції покажчика (номер символу тексту підлягає порівнянні). Слід зауважити, що покажчик не завжди посилається на перший символ у слові. Інформація про те, на який символ буде посилатися покажчик після зсуву, а так само про те, на скільки треба здійснювати цей зсув зберігається в спеціальній таблиці, яка формується на першому етапі роботи алгоритму. У середньому, трудомісткість попередньої обробки відбувається на першому етапі роботи алгоритму Кнута-Морріса-Пратта становить С n операцій порівняння.
Слід зазначити, що описані два алгоритми є базовими для більшості алгоритмів швидкого пошуку. Так, наприклад, алгоритм Боуер-Мура ліг в основу наступних алгоритмів:
алгоритм Хорспула;
алгоритм Турбо-БМ;
алгоритм 'максимального зсуву' і
алгоритм 'оптимального неспівпадання'.
На основі алгоритму Кнута-Морріса-Пратта був розроблений алгоритм Colussi. Існують також більш специфічні алгоритми точного пошуку: алгоритм Турбо-звернення сегмента, Здвиг-АБО, алгоритм Карпа-Рабіна та інші.
2.4 Алгоритми пошуку спільних підпослідовностей
Підпослідовність можна отримати з деякою кінцевої по-послідовності, якщо видалити з неї деякий безліч її елементів.
При цьому кількість видаляються елементів може дорівнювати нулю. Також слід зазначити, що видаляються елементи можуть розташовуватися не підряд.
Послідовність Z є спільною підпослідовність послідовностей X і Y, якщо Z є підпослідовності як для X, так і для Y. Таким чином, загальною підпослідовність двох рядків є рядок-підпослідовність для кожної з двох рядків. Найдовша з таких рядків-підпослідовностей є найдовшою загальної підпослідовність. Слід зазначити, що деякі з перерахованих нижче алгоритмів безпосередньо використовують обчислення відстані редагування і рас-стояння Левенштейна.
В даний час найбільшого поширення набули наступні алгоритми [2]:
алгоритм Вагнера і Фішера;
алгоритм Мазек і Патерсона;
алгоритм Укконен;
алгоритм Хіршбергом;
алгоритм Ханта-Шиманського.
Алгоритм, запропонований Вагнером (Wagner) u Фішером (Fisher), спиратися на метод динамічного програмування. Основною ідеєю алгоритму є обчислення відстаней між все більш довгими префіксами порівнюваних рядків. Тобто, обчислюється відстань редагування між префіксами слів на основі значення відстаней редагування для більш коротких префіксів. Для виконання порівняння двох рядків необхідно виконати С (n + т) операцій порівняння. А розмірність таблиці, в якій зберігаються відстані редагування, становить (m + l) - (n + l). Мазек (Masek) і Патерсон (Paterson) в 1980 році запропонували алгоритм, складність якого становить порядку . Слід зауважити, що Майєрс (Myers) вважав, що це єдиний алгоритм здатний менш ніж за С (n + т) в гіршому випадку обробити рядка.
Даний метод вимагає субквадратічне часу для порівняння двох рядків. Так, наприклад, за умови рівності довжин порівнюваних рядків часу в гіршому випадку буде потрібно . Описуваний алгоритм використовує метод 'чотирьох росіян' (Арлазаров, Дініц, Кронрод і Фараджев), запропонований в 1970 році. Основна ідея алгоритму полягає в розбитті матриці відстаней на сукупність підматриць. Їх нижні і праві краї можна потім вирахувати по аналогічних краях підматриць, що примикають до поточної подматріца зверху і зліва, і відповідним підстроками за допомогою попередньо обчисленої таблиці. Головними обмеженнями описаного алгоритму є необхідність кінцевого алфавіту, а також, щоб цінові ваги були цілими множниками фіксованого дійсного числа. Але, як справедливо відзначається в роботі, витрати запропонованого алгоритму досить великі. Отже, отримати виграш за часом порівняння можна тільки на довгих рядках. І автори аналізованого алгоритму в 1983 самі вказали на те, що запропонований алгоритм слід використовувати тільки для дуже довгих рядків. Так при обчисленні відстані редагування між двома бінарними рядками він починає перевершувати за швидкістю обробки інші алгоритми, тільки коли довжини рядків перевершують 262418. Алгоріпт Уккопепа (Ukkonen), опублікований в 1985 році стосовно аналізованої дисертаційній роботі не може бути застосований.
Відмітною особливість даного алгоритму є необхідність малого відстані між порівнюваними рядками. Тільки при виконанні описаного умови алгоритм Укконен є більш ефективним. Розглянутий алгоритм спрямований на обчислення відстані між двома рядками і заснований на методі динамічного програмування. При цьому витрати часу і пам'яті складають С (n + m), де d - це відстань між порівнюваними рядками х і у. У якості т приймається найменша з порівнюваних рядків довжина. Таким чином, час роботи алгоритму прямо пропорційно відстані між порівнюваними рядками. Основною ідеєю алгоритму вважається усічення зайвих обчислень при пошуку самого 'дешевого' шляху в направленому графі в матриці. Алгоріпш Хіршбергом (Hirschberg), запропонований в 1975 році є модернізованим алгоритмом Вагнера (Wagner) і Фішера (Fisher), який був запропонований ними за рік до цього. При детальному розгляді алгоритму Вагнера і Фішера стає зрозуміло, що вимоги до пам'яті у цього алгоритму становлять близько С (n + m). Хіршберг удосконалив алгоритм для більш ефективної роботи з довгими рядками.
Йому вдалося домогтися лінійної залежності використовуваної пам'яті С (n + m). Основна ідея алгоритму полягає в тому, що аналізується НЕ відстань між двома рядками х до у, а. між найдовшими загальними підпослідовність - Longest Сопшюп Subsequence (Ics). Таким чином, в алгоритмі Хіршбергом замість відстаней між рядками обчислюються довжини найдовших спільних підпослідовностей у все більш і більш довгих префіксів. Незважаючи на те, що даний алгоритм дозволяє знизити витрати пам'яті до С * (n + m), тимчасові витрати і раніше становлять С * (n * m). Алгоритм XanmaiHimt) і Шімапского (Szymanski), запропонований в 1977 році, також є алгоритмом, заснованим на пошуку Ics. Даний алгоритм заснований на ідеї пошуку максимального монотонно зростаючого шляху на графі. Час витрачений на порівняння 2-х рядків однакової довжини становить . Слід зазначити, що на основі їх алгоритму пізніше були запропоновані удосконалення. Так, наприклад, в 1987 році з'явився алгоритм апостолики (Apostolico) і Гуерра (Guerra), в основі якого лежав ал-горітм Ханта-Шиманського.
2.6 Алгоритми обчислення відстані між рядками
При порівнянні двох текстів іноді доцільно використовувати деякий чисельний коефіцієнт, який характеризує схожість / відмінність цих текстів. При цьому текстовий фрагмент може бути представлений у вигляді однієї довгої рядки, або під рядком може розумітися одну пропозицію з тексту, або окреме слово. Для визначення відстані між рядками (метрики) можна скористатися алгоритмами 2-х класів:
порівняння рядків однакової довжини;
порівняння рядків різної довжини.
Яскравим представником класу алгоритмів визначення відстані між рядками однакової довжини, є алгоритм обчислення відстані Хеммінга (Hamming). Відстань між двома рядками однакової довжини дорівнює числу розрізняються символів, розташованих у рядках в однакових позиціях, що рівнозначно мінімальній ціні перетворення одного рядка в іншу у разі, коли можлива виключно операція заміни з одиничним вагою. При цьому алгоритми першого класу, в загальному випадку, практично незастосовні для поставленої задачі з огляду на те, що ми не можемо гарантувати однакову довжину порівнюваних рядків (текстів, пропозицій, слів).
До другого класу належить відстань Лееетшпейна (Levensteui). У цьому випадку стає можливим порівняння рядків різної довжини, завдяки тому, що доступними є операції: заміна, видалення, вставка.
При цьому кожна з перерахованих операцій має одиничний вагу.
Відстань редагування також відноситься до другого класу алгоритмів і навіть багато в чому схоже з відстанню Левенштейна. Однак, до доступним операціями з одиничним вагою відносяться тільки додавання і видалення, а операція заміни має вагу - два. Це пов'язано з тим, що операція заміни може бути представлена у вигляді комбінації двох одиничних операцій (додавання нового символу + видалення старого символу). При тестуванні трьох найбільш поширених програмних реалізацій обчислення відстані Левенштейна були наступні результати: при порівнянні двох схожих сторінок тексту, кожна з яких містила приблизно 2400 символів, швидкість обчислення відстані Левенштейна склала від АЛЕ до 390 мс. залежно від конкретної реалізації. При порівнянні таких же обсягів текстової інформації, але абсолютно однакового тексту, час обчислення коливалося від 140 до 530 мс. Однак коли аналізу піддалися два абсолютно різних тексту, то час знаходження відстані зросла до 220-740 мс.
Також було отримано співвідношення, що показує, що при збільшенні обсягу аналізованого тексту в 15 разів час обчислення відстані Левенштейна зростає в кращому випадку в 520 разів! Отже, порівняння текстової інформації шляхом обчислення відстані Левенштейна не може бути оптимальним за умови, що порівнювані тексти з великою ймовірністю значно відрізняються один від одного, а також при порівнянні текстового матеріалу за обсягом перевищує кілька сторінок. До обмежень застосовності методів обчислення відстані редагування і відстані Левенштейна можна віднести те, що дані методи не дозволяють отримати повну інформацію про те, в якому місці оброблюваних рядків відбулося повне збіг.
Таким чином, відсутня можливість видати користувачеві системи детальну інформацію про фрагменти повного збігу, що говорить про часткову невідповідність поставленого завдання. Незважаючи на той факт, що обчислення відстані Левенштейна для всього тексту не є ефективним для визначення запозичень, варто відзначити доцільність застосування алгоритмів обчислення відстані між рядками для окремих елементів порівнюваних тестів.
Проте, ідея обчислення відстані редагування і відстані Левенштейна лежить в основі багатьох відомих алгоритмів. До їх числа відносяться описані в розділі 'Алгоритми пошуку спільних підпослідовностей' алгоритми Вагнера і Фішера, Мазек і Патерсона, Укконен, Хіршбергом, Ханта-Шиманського.
2.7 Алгоритми нечіткого пошуку
Технології нечіткого пошуку дозволяють позбутися від необхідності дотримання повної тотожності між порівнюваними об'єктами. Алгоритми нечіткого пошуку дозволяють знайти всі лексикографічно близькі слова, що відрізняються замінами, пропусками і вставками символів.
В даний час широке застосування знайшли як класичні алгоритми, засновані на обчисленні відстані між рядками (к-незбігів і до-відмінностей Лапдау-штата (Landaii-Vishkin)), так і алгоритми асоціативного пошуку
схожих слів, засновані на аналізі ланцюжків символів слова. Загальні витрати часу для алгоритму к-незбігів Ландау-Вішкіна, що включають попередню обробку шаблону і аналіз тексту, дорівнюють . У той час як для алгоритму до відмінностей Ландау-Вішкіна загальний час становить С * (к * n) для алфавітів фіксованого розміру і для необмежених алфавітів.
Як зазначено в роботі технології нечіткого пошуку найбільш ефективні і доцільні в застосуванні при пошуку друкарських помилок в словах, а також у випадках, коли правильність написання викликає сумніви. Можна зробити припущення, що людина, незаконно використовує фрагмент чужого твору, навряд чи буде вносити орфографічні помилки, щоб зробити менш помітним плагіат. Порушник скоріше стане змінювати структуру пропозиції, замінювати часто використовувані слова на синоніми, міняти пропозиції та абзаци місцями. А при всіх описаних змінах методи нечіткого пошуку не можуть бути ефективним інструментом для виявлення плагіату.
Розділ 3. Вибір методу пошуку текстових документів з запозиченнями
Якщо говорити про методи виявлення нечітких дублікатів, то всі їх можна розділити на два великі класи. Алгоритми, які використовують певні знання всієї розглянутої колекції документів, ми будемо називати глобальними, в іншому випадку - локальними.
Під 'колекцією документів' ми будемо мати на увазі набір текстів файлів. Для того, щоб оцінювати ефективність методів, введемо два параметри точність і повнота.
Точність - здатність системи видавати в списку результатів тільки документи, дійсно є дублікатами. Обчислюється за формулою:
precision = a / a + b (3.1)
де a - кількість знайдених пар дублікатів, співпадаючих с релевантними парами; b - кількість знайдених пар дублікатів, не збігаються з релевантними парами.
Повнота - здатність системи знаходити дублікати, але не враховувати кількість помилково певних недублікатов.
recall = a / a + c (3.2)
де a - кількість знайдених пар дублікатів, співпадаючих з релевантними парами; c - кількість не віднайдений пар дублікатів, співпадаючих з релевантними парами.
3.1 Локальні методи
Розглянемо, для початку, локальні алгоритми. Основна ідея таких методів зводиться до синтаксичному аналізу документа. На основі цього аналізу документу ставиться у відповідність певна кількість сигнатур.
3.1.1 LongSent
Найпростішим прикладом може служити алгоритм, який обчислює хеш-функцію (MD5, SHA-2, CRC32) від конкантенації двох найдовших пропозицій в документі. Це і буде є його сигнатурою. Точність такого алгоритму досить велика, але він володіє істотною вадою в безпеці. Такий алгоритм легко обдурити. Досить відкоригувати всього лише два найдовших пропозиції.
3.1.2 Методи на основі заходи TF
Більш ефективним способом знаходження нечітких дублікатів може стати метод, заснований на поняття TF (term frequency - частота слова).
TF - відношення числа входження деякого слова до загального кількістю слів документа.
Таким чином оцінюється важливість слова в межах окремого
документа. Для кожного слова в документі обчислюється його вага, равний відношенню числа входження цього слова до загальної кількості слів документа.
Далі зчіплюються n упорядкованих слів з найбільшим значенням ваги і обчислюється хеш-функція. Такий підхід дозволяє поліпшити ситуацію, але для вирішення реальних завдань цей спосіб не підходить.
3.1.3 Методи, які використовують поняття шинглів
Один з перших методів, який був застосований на практиці (компанією AltaVista), грунтувався на поняття шинглів. Даний підхід був запропонований A. Broder.
Документ представлявся у вигляді послідовності перекриваються подстрок певної довжини. Візуально це зображено на Рис.3.1:
Рис. 3.1 Розбиття на шингли
Такі підрядки були названі шинглами. В якості запобіжного ідентичності двох документів використовувався той факт, що схожі документи мають істотну кількість однакових шинглів.
Щоб досягти більш ефективних показників, при порівнянні таких множин для кожного шингли обчислювалася хеш-функція. Оскільки число шинглів в документі приблизно дорівнює довжині самого документа, автором було запропоновано кілька модифікацій алгоритмів, що дозволяють зменшити обчислювальну трудомісткість завдання.
Спочатку був використаний метод, що вибирає тільки ті шингли, чиї хеш-значення ділилися без залишку на деяке число m. У свою чергу, для документів малої довжини такий підхід не годився, оскільки вибірка могла виявитися дуже маленькою або взагалі порожній.
Другий спосіб визначав обмежене число шинглів s з найменшими значеннями хеш-функцій або залишав всі, якщо їх кількість не перевищувала s. Деякий час по тому ідею цього методу стали розвивати D. Fetterly і основоположник A. Broder, яким вдалося значно модифіковані та вдосконалити її. У своїх працях вони запропонували за допомогою взаємно-однозначних і незалежних функцій (min-wise independent) обчислювати 84 хеш-значення для кожного шингли. У підсумку, документ був представлений у вигляді 84 шинглів, які мали мінімальне хеш-значення з обчислених 84 min-wiseindependent функцій. Всі 84 шингли ділилися на 6 груп, кожна з якої складалася з 14 незалежних шинглів. Ці групи згодом отримали назву супершінглів.
На практиці даний метод продемонстрував, що для визначення нечітких дублікатів вистачало збігів мінімум двох супершінглів.
Це означало, що для найкращого пошуку збігів як мінімум двох супершінглів документ був представлений різними попарними сполуками з 6 супершінглів. Такі групи стали називатися 'мегашінглів'.
Загальна кількість мегашінглів становить 15. Відповідно до даного методу виявлення майже дублікатів документи є між собою ідентичними, якщо у них збігається мінімум один мегашінглів.
3.1.4 MinHash метод
MinHash є різновидом Locality-sensitive hashing (LSH) алгоритму. Його основна ідея полягає у визначенні сімейства хеш-функцій (3.3).
Сімейство таких хеш-функцій утворює систему LSH для функції близькості sim (x, y), якщо:
(3.3)
Під 'функцією близькості' тут розуміємо якусь функцію, ставлячи щую у відповідність двом об'єктам число від 0 до 1, де 0 означає, що об'єкти абсолютно не схожі, а 1 - вони повністю збігаються.
Не всі функції близькості відповідають вищенаведеним властивості.
Однак частина вельми корисних і застосовних на практиці це виконують. Однією з такої функцій (3.4) є коефіцієнт Жаккарда:
(3.4)
В якості множин A і B можуть служити ті ж шингли або який-небудь інший заздалегідь визначений терм (нормалізоване слово).
З LSH і сімейством хеш-функцій тісно пов'язане таке поняття, як min-wiseindependent permutations. Нехай є деяка безліч простих чисел від 1 до N
E = (1. N)
Будемо розглядати перестановки Р: E > E. Підмножина K таких перестановок називатимемо min-wise independent permutations, якщо виконується умова (3.5):
(3.5)
Очевидно, що всілякі перестановки Р задають min-wise independent permutations, але нас вони не цікавлять, бо їх кількість занадто велике - для цього нам потрібні додаткові обчислення. Тому ми будемо розглядати саме невелику підмножину K таких перестановок, що задовольняють умові. Такі min-wise independent permutations функції задають функцію близькості для системи LSH (3.6). Наступні математичні викладки доводять це:
(3.6)
Ідея алгоритму MinHash полягає у виборі мінімального значення, обчисленого для кожного елемента множини значення всіх min-wise independent permutations функцій. Для визначення, того чи є один документ дублікатом або нечітким дублікатом іншого документа, буде потрібно обмежене число операцій порівняння незалежно від розмірів самих документів.
3.1.5 Методи, які використовують семантичні мережі
Також цікавим підходом є використання семантичної мережі. Завдання визначення факту запозичення зводиться до порівняння моделей, що відображають смислове навантаження текстів. Аналіз ведеться з використанням алгоритмів на графах, модифікованих і оптимізованих для застосування в рамках даного завдання.
Використання схем аналізу даних в цьому методі може дозволити виявляти факт запозичення, навіть якщо оригінал був певним чином модифікований (виконаний переклад, слова були замінені на синоніми, текст був викладений з використанням іншої лексики і т.д.).
3.2 Глобальні методи
3.2.1 Методи на основі з TF-IDF
Подальший розвиток методу, що використовує міру TF, став алгоритм, який аналізує документи всієї колекції. У ньому використовуються міра TF-IDF. IDF (inverse document frequency - зворотна частота документа) інверсія частоти, з якою деяке слово зустрічається в документах колекції (3.7)
(3.7)
де | D | - кількість документів в колекції; | di ti | - кількість документів, в яких зустрічається терм ti.
Вага широко уживаних слів можна скоротити при обліку IDF, тобто міра TF-IDF складається з добутку TF і IDF. У міру TF-IDF більшу вагу буде у тих слів, які часто використовувалися в одному документі і рідше - в іншому.
Відповідно, при обчисленні ваги для кожного терма, алгоритм використовує формулу TF * IDF.
Після цього в рядок в алфавітному порядку упорядковано 6 слів, які мають найбільше значення ваги. Контрольна сума CRC32 отриманого рядка обчислюється в якості сигнатури документа.
Існують різні модифікації формули обчислення ваги слова. У пошукових системах широко відомо сімейство функцій BM25. одна з поширених форм цієї функції (3.8) наведена нижче
(3.8)
де f (qi, D) - це частота слова qi в документі D, | D | - це довжина документа (кількість слів у ньому), а avgdl - середня довжина документа в колекції. k1 і b - вільні коефіцієнти, зазвичай їх вибирають як k1 = 2.0 і b = 0.75. IDF (qi) - зворотна документна частота слова qi.
3.2.2 I-Match метод
Ще один сигнатурний метод в 2002 році запропонував A. Chowdhury. Ідея підходу теж полягала на знанні всієї колекції документів. Запропоновану методику автор удосконалив в 2004 році. Ключова ідея даного методу грунтувалася на обчисленні дактілограмми I-Match для демонстрації змісту документів.
Спочатку для вихідної колекції документів будувався словник L, який включає слова з середніми значеннями IDF. Саме вони дозволяли домогтися найбільш точних показників при виявленні нечітких дублікатів.
Відкидалися при цьому ті слова, які мали великі і маленькі значення IDF. Після цього для кожного документа створювалося безліч U різних слів, що складаються в ньому, і вираховувати перетин U і словника
L. Експериментальним методом обчислювався мінімальний поріг і якщо розмір перетину перевищував його, то список входять до перетин слів впорядковувати. Далі потрібно порахувати I-Match сигнатуру (хеш-функція SHA1). Отже, тут ми бачимо наступну ситуацію: два документи будуть вважатися однаковими, якщо у них співпадуть I-Match сигнатури. На відміну від алгоритму, запропонованого A. Broder., Даний метод має більший потенціал.
Він демонструє значно поліпшену обчислювальну здатність. Знову ж, якщо порівнювати з алгоритмом A. Broder, ще однією перевагою на користь цього алгоритму стає те, що він значно ефективніше проявляє себе при порівнянні невеликих за обсягом документів.
На жаль, у даного алгоритму є і свій недолік - при невеликій зміні змісту він показує свою нестійкість. Щоб виключити даний недолік, автори вирішили піддати алгоритм зміни та вдосконалити його. Була запропонована нова техніка багаторазового випадкового перемішування основного словника.
Суть модифікацій полягає в наступному: до основного словника L створюються K різних словників L1-LK, які утворюються шляхом випадкового видалення з початкового словника певної закріпленої частини p слів. Ця невелика група p слів становить приблизно 30% - 35% від початкового об'єму L. Для кожного документа замість однієї, обчислюється (K +1) I-Match сигнатур за алгоритмом, який описаний вище. Виходить, що документ демонструється як вектор розмірності (K +1). У такому випадку два документа між собою будуть вважатися однаковими, якщо одна з координат у них збігається. На практиці, в якості самих оптимальних значень параметрів добре зарекомендували себе такі показники: p = 0.33 і K = 10. Даний алгоритм продемонстрував ефективну здатність фільтрації спаму при використанні в додатках веб-пошуку.
3.2.3 Метод опорних слів
Існує ще один спосіб виявлення майже дублікатів, заснований-ний на сигнатурному підході.
Даний метод теж полягає у використанні лексичних принципів, тобто на основі словника. Метод був запропонований С. Ільїнським та ін. і отримав назву - метод 'опорних' слів. Розглянемо більш детально принцип даного алгоритму. Спочатку з індексу за правилом, описаному нижче, ми вибираємо безліч з N слів, званих 'опорними'. У даному випадку, N визначається експериментально. Надалі, кожен документ виглядає N-мірним двійковим вектором, в якому i-а координата дорівнює 1, якщо i-ті'Опорне' слово має в документі відносну частоту вище певного порогу (що встановлюється окремо для кожного 'опорного' слова) і дорівнює 0 у противному випадку. Цей двійковий вектор і є сигнатурою документа.
Відповідно, два документи вважаються ідентичними при співпадінні сигнатур.
При побудові безлічі 'опорних' слів використовуються наступні міркування:
1. Безліч слів повинно охоплювати максимально можливе число документів. 2. Кількість слів у наборі має бути мінімальним. 3. При цьому 'якість' слова має бути максимально високим.
Розглянемо принцип побудови безлічі алгоритму і вибір порогових частинок. Припустимо 'частота' - це нормована всередині документної частота слова в документі TF, яка знаходиться в діапазоні 0.1, одиниця в даному випадку буде відповідати найбільш частого слову в документі TF.
Розподіл документів по даній внутрідокументної 'частоті' будується для кожного слова одноразово.
Розглянемо кілька етапів, кожен з яких складається з двох фаз. У першій фазі збільшується покриття документів в індексі при фіксованій (обмеженої знизу) точності. У другій фазі вже збільшується точність при фіксованому покритті. У даному випадку точність буде максимально високою, якщо повторення слова в дельта-окрузі значення відносної частоти мінімально.
Частота, яка має найбільшу точність, отримала назву порогової. Поетапно упорядковано самі невідповідні слова, а коли настає остання стадія, то залишаються тільки групи слів, яких достатньо для забезпечення якісного покриття. Виходить, що завдяки цьому алгоритму, можна відфільтрувати кілька тисяч слів і залишити тільки 3-5 тисяч.
3.3 Порівняння методів знаходження нечітких дублікатів
За основу оцінки ефективності розглянутих алгоритмів візьмемо результат експерименту, проведений в статті [2]. У ній в якості досліджуваної колекції документів була взята база веб-сайтів Роміна обсягом близько 500 000 документів. Перед прогоном колекції через кожен алгоритм, всі документи піддавалися препроцессінгу - очищення від html тегів, видаленню стоп-слів, знаків пунктуації та іншої інформації, що не несла інформаційний характер.
У таблиці 3.1 наведені результати експерименту з роботи:
Таблиця 3.1. Результати експерименту
У роботі, що використовує семантичну мережу для виявлення дублікатів, на жаль, не наводиться чисельних результатів, але вдається зрозуміти, що швидкість роботи залишає бажати кращого. Це пов'язано з застосованим там алгоритму знаходження ізоморфності графів, який є NP-повною завданням. Єдиний з розглянутих алгоритмів, який здатний показати які саме частини контенту документа були запозичені і звідки, є перший алгоритм на основі простих шинглів.
Виходячи з поставлених критеріїв і наведених результатів експерименту, нами було вибрано алгоритм на основі шинглів. На основі цих алгоритмів планується розробити систему, яка здатна задовольнити вимогам поставленого завдання.
Розділ 4. Розробка програмного забезпечення
4.1 Етап роботи алгоритму шинглів для веб-документів
Етапи через які проходить текст, що піддався порівнянні:
канонізація тексту;
розбиття на шингли;
обчислення хешей шинглів за допомогою 84х статичних функцій;
випадкова вибірка 84 значень контрольних сум;
порівняння, визначення результату.
1. канонізація тексту.
Канонізація тексту призводить оригінальний текст до єдиної нормаль-ної формі. Текст очищається від прийменників, спілок, розділових знаків, HTML тегів, і іншого не потрібного 'сміття', який не повинен брати участь в порівнянні (Рис. 4.1.). У більшості випадків так само пропонується видаляти з тексту прикметники, так як вони не несуть смислового навантаження.
З канонізацію тексту можна експериментувати і експериментувати, простір для дій тут широкий. На виході маємо текст, очищений від 'сміття', і готовий для порівняння.
Рис. 4.1 Канонізація тексту
2. Розбиття на шингли
Шингли (англ) - лусочки, виділені зі статті послідовності слів.
Необхідно з порівнюваних текстів виділити підпослідовності слів, що йдуть один за одним по 10 штук (довжина шингли). Вибірка відбувається внахлест, а не встик. Таким чином, розбиваючи текст на підпослідовності, ми отримаємо набір шинглів в кількості рівній кількості слів мінус довжина шингли плюс один.
Дії по кожному з пунктів виконуються для кожного з порівнюваних текстів (Рис.4.2)
Рис. 4.2. Розбиття на шингли
3. Обчислення хешей шинглів за допомогою 84х статичних функцій.
Принцип алгоритму шинглів полягає в порівнянні випадкової вибірки контрольних сум шинглів (підпослідовностей) двох текстів між собою.
Проблема алгоритму полягає в кількості порівнянь, адже це безпосередньо позначається на продуктивності. Збільшення кількості шинглів для порівняння характеризується ростом операцій, хто критично відіб'ється на продуктивності. Пропонується представити текст у вигляді набору контрольних сум, розрахованих через 84х унікальні між собою статичні хеш функції. Для кожного шингли розраховується 84 значення контрольної суми через різні функції (наприклад SHA1, MD5, CRC32 і т.д., всього 84 функції).
Тому кожен із текстів буде представлений, можна сказати, у вигляді двовимірного масиву з 84х рядків, де кожен рядок характеризує відповідну з 84х функцій контрольних сум (Рис.4.3).
З отриманих наборів будуть випадковим чином відібрані 84 значення для кожного з текстів і порівняні між собою відповідно функції контрольної суми, через яку кожен з них був розрахований.
Таким чином, для порівняння буде необхідно виконати всього 84 операції.
Рис. 4.3 Обчислення контрольних сум шинглів
4. Випадкова вибірка 84 значень контрольних сум
Як я описувалося вище, порівнювати елементи кожного з 84х масивів між собою - ресурсомісткість. Для збільшення продуктивності виконаємо випадкову вибірку контрольних сум для кожної з 84х рядків двовимірного масиву, для обох текстів (Рис.4.4).
Отже, на виході маємо набір з мінімальних значень контрольних сум шинглів для кожної з хеш функцій.
Рис. 4.4 Випадкова вибірка шинглів для порівняння
5. Порівняння, визначення результату
І останній етап - порівняння. Порівнюємо між собою 84 елемента першого масиву з відповідними 84ю елементами другого масиву, вважаємо ставлення однакових значень, з цього отримуємо результат (Рис.4.5).
Рис.4.5 Отримання результату
4.1 Обгрунтування вибору засобів розробки
При розробці програмного забезпечення використовувався Denwer третьої версії.
Денвер (джентльменський набір Web-розробника) - набір дистрибутивів і програмна оболонка, призначені для створення та налагодження сайтів (веб-додатків, іншого динамічного вмісту інтернет-сторінок) на локальному ПК (без необхідності підключення до мережі Інтернет) під управлінням ОС Windows.
У базовий пакет Денвера входить:
Веб-сервер Apache з підтримкою SSI, SSL, mod_rewrite, mod_php.
Інтерпретатор PHP з підтримкою GD, MySQL, SQLite.
СУБД MySQL з підтримкою транзакцій (mysqld-max).
Система управління віртуальними хостами, заснована на шаблонах.
Система управління запуском і завершенням.
Панель phpMyAdmin для адміністрування СУБД.
Ядро інтерпретатора Perl без стандартних бібліотек (поставляються окремо).
Емулятор sendmail і сервера SMTP з підтримкою роботи спільно з PHP, Perl, arser та ін.
Установник.
Відразу після установки доступний повністю працюючий веб-сервер Apache, що працює на локальному комп'ютері, на якому може працювати необмежена кількість сайтів, що дуже ефективно для розробки та налагодження сценаріїв PHP без завантаження його файлів на віддалений сервер. Для запуску практично всіх утиліт 'Денвера' використовується додаток Run в підкаталозі / denwer (або / etc) кореневого каталога установки 'Денвера'. При запуску створюється віртуальний диск (за замовчуванням Z:), де зберігаються всі файли проектів.
У нього входять:
PHP (англ. PHP: Hypertext Preprocessor - 'PHP: препроцесор гіпертексту', 'Інструменти для створення персональних веб-сторінок') - скриптова
мова програмування загального призначення, інтенсивно застосовується для розробки веб-додатків. В даний час підтримується переважною більшістю хостинг-провайдерів і є одним з лідерів серед мов програмування, що застосовуються для створення динамічних веб-сайтів.
Популярність в області побудови веб-сайтів визначається наявністю великого набору вбудованих засобів для розробки веб-додатків.
Основні з них:
Автоматичне витяг POST і GET-параметрів, а також змінних оточення веб-сервера в зумовлені масиви;
Взаємодія з великою кількістю різних систем управління базами даних (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape і Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB + +, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Інтерфейс
PDO);
Автоматизована відправка HTTP-заголовків;
Робота з HTTP-авторизацією;
Робота з cookies і сесіями;
Робота з локальними і віддаленими файлами, сокетами.
Обробка файлів, що завантажуються на сервер;
Робота з XForms;
В даний час PHP використовується сотнями тисяч розробників. Згідно з рейтингом корпорації TIOBE, що базується на даних пошукових систем, в квітні 2011 року PHP знаходився на 5 місці серед мов програмування. До найбільших сайтів, які використовують PHP, відносяться Facebook, Вконтакте, Wikipedia та ін
Входить в LAMP - поширений набір програмного забезпечення для створення веб-сайтів (Linux, Apache, MySQL, PHP).
4.3 Реалізація алгоритму шинглів
В алгоритмі шинглів реалізовано порівняння контрольних сум текстів. У своїй реалізації я використовую CRC32, але застосовні й інші, наприклад SHA1 або MD5 і т.д. Як відомо, контрольні суми статичних функцій дуже чутливі до змін. Наприклад, контрольні суми двох наступних текстів будуть докорінно відрізнятися:
Текст: 'My war is over.' Контрольна сума: 1759088479
Текст: 'My war is over!' Контрольна сума: - 127 495 474
Відмінність другої фрази від першої полягає всього лише в знак оклику в кінці фрази, але як бачимо, контрольні суми абсолютно різні. При пошуку запозичення нас не цікавлять всякі там знаки оклику, крапки, коми і т.д. Нас цікавлять тільки слова (не союз, прийменники і т.д., а саме слова). Отже, ставиться завдання: очистити текст від непотрібних нам знаків і слів, які не несуть сенсу при порівнянні, це і називається 'привести текст до канонічної формі'. Необхідно створити набір символів, які потрібно виключити з обох текстів, тобто приведення його до форми, придатної для нашого порівняння.
Для цього необхідно визначити набори стоп-слів і стоп-символів.
var $stopSymbols = array ('. ',',','!','?',': ','; ','-','n','r',' (',')');
У стоп-символи ми включили розділові знаки, знаки переносу рядка і табуляції. У стоп-слова ми включили спілки, прийменники та інші слова, які при порівнянні не повинні впливати на результат.
var $stopWords = array ('это', 'как', 'так', 'и', 'в', 'над', 'к', 'до', 'не', 'на', 'но', 'за', 'то', 'с', 'ли', 'а', 'во', 'от', 'со', 'для', 'о', 'же', 'ну', 'вы', 'бы', 'что', 'кто', 'он', 'она');
Створимо функцію, яка буде виробляти канонізацію тексту:
function canonize ($text)
{
$text = str_replace ($this->stopSymbols, null, $text);
$text = strtolower (eregi_replace (' +', '', $text));
$words = explode ('', $text);
foreach ($words as $i => $word)
{
if (in_array (strtolower ($word), $this->stopWords))
$words = array_remove ($word, $words);
}
return implode ('', $words);
}
Функція canonize очищає текст від стоп-символів і стоп-слів, призводить всі символи рядка до нижнього регістру і повертає список, що залишилися після чищення слів. Приведення тексту до єдиної канонічної формі не обмежена діями, описш вище. Можна, наприклад, кожне з іменників приводити до єдиного числа, називному відмінку і т.д., для цього потрібно підключати морфологічні аналізатори російської мови (або інших мов, де необхідні ці дії). Отже, тексти у нас очищені від усього зайвого. Тепер необхідно розбити кожен з них на підпослідовності - шингли. На практиці я застосовую підпослідовності довжиною в 10 слів. З виділених нами шинглів далі будуть перебувати контрольні суми.
Розбиття на шингли відбуватиметься внахлест через одне слово, а не встик, тобто, маємо текст: 'Розум дано людині для того, щоб він розумно жив, а не для того тільки, щоб він розумів, що він нерозумно живе.' © В.Г. Бєлінський. Після обробки нашої функцією текст прийме наступний вигляд: розум даний людині того щоб розумно жив того тільки щоб розумів нерозумно живе.
Це і є канонічна форма. Тепер потрібно розбити її на шингли довжиною в 10 слів. Так як шингли складаються внахлест, то всього шинглів len (source) - (shingleLen-1), тобто кількість слів у тексті мінус довжина шинглів плюс 1.
Шингли будуть виглядати наступним чином:
Sh1 = розум даний людині того щоб розумно жив того тільки щоб
Sh2 = дано людині того щоб розумно жив того тільки щоб розумів
Sh3 = людині того щоб розумно жив того тільки щоб розумів нерозумно
Sh4 = того щоб розумно жив того тільки щоб розумів нерозумно живе
Так як нас цікавить саме контрольні суми шинглів, то пишемо функцію. Ми будемо використовувати алгоритм хешування CRC32.
function shingle ($text)
{
$result = array ();
$words = explode ('', $text);
for ($i = 0; $i <= count ($words) - $this->length; $i++)
{
$currentShingle = array ();
for ($j = 0; $j < $this->length; $j++)
{
array_push ($currentShingle, $words [$i + $j]);
}
$shingledText = implode ('', $currentShingle);
array_push ($result, crc32 ($shingledText));
}
return $result;
}
}
Таким чином, через нашу функцію потрібно прогнати 2 порівнюваних тексту і ми отримаємо 2 безлічі контрольних сум шинглів, тепер необхідно знайти їх перетину (Рис.4.3.5).
function compare ($textA, $textB)
{
$shinglesA = $this->shingle ($this->canonize ($textA));
$shinglesB = $this->shingle ($this->canonize ($textB));
$matches = 0;
foreach ($shinglesA as $shingle)
{
if (in_array ($shingle, $shinglesB))
$matches++;
}
return 2 * 100 * $matches / (count ($shinglesA) + count ($shinglesB));
}
4.4 Інтерфейс взаємодії з користувачем
Для зручної перевірки документів на наявність запозичень був розроблено зручний веб-інтерфейс, який був впроваджений в електронну бібліотеку навчальних закладів. Доступ до нього користувач отримує тільки адміністратор бібліотеки. У системі існує два типи ролей: адміністратор і гість. Адміні
стратору належать права на перегляд, створення, редагування та видалення для всіх об'єктів у реалізованої системі, а також сама перевірка документа. Роль гостя - перегляд пошук і перегляд документів. Користувач, що пройшов аутентифікацію, потрапляє на головну сторінку веб-сайту На ній надається основна можливість реалізованої системи - перевірка документа на запозичення.
Користувачеві пропонується вибрати текстові документи для перевірки на запозичення. Після чого програма автоматично обробляє і порівнює текст. В результаті відповідь виходить у вигляді процентного співвідношення схожості документів
Розділ 5. Охорона праці та безпека в надзвичайних ситуаціях
Дослідження умов зорової роботи оператора ПЕОМ
Аналіз стану питання. З колосальним розвитком інформаційних ресурсів в останні роки стає абсолютно очевидним прямя шкода, яку завдають здоров'ю людини екранами телевізорів, моніторами комп'ютерів та інших пристроїв для роботи і читання. І найбільш вразливим у цьому випадку є зір, проблеми якого виникають прямо пропорційно часу, проведеному у дисплея.
Тривалий зоровий контакт з монітором, нехай навіть самого останнього покоління, має ряд згубних побічних явищ для здоров'я, пов'язаних з неминучим миготінням дисплея, як правило, не сприйманим візуально, але чітко вловлює оком. І часті головні болі, підвищена стомлюваність, дратівливість цілком можуть бути наслідком використання екранів самих різних моделей і типів [3].
Але найбільш тривожною стає ця ситуація з урахуванням того, що заходи безпеки при роботі з моніторами широко відомі. Часто ми зустрічаємо застереження від можливих проблем, наукові винаходи професійних офтальмологів, спеціальну літературу та інші джерела, підносить інформацію самим детальним і популярним чином. І, разом з тим, ми стаємо свідками поширення очних захворювань, що носять масовий характер. У чому ж причина подібного легковажного ставлення, відповісти складно, але від цього небезпека, на жаль, не знижується.
В процесі роботи операторові персонального комп'ютера доводиться мати справу із зображеннями на екрані монітора [4]. Читання тексту, таблиць, графіків з екрана відрізняється від читання тієї ж інформації з аркуша паперу з кількох причин:
по-перше, при роботі з дисплеєм користувач цілком залежить від положення дисплея, тоді як при читанні друкарської продукції можна легко знайти положення аркуша для найбільш комфортного сприйняття інформації;
по-друге, екран, будучи джерелом світла, вважається приладом активного контрасту, тоді як при читанні з аркуша паперу ми маємо справу з відображеним текстом, тобто з пасивним контрастом, який меншою мірою залежить від інтенсивності освітлення і кута падіння світлового потоку на папір;
по-третє, текст на папері є незмінним, а текст на екрані періодично оновлюється в процесі сканування електронного променя по поверхні екрана. Достатньо низька частота оновлення викликає мерехтіння зображення (даний аспект розглядатиметься далі);
по-четверте, монітор надовго приковує до себе увагу оператора, що є причиною тривалої нерухомості очних і внутрішньоочних м'язів, в той час як вони потребують динамічного режиму роботи. Це призводить до їх ослаблення;
по-п'яте, тривала робота з персональним комп'ютером вимагає підвищеної зосередженості, що призводить до великих навантажень на зорову систему користувача. Розвивається зорове стомлення (зорова астенопія), яка сприяє виникненню короткозорості, головного болю, дратівливості, нервової напруги і стресу.
Наведені вище особливості зображень на екрані дисплея, а також характер роботи оператора значною мірою впливають на ступінь стомлюваності зорового апарату.
Саме тому незайвим було б знову і знову попередити про можливі проблеми настільки дорого подарунка самої природи - зору, а також необхідні заходи щодо його захисту, серед яких можна назвати регулярне відвідування окуліста, грамотну та детальну діагностику, дотримання часових рамок і дальності розташування біля екранів, застосування оздоровчої гімнастики для очей, періодичну зміну діяльності протягом дня, прогулянки на свіжому повітрі, збалансоване харчування і, що найбільш важливо, відповідальне усвідомлення свого завдання зберегти ясність і чіткість зору на довгі-довгі роки.
Постановка задачі дослідження. Сучасне застосування ПК на робочих місцях різного призначення привернуло увагу до цілого ряду фактів негативного впливу на здоров'я, які пов'язані або вважаються пов'язаними саме з роботою на комп'ютері. Основне навантаження при цьому припадає на зір, оскільки при роботі з монітором очі втомлюються значно швидше, ніж при будь-яких інших видах роботи. Тому має сенс докладніше зупинитися на медичних аспектах впливу роботи за комп'ютером на зір оператора, а також на вимогах до моніторів і характеристиках зображення на екрані. Дана тема є актуальною, так як у даний час на підприємствах часто не дотримуються необхідних заходів для усунення небезпечних і шкідливих виробничих факторів при роботі з ПК, що знижує якість роботи персоналу і гальмує розвиток охорони праці на підприємстві в цілому.
Тому на основі проведеного аналізу в магістерській роботі необхідно виконати аналіз умов зорової роботи оператора ПЕОМ та визначити аспекти впливу роботи за комп'ютером на зір оператора, а також вимоги до моніторів і характеристик зображення на екрані.
Матеріали і результати дослідження. Дослідження, проведені в Україні і за кордоном в останні 40-50 років, свідчать про те, що здоров'я людей, що працюють з комп'ютером, піддається ризику з-за наявності небезпечних факторів [5].
Навантаження на органи зору у людини [6], робота якого пов'язана з комп'ютерами, виникає за рахунок роботи з монітором, на якому відображається дрібний текст програм, документів, а також за рахунок мерехтіння монітора.
Щоб зменшити навантаження на органи зору з боку монітора, необхідно застосовувати дисплеї з досить великим розміром екрана і частотою горизонтальної розгортки понад 70 Гц. Всі монітори повинні мати гігієнічний сертифікат, що включає, в тому числі оцінку візуальних параметрів. Конструкція дисплея, його дизайн і сукупність ергономічних параметрів повинні забезпечувати надійне та комфортне зчитування що відображається. Конструкція дисплея повинна забезпечувати можливість фронтального спостереження екрана шляхом повороту корпуса в горизонтальній площині навколо вертикальної осі в межах плюс-мінус 30 градусів і у вертикальній площині навколо горизонтальної осі в межах плюс-мінус 30 градусів з фіксацією в заданому положенні.
Основне навантаження на органи зору виникає від мерехтіння освітлення і від його нерівномірності. Мерехтіння освітлення виникає у люмінесцентних лампах при їх несправної роботі. Рівномірність освітлення залежить від правильності розташування світильників і від положення робочого місця оператора.
Приміщення з ПЕОМ повинні мати природне та штучне освітлення.
Природне освітлення повинно здійснюватися через світлові отвори орієнтовані переважно на північ і північний схід і забезпечувати коефіцієнт природної освітленості не нижче 1,2% у зонах зі стійким сніговим покривом і не нижче 1,5% на решті території. Розташування робочих місць з ПЕОМ в підвальних приміщеннях не допускається.
Штучне освітлення в приміщеннях експлуатації ПЕОМ повинне здійснюватися системою загального рівномірного освітлення. Допускається установка світильників місцевого освітлення для підсвічування документів. Воно неповинне створювати відблисків на поверхні екрану.
Як джерела світла при штучному освітленні рекомендується застосовувати люмінесцентні лампи типу ЛБ зі світильниками серії ЛПО36 з зеркалізованими гратами. Лампи розжарювання краще використовувати для місцевого освітлення зони робочого документа (клавіатури, книги, зошити).
У полі зору оператора повинна бути відсутнім прямі і відбиті відблиски. Для зниження відблисків необхідно:
використовувати для загального освітлення світильники з розсіювачами і екранують гратами, яскравість яких у зоні кутів випромінювання більш 50 градусів від вертикалі не повинно перевищувати 200 кд/м2;
використовувати для місцевого освітлення світильники з непросвічуючими відбивачами і захисним кутом не менше 40 градусів;
розміщувати робочий стіл так, щоб віконний проріз знаходився збоку
(краще ліворуч). При цьому дисплей повинен розташовуватися на поверхні столу праворуч або ліворуч від оператора;
розміщувати робочий стіл між рядами світильників загального освітлення;
використовувати дисплей, що має антиблікове покриття екрану або антибликовий фільтр.
Умови зовнішнього освітлення часто впливають на оцінку якості передачі кольору та інших параметрів відображення. Багато виробників, такі як Mitsubishi і Panasonic, борються із зовнішніми факторами, зменшуючи кривизну екрану, аж до створення абсолютно плоских екранів [17]. За даними Panasonic, в моделі PanaFlat PF70, що випускається цією компанією, відблиски в порівнянні з звичайними кінескопними зменшені на 87%. Є також ряд інших засобів, що дозволяють боротися із зовнішнім світом, - спеціальні багатошарові покриття і капюшони, такі як поставляються з моделями серії Electron компанії LaCie.
Умови роботи за монітором протилежні тим, які звичні для наших очей. У звичайному житті ми сприймаємо в основному відображене світло (якщо тільки не дивимося на сонце, зірки або штучні джерела освітлення), а об'єкти спостереження безперервно перебувають у полі нашого зору протягом хоча б декількох секунд. А от при роботі за монітором ми маємо справу з самосвітним об'єктами і дискретним (мерехтливим з великою частотою) зображенням, що збільшує навантаження на очі. Таким чином, характерною особливістю праці за комп'ютером є необхідність виконання точних зорових робіт на світному екрані в умовах перепаду яркостей в поле зору, наявність мигтіння, нестійкості і нечіткості зображення. Об'єкти зорової роботи знаходяться на різній відстані від очей користувача (від 30 до 70 см) і доводиться часто переводити погляд у напрямках екран - клавіатура - документація (згідно хронометражних даними від 15 до 50 разів на хвилину). Часта переадаптація очі до різних яскравість і відстаней є одним із головних негативних чинників при роботі з дисплеями. Несприятливим фактором світлового середовища є невідповідність нормативним значенням рівнів освітленості робочих поверхонь столу, екрану, клавіатури. Нерідко на екранах спостерігається дзеркальне відображення джерел світла та оточуючих предметів. Всі вище викладене ускладнює роботу і призводить до порушень основних функцій зорової системи. Відзначається швидке стомлення і затуманення зору, двоїння предметів. Комплекс виявлення порушень був охарактеризований фахівцями як 'професійна офтальмопатія' або астенопія - суб'єктивні зорові симптоми дискомфорту або емоційний дискомфорт, що є результатом зорової діяльності.
Частота прояву астенопії залежить від робочої ситуації, тривалості роботи за екраном і наявності у користувача порушень зору, очних хвороб чи спадкової схильності до таких. Зокрема, після досягнення 40-річного віку оператори повинні регулярно проходити офтальмологічне обстеження з огляду на ймовірності появи пресбіопії - старечої далекозорості, що сприяє виникненню або посилення зорового дискомфорту. Що стосується ризику появи міопії - короткозорості, то при дотриманні режиму праці та відпочинку вона, як правило, може виникнути або посилитися тільки в людей, спочатку до неї схильні.
Яскравість зображення (мається на увазі яскравість світлих елементів, тобто знака для негативного зображення та фону для позитивного) нормується для того, щоб полегшити пристосування ока до самосвітних об'єктів.
Обмежено також (у межах 25%) і коливання яскравості. Дослідження показали [4], що при більш високих рівнях освітленості екрану зорова система втомлюється швидше і більшою мірою.
До цих пір залишається спірним питання про те, що краще для зору: позитивне зображення (світлий екран і темні символи) або, навпаки, негативне зображення. І для того і для іншого варіанту можна привести доводи за і проти. Гігієністи вважають, однак, що якщо робота з ПЕОМ припускає одночасно і роботу з паперовим носієм - зошит, книга (тобто доводиться поперемінно дивитися на ділянки з позитивною і негативної полярністю), то краще і на екрані монітора мати темні символи на світлому фоні, щоб очам не доводилося постійно перебудовуватися. При виборі колірної гами перевагу слід віддавати зелено-блакитний частини спектру. Опитування серед студентів Московської медичної академії імені І.М. Сеченова, показало, що 66% користувачів віддають перевагу для тривалої роботи з відеотерміналом позитивному зображенню, в основному варіант 'блакитний екран - чорні символи'.
Досить часто чинником, що сприяє швидкого стомлення очей, стає і контраст між фоном і символами на екрані [8]. Зрозуміло, що мала контрастність ускладнює розрізнення символів, однак і занадто велика теж шкодить. Тому контраст повинен бути в межах від 3: 1 до 1,5:
1. Прибільш низьких рівнях контрастності у працюючих швидше наступали несприятливі зміни здатності фокусувати зображення і критичної частоти злиття світлового мигтіння, реєструвалося більше скарг на втому очей і загальну втому.
Гігієністами зазначено [12], що читання, в першу чергу у дітей, значно ускладнено і швидко приводить до стомлення, якщо літери мають незвичні химерні обриси. З цієї причини лікарі без ентузіазму відносяться до повального захоплення різноманітними шрифтами, особливо в освітні програми для дітей. Дослідження зору у школярів початкових класів показали, що при читанні тексту, набраного шрифтом більше складного малюнка, у дітей швидше падає швидкість читання, частіше відзначається зниження критичної частоти злиття світлового мелькання. ДСанПіН 3.3.2.007-1998 включає декілька параметрів, що визначають допустиму форму і розміри знака [3]. Зокрема, нормується відношення ширини знака до висоти (0,5-1,0, краще 0,7 - 0,9), тобто знаки не повинні бути ні занадто вузькими, ні занадто широкими.
Легкість для читання знижується, якщо растр зображення видно; збільшення матриці знака до 7 (9) підвищує легкість для читання. Оптимальна величина знаків диктується як достатніми для ідентифікації розмірами, так і тим, що знаки не повинні бути дуже великими, інакше при читанні занадто мало знаків потрапляє в поле зору. Оскільки яскравість, в принципі, змінюється при кожному пробігу скануючого променя, чіткість символів визначається крутизною зміни яскравості при перетині контуру символу.
Відбивна здатність екрану не повинна перевищувати 1%. Для зниження кількості відблисків і полегшення концентрації уваги корпус монітора повинен мати матову одноколірну поверхню (світло-сірий, світло-бежевий тону) з коефіцієнтом відображення 0,4 (0,6, без блискучих деталей і з мінімальним числом органів управління і написи на лицьовій стороні. Антиблікове покриття зменшує віддзеркалення зовнішнього світла від скляної поверхні екрану. Розрізняють декілька типів покриття: наприклад, спеціальне розсіююче світловий потік, гравірування екрану; більш ефективне кремнієве покриття, часто вживане в скляних фільтрах.
Зміна яскравості під час одного циклу регенерації може сприйматися як мерехтіння. Частота, при якій не спостерігається мерехтінь - частота злиття мерехтінь. Сприйняття мерехтіння залежить не тільки від частоти регенерації, але від низки інших параметрів, таких як яскравість екрана, освітленість приміщення, ступінь осциляції, контраст, а також від використання центрального чи периферичного зору і від індивідуальної чутливості. Мерехтіння негативно впливає на зоровий комфорт оператора і може викликати симптоми зорового стомлення. Оскільки сітківка ока змушена постійно перенастроюватися, видимі мерехтіння сприяють виникненню адаптаційної перевантаженню очей.
Деякі види люмінофора мають значну після свічення, тобто яскравість символів знижується дуже повільно, і вони сприймаються протягом декількох періодів регенерації після того, як відповідні пікселі вже більше не опромінюються. Таке явище значно знижує чіткість зображення; на моніторах з швидкими люмінофорами воно не спостерігається.
Допускається встановлення світильників місцевого освітлення для підсвічування документів. Місцеве освітлення не повинно створювати відблисків на поверхні екрану і збільшувати освітленість екрана понад 300 люкс. Дослідження фізіологів і гігієністів [7] переконливо довели, що і півтемрява, і занадто висока освітленість екрану призводять до швидкого зорового стомлення.
Екран відеомонітора повинен знаходиться від очей оператора на оптимальному відстані 600 - 700 мм, але не ближче 500 мм з урахуванням розмірів алфавітно-цифрових знаків і символів. Рівень очей при вертикальному розташуванні екрану ПЕОМ має припадати на центр або 2/3 висоти екрана. Лінія погляду повинна бути перпендикулярна центру екрана і оптимальне її відхилення від перпендикуляра, що проходить через центр екрану у вертикальній площині, не повинно перевищувати плюс-мінус 5 градусів (допустимий плюс-мінус 10 градусів).
Для захисту від прямих сонячних променів повинні передбачатися сонцезахисні пристрої (плівки з металізованим покриттям, жалюзі з вертикальними ламелями). Операторам і користувачам рекомендується видавати такі засоби захисту як комп'ютерні окуляри, захисні екрани 'повний захист', що пройшли випробування в акредитованих лабораторіях і мають відповідний гігієнічний сертифікат.
У випадках виникнення у працюючих з ПЕОМ зорового дискомфорту, незважаючи на дотримання санітарно - гігієнічних, ергономічних вимог, режимів праці та відпочинку слід застосовувати індивідуальний підхід в обмеження часу роботи з ПЕОМ, корекцію тривалості перерв для відпочинку або проводити зміну діяльності на іншу.
Під час роботи з метою забезпечення працездатності та збереження здоров'я слід робити регламентовані перерви [14]. Під час регламентованих перерв з метою зниження нервово-емоційної напруги, стомлення зорового аналізатора, доцільно виконувати комплекси вправ для очей. Вправи виконуються сидячи або стоячи, відвернувшись від екрану при ритмічному диханні, з максимальною амплітудою руху очей.
1. Закрити очі, сильно напружуючи м'язи очей, на рахунок 1-4, потім розкрити очі, розслабивши м'язи очей, подивитися в далечінь на рахунок 1 - 6, (повторити 4-5 разів).
2. Подивитись на перенісся і затримати погляд на рахунок 1-4. До втоми очі не доводити. Потім відкрити очі, подивитися вдалину на рахунок 1-6, (повторити 4-5 разів).
3. Не повертаючи голови, подивитись направо і зафіксувати погляд на рахунок 1-4, потім подивитися в далечінь прямо на рахунок 1-6. Аналогічним чином проводяться вправи, але з фіксацією погляду вліво, вгору і вниз, (повторити 3-4 рази).
4. Перенести погляд швидко по діагоналі: направо вгору - наліво вниз, потім прямо вдалину на рахунок 1-6, потім ліворуч-вгору - праворуч-вниз і подивитися вдалину на рахунок 1-6, (повторити 4-5 разів).
Висновки. У результаті виконаного дослідження виявлено, що комп'ютерні технології, будучи великим досягнення людства, мають негативні наслідки для здоров'я людей.
Так, при регулярній роботі за комп'ютером слід обзавестися екраном з високим ступенем дозволу зображення. Більше пікселів - краще для зору. Текст повинен мати хорошу контрастність, чорним по білому - залишається гарним вибором. Необхідно уникати темного фону. Встановлювати, як найменший за розміром шрифт, який можна прочитати. Робочий шрифт робити в 3 рази більше. Якщо для роботи не потрібно розрізнення кольорів, оптимальною є праця за чорно-білим монітором. Для кольорових моніторів крок апертурних граток бажано мати менше 0,28 мм. Підібрати оптимальний рівень контрасту, щоб букви було видно максимально чітко.
Для зниження збитку здоров'ю необхідне дотримання встановлених гігієнічних вимог до режимів праці та організації робочих місць. Гігієністами і фізіологами проведено безліч експериментів з вивчення працездатності, виявлення причин стомлення і виникнення патологічних відхилень у працюючих за ПЕОМ. Результати цих експериментів використовуються при розробці оптимальних режимів роботи.
Отже, працювати за комп'ютером можна. Але, щоб запобігти передчасному виходу з ладу свого організму, потрібні деякі знання і вольові зусилля.
Висновки
В процесі магістерської роботи на тему 'Дослідження засобів контролю присутності запозичень у текстових документах та створення програмного забезпечення для електронних бібліотек регіональних навчальних закладів' були вивчені і закріплені на практиці отримані навички за курс навчання.
Ціль яку було поставлено на початку роботи, а саме дослідження систем, методів і алгоритмів, що дозволяють проводити пошук запозичень в текстовій інформації було виконано. В ході якої було розроблене програмне забезпечення для пошуку запозичень в текстових документах розміщених в електронній бібліотеці регіональних навчальних закладах. Для досягнення мети були вирішені наступні завдання:
огляд програмних систем, що дозволяють проводити пошук запозичень в мережі Інтернет;
розробка методів і алгоритмів, що дозволяють здійснювати пошук запозичень в ЕВ;
програмна реалізація розроблених і запропонованих методів і алгоритмів пошуку запозичень в ЕВ;
Дана програма призначена для зручного користування всіма користувачами. Дозволяє ефективно знаходити запозичення в тексті.
Закріплення теоретичного матеріалу відбувається в ході вирішення поставленої задачі, розробка програми, тестування і відкладання системи.
Завершення магістерської роботи стало написання пояснювальної записки, при написанні якої, також були закріплені основні знання з написання звітів.
Список літератури
1. Бах А.О. Разработка эффективных алгоритмов поиска слов в текстах для построения методов сжатия данных. Диссертационная работа к. т. н.: 05.13.13, Новосибирск - 2002. - 214 с.
2. Гасов В.М., Крутояров Д. В, Метод сравнения текстовых документов, позволяющий выявлять совпадающие фрагменты // Проблемы полиграфии и издательского дела. - 2006 №4 - с, 92-104.
3. Гигиенические требования к видеодисплейным терминалам, ПЭВМ и организация работы. Санитарные нормы и правила / Госкомсанэпидемнадзор России. - М., 1996.
4. Горшков С.И. и др. Методика исследований в физиологии труда. - М.: Медицина, 1974. - 312 с.
5. Демирчоглян Г.Г. Дисплей: зрение и поза оператора // Вычислительная техника. - 1990. - № 3.
6. ДСанПіН 3.3.2.007-1998. Державні санітарні правила і норми роботи з візуальними дисплейними терміналами електронно-обчислювальних машин.
7. Ермаков А.Е. Проблемы полнотекстового поиска и их решение. // Мир ПК., №5, 2001
8. Касьянов Н.А., Харьковский Б.Т. Охрана труда пользователей персональных компьютеров: Учебн. пособие. - Луганск: Изд-во ВНУ, 1999 -
9. Крутояров Д.В. Автоматизированная система сравнения электронных изданий, опубликованных в сети Internet/Intranet // Вестник МГУП. - 2005 №11 (дополнительный). - с.84-87
10. Крутояров Д.В. О выборе метода анализа текстовой информации // Проблемы полиграфии и издательского дела. - 2006 №.3. - с.175 - 178
11. Леонтьев К.Б. Проблемы развития авторского права в современных технологических условиях. Диссертационная работа к. ю. н.: 12.00.03 - М., 2003. - 207 с.
12. Методические указания по профилактике переутомления студентов вузов при работе с видеотерминалами №4563-88. - М.: Минздрав СССР, 1988.
13. Мэгдайниер С. Защита интеллектуальной собственности на документы Б системе WWW.[Электронный ресурс]. - Электрон, дан. - Режим доступа: http://capri. ustu.ru/
14. Правила охорони праці при експлуатації електронно-обчислювальних машин. №382/3675 від 17.06.1999.
15. Погуляев В.В., Тулубьева Н.Ю. Нарушение авторских прав в сети Интернет. [Электронный ресурс]. - Электрон, дан. - Режим доступа: http://www.iuragent.ru
16. Федоренко Д.В. Автоматизированная система сравнения электронных изданий, опубликованных в сети Internet/Intranet // Вестник МГУП. - 2004 №5. - с.74-78
17. MPR 1990: 10 (MPR 11) Справочное руководство пользователя для оценки качества дисплеев. Шведский национальный комитет по измерениям и испытаниям (The National Board of Meggurement and Testing).
Додаток Б
Лістинг програми
<?
class Shingler
{
var $length;
var $stopSymbols = array ('. ',',','!','?',': ','; ','-','n','r',' (',')');
var $stopWords = array ('это', 'как', 'так', 'и', 'в', 'над', 'к', 'до', 'не', 'на', 'но', 'за', 'то', 'с', 'ли', 'а', 'во', 'от', 'со', 'для', 'о', 'же', 'ну', 'вы', 'бы', 'что', 'кто', 'он', 'она');
function Shingler ($length, $stopSymbols = false, $stopWords = false)
{
$this->length = $length;
if ($stopSymbols! = false)
$this->stopSymbols = $stopSymbols;
if ($stopWords! = false)
$this->stopWords = $stopWords;
}
function setStopWords ($stopWords)
{
$this->stopWords = $stopWords;
}
function getStopWords ()
{
return $this->stopWords;
}
function setStopSymbols ($stopSymbols)
{
$this->stopSymbols = $stopSymbols;
}
function getStopSymbols ()
{
return $this->stopSymbols;
}
function compare ($textA, $textB)
{
$shinglesA = $this->shingle ($this->canonize ($textA));
$shinglesB = $this->shingle ($this->canonize ($textB));
$matches = 0;
foreach ($shinglesA as $shingle)
{
if (in_array ($shingle, $shinglesB))
$matches++;
}
return 2 * 100 * $matches / (count ($shinglesA) + count ($shinglesB));
}
function canonize ($text)
{
$text = str_replace ($this->stopSymbols, null, $text);
$text = strtolower (eregi_replace (' +', '', $text));
$words = explode ('', $text);
foreach ($words as $i => $word)
{
if (in_array (strtolower ($word), $this->stopWords))
$words = array_remove ($word, $words);
}
return implode ('', $words);
}
function shingle ($text)
{
$result = array ();
$words = explode ('', $text);
for ($i = 0; $i <= count ($words) - $this->length; $i++)
{
$currentShingle = array ();
for ($j = 0; $j < $this->length; $j++)
{
array_push ($currentShingle, $words [$i + $j]);
}
$shingledText = implode ('', $currentShingle);
array_push ($result, crc32 ($shingledText));
}
return $result;
}
}
function array_remove ($val, &$arr)
{
$result = $arr;
for ($x = 0; $x < count ($result); $x++)
{
$i = array_search ($val, $result);
if (is_numeric ($i))
{
$left = array_slice ($result, 0, $i);
$right = array_slice ($result, $i + 1, count ($result) - 1);
$result = array_merge ($left, $right);
}
}
return $result;
}
$textA = ' ';
$textB = ' ';
$shingler = new Shingler (10);
echo $shingler->compare ($textA, $textB);
? >