![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 733 Pomógł: 4 Dołączył: 11.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Nurtuje mnie pytanie jak sprawdzić przy pomocy php i mysql czy dana praca nie jest plagiatem. Mianowicie. Do bazy danych kilka osób wysyła prace ja je pobieram i akceptuje albo odrzucam i to jest banalne. Ale chodzi mi o fakt, gdy dwie osoby podeślą bardzo podobną pracę. Oczywiście nie muszą być identyczne, ale dużo rzeczy może być identycznych. Zastanawiam się jak to zrobić. Jak porównać aktualnie otwartą pracę z innymi znajdującymi się już w bazie danych. Oczywiście można zapamiętać jak mniej więcej wyglądała jakaś praca i czy się powtarza, ale ja tutaj rozważam przypadek kiedy to prace akceptuje kilka osób i potrzebny jest taki skrypt. PS. Skrypt nie może być bardzo rygorystyczny, ani za mało (IMG:style_emoticons/default/smile.gif) Pozdrawiam (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Myślę, że można by to zrobić tak:
Wczytujesz całe 2 prace do tablic ($tab1 i $tab2). Każde słowo jako oddzielny element. Następnie porównujesz $tab1[0] po kolei z kolejnymi elementami tablicy drugiej, czyli pracy porównywanej. Po natrafieniu na identyczne słowo (np. $tab1[0] == $tab2[345]) porównujesz $tab1[1] z następnym wyrazem w drugiej tablicy czyli $tab2[346]. Jeśli $tab[1] == $tab[346] to sprawdzasz kolejne elementy np. 5 razy, bo ustalamy, że 5 słów pod rząd to już jest plagiat. Czyli $tab1[2] do $tab2[347], potem $tab1[3] do $tab[348] itd. Jeśli natomiast, żaden element z $tab2 nie jest identyczny, lub nie ma 5 kolejnych identycznych przechodzisz do następnego elementu czyli $tab1[1] i proces powtarzasz. Na chłopski rozum powinno działać ale daję głowę, że będzie okrutnie zasobo-żerne, ale skuteczne. Natomiast prościej np. szukając identycznych tylko takich samych zdań to: Wczytujesz 2 prace do 2 stringów. Pierwszy traktujesz explode, dzieląc go wg kropek, lub znaków zapytania, a właściwie wg. obu. Potem szukasz powtórzeń w drugim stringu używając substr_compare lub substr_count . Proces powtarzasz dla każdego elementu tablicy, czyli każdego zdania pierwszej pracy.
Ten post edytował sadistic_son 10.08.2010, 20:52:23 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 18:29 |