Свежий Взгляд online
quittance.ru
документы
прочее
Свежий Взгляд online
   / некоторые подробности

Некоторые подробности реализации «Свежий Взгляд online»

Короткая история

Воз­мож­но, по­сто­ян­ные по­се­ти­те­ли на­ше­го сай­та уже за­ме­ча­ли, что од­ним из хро­ни­че­ских за­боле­ва­ний Ваше­го по­кор­но­го слу­ги яв­ля­ет­ся па­ро­ни­мия, вре­ме­на­ми до­хо­дя­щая до сте­пе­ни от­кро­вен­ной тав­то­ло­гии.

Неуди­ви­тель­но, что слу­чай­но об­на­ру­жен­ная про­грам­ма Дмит­рия Кир­са­но­ва «Све­жий Взгляд / Fresh Eye» сра­зу при­влек­ла к се­бе при­сталь­ное вни­ма­ние.

Све­жий Взгляд отыс­ки­ва­ет в тек­сте ме­ста, по­до­зри­тель­ные на пред­мет од­ной из са­мых рас­про­стра­нен­ных сти­ли­сти­че­ских по­греш­но­стей: рас­по­ло­жен­ных близ­ко по тек­сту фо­не­ти­че­ски и мор­фо­ло­ги­че­ски сход­ных слов, чей па­рал­ле­лизм ни­как не мо­ти­ви­ро­ван (так на­зы­ва­е­мая па­ро­ни­мия, или «не­ча­ян­ная тав­то­ло­гия»)…
Дмит­рий Кир­са­нов,
до­ку­мен­та­ция про­грам­мы «Све­жий Взгляд»

Про­грам­ма «Све­жий Взгляд» на­пи­са­на в 1995 го­ду и ис­поль­зу­ет мно­же­ство ар­ха­ич­ных ДОС-ори­ен­ти­ро­ван­ных вы­зо­вов, что не поз­во­ли­ло схо­ду со­брать её в совре­мен­ном ок­ру­же­нии.

Воз­ник­ла идея ре­а­ли­зо­вать ал­го­ритм на php и офор­мить в ви­де ин­тернет-сер­ви­са. Резуль­та­та­ми этой ра­бо­ты мож­но вос­поль­зо­вать­ся на стра­ни­це «Све­жий Взгляд online».

Таким об­ра­зом ре­ше­на и про­бле­ма «дру­же­ствен­но­сти ин­тер­фей­са», на ко­то­рую ав­тор ори­ги­наль­ной вер­сии ука­зы­ва­ет особо:

Автор пол­но­стью от­да­ет се­бе от­чет в том, что в те­пе­реш­нем сво­ем ви­де про­грам­ма Све­жий Взгляд про­из­во­дит впе­чат­ле­ние, мяг­ко го­во­ря, не­сколь­ко не­со­вер­шен­ной с точ­ки зре­ния «дру­же­ствен­но­сти ин­тер­фей­са»…
Дмит­рий Кир­са­нов,
до­ку­мен­та­ция про­грам­мы «Све­жий Взгляд»

Все ос­нов­ные функ­ции ал­го­рит­ма, та­кие как вы­чис­ле­ние сте­пе­ни «по­хо­же­сти» слов, бы­ли «пе­ре­ве­де­ны» с язы­ка Си на php прак­ти­че­ски бук­вально.

Алго­ритм про­хо­да по тек­сту пол­но­стью пе­ре­пи­сан на совре­мен­ном уровне, но ло­ги­ка и ма­те­ма­ти­ка ори­ги­наль­ной вер­сии в ос­нов­ном со­хра­не­ны. Спи­сок от­ли­чий при­ве­ден ниже.

Резуль­та­ты ра­бо­ты ал­го­рит­ма пре­взо­шли са­мые оп­ти­ми­стич­ные ожи­да­ния. Автор ори­ги­наль­но­го «Све­же­го Взгля­да» оце­ни­ва­ет до­лю по­лез­ных сра­ба­ты­ва­ний на уровне 20–30%, но эта субъ­ек­тив­ная оцен­ка ка­жет­ся нам силь­но за­ни­жен­ной. Так­же сто­ит от­ме­тить весь­ма удач­ный вы­бор зна­че­ний управ­ля­ю­щих па­ра­мет­ров по умол­ча­нию.

комментировать 11/05/2010

Отличия реализации «Свежий Взгляд online» от оригинала

Поиск ве­дет­ся толь­ко в пре­де­лах аб­за­ца. Если два по­хо­жих сло­ва на­хо­дят­ся в со­сед­них аб­за­цах, со­от­вет­ствие меж­ду ни­ми не бу­дет уста­нов­ле­но, как бы близ­ко друг к дру­гу эти два сло­ва не рас­по­ла­га­лись. Конец аб­за­ца опре­де­ля­ет­ся пе­ре­во­дом стро­ки. Для на­бо­ра ча­стот­но­го сло­ва­ря ис­поль­зу­ет­ся весь объ­ем тек­ста.

Ори­ги­наль­ная вер­сия про­грам­мы «Све­жий Взгляд» пы­та­ет­ся по ме­ре сил отыс­ки­вать в тек­сте име­на соб­ствен­ные, чтобы не об­ра­щать вни­ма­ние на их сход­ство с дру­ги­ми сло­ва­ми. Реа­ли­за­ция «Све­жий Взгляд online» та­кой воз­мож­но­сти не предо­став­ля­ет. В кон­це кон­цов, ре­ше­ние о до­пу­сти­мо­сти па­ро­ни­мии в каж­дом кон­крет­ном слу­чае при­ни­ма­ет че­ло­век, и не сто­ит скры­вать по­до­зри­тель­ное со­че­та­ние, да­же ес­ли од­но из слов по­хо­же на имя соб­ствен­ное.

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

Добав­ле­на под­держ­ка бук­вы «ё». Ори­ги­наль­ная вер­сия «Све­же­го Взгля­да» вос­при­ни­ма­ла «ё» за «е».

Добав­ле­на под­держ­ка укра­ин­ско­го язы­ка. Оце­нить ка­че­ство этой под­держ­ки непро­сто, но на неис­ку­шен­ный взгляд ра­бо­та­ет вполне при­ем­лемо.

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

комментировать 28/01/2011

Исходный код php-реализации алгоритма «Свежий Взгляд»

Назва­ние:phpFreshEye
Вер­сия:0.0.5
Дата:27.01.2011
Ста­тус:alpha
Опи­са­ние:Биб­лио­те­ка php-функ­ций, ре­а­ли­зу­ю­щая ал­го­ритм Дмит­рия Кир­са­но­ва «Све­жий Взгляд» для по­ис­ка па­ро­ни­мии в рус­ско­языч­ных текстах
Авто­ры:Дмит­рий Кир­са­нов (ал­го­ритм «Све­жий Взгляд» и его ори­ги­наль­ная ре­а­ли­за­ция)
Сер­гей Кура­кин (php-ре­а­ли­за­ция ал­го­рит­ма «Све­жий Взгляд»)
Лицен­зия:(Пере­не­се­на без из­ме­не­ний из ори­ги­наль­ной вер­сии.) Вы мо­же­те без ка­ких-ли­бо огра­ни­че­ний поль­зо­вать­ся про­грам­мой, из­ме­нять и со­вер­шен­ство­вать ее, а так­же рас­про­стра­нять ее как в ис­ход­ном ви­де, так и с лю­бы­ми из­ме­не­ни­я­ми, с со­блю­де­ни­ем толь­ко од­но­го усло­вия: при вне­се­нии лю­бых из­ме­не­ний в про­грам­му, со­зда­нии но­вых про­грамм на ос­но­ве дан­ной или встра­и­ва­нии ее ко­да в дру­гие про­грамм­ные про­дук­ты вы обя­за­ны со­хра­нить в до­ку­мен­та­ции к ва­шей про­грам­ме ссыл­ку на ис­ход­ную, сво­бод­но рас­про­стра­ня­е­мую вер­сию «Све­же­го Взгля­да». Ссыл­ка эта долж­на со­про­вож­дать­ся URL-адре­сом про­граммы:
http://www.kirsanov.com/fresheye/ 
Download:phpfresheye-0.0.5.tar.gz 

Исход­ный код биб­лио­те­ки phpFreshEye пуб­ли­ку­ет­ся глав­ным об­ра­зом в по­зна­ва­тель­ных це­лях «как есть», без под­держ­ки и до­ку­мен­та­ции, кро­ме тех по­яс­не­ний, ко­то­рые вы ви­ди­те на этой стра­нице.

Начи­ная с вер­сии 0.0.4, на­ря­ду с са­мой биб­лио­те­кой phpFreshEye и со­пут­ству­ю­щи­ми вспо­мо­га­тель­ны­ми биб­лио­те­ка­ми, в ком­плект вклю­чен при­мер fresheye_sample.php. Он пред­став­ля­ет со­бой ми­ни­маль­ный, но пол­но­стью функ­цио­наль­ный веб-ин­тер­фейс, ана­ло­гич­ный ис­поль­зу­е­мо­му служ­бой «Све­жий Взгляд online».

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

Исполь­зо­ва­ние, мо­ди­фи­ка­ция, рас­про­стра­не­ние с из­ме­не­ни­я­ми или без та­ко­вых, до­пус­ка­ет­ся на тех же усло­ви­ях, на ко­то­рых рас­про­стра­ня­ет­ся ори­ги­наль­ная вер­сия. Это от­но­сит­ся как к са­мой биб­лио­те­ке phpFreshEye, так и к де­мон­стра­ци­он­но­му веб-ин­тер­фей­су fresheye_sample.php.

Инте­ре­су­ю­щим­ся ал­го­рит­мом «Све­жий Взгляд» ре­ко­мен­ду­ем об­ра­тить­ся к пер­во­ис­точ­ни­ку  ори­ги­наль­ной про­грам­ме Дмит­рия Кир­са­но­ва, ко­то­рая рас­про­стра­ня­ет­ся сво­бод­но вме­сте с ис­ход­ным ко­дом и ис­чер­пы­ва­ю­щей до­ку­мен­та­цией.

комментариев: 3 28/01/2011

ChangeLog

phpFreshEye 0.0.5 (27.01.2011)

  • Под­держ­ка укра­ин­ско­го языка
  • Незна­чи­тель­ная кор­рек­ти­ров­ка фо­не­ти­че­ских дан­ных для рус­ско­го языка

Все версии

комментировать 28/01/2011
Copyright 2009–2010 Sergey Kurakin