Zadanie zaliczeniowe (Projekt) Data Mining

W ramach projektu należy dostarczyć plik z rozwiązaniami i opis zastosowanej metody.

Termin oddawania zadania: 12 czerwca 2006 r.


Zadanie w projekcie polega na stworzeniu metody algorytmicznej do interpretacji ciągów sylab (klinów) reprezentujących daty na tabliczkach z pismem klinowym.

Wprowadzenie

Dane do analizy pochodzą z badań nad cywilizacją starożytnego sumeryjskiego miasta Ur.

Dane w pliku year_name.txt stanowią ciągi znaków klinowych. Można przyjąć że jeden znak odpowiada jednej sylabie. Dane te stanowią wybrany podzbiór napisów, o których sumerolodzy wiedzą, że reprezentują daty, a dokładniej  zapisy roczne. Plik składa się z 37239 wierszy postaci:

P128672 mu na ru2 a mah ba ru2

Pierwszy element wiersza (np. P128672) stanowi identyfikator tabliczki z której pochodzi zapis, na jednej tabliczce może być więcej niż jedna sekwencja roczna. Następnie występuje ciąg sylab (klinów) oznaczających rok. Sumerowie zapisywali lata poprzez referencję do ważnych wydarzeń, które występowały w kolejnych latach, np.

mu en unu6 gal di nanna unu  ki ba hun                          Rok gdy (arcykapłanka) En-unu-gal bogini Inanny z Uruk została intronizowana.

Zapisy takie są niejednoznaczne. W dostarczonym zbiorze danych występuje ok. 1300 różnych sekwencji, które odpowiadają datom z okresu panowania 4 władców III okresu Ur (Ur-Nammu - 2095-2005 p.n.e.) .

W rzeczywistości można się spodziewać wystąpienia 67-70 lat z tego okresu.

Zadanie

Zadaniem jest dopisanie do każdej sekwencji (wiersza) listy możliwych dat. Możliwe daty są kodowane zgodnie z następującym kluczem:

Šulgi - SZ01,..,SZ48

Amar Suen - AS01,.., AS09

Šū-Sîn  - SS01,..., SS09

Ibbī-Sîn  - IS01,.., IS24

Ur-Nammu - UN01

Zatem każdy wiersz w pliku wynikowym ma być postaci np.

P128672 mu na ru2 a mah ba ru2     ~SZ01 ~SZ07 ~SS06

Należy wypisać wszystkie możliwości, które uzna się za sensowne. Znaczek ~ (tylda) poprzedzający poszczególne rozkodowane daty służyć ma ułatwieniu przetwarzania przy ocenie wyników.

Uwaga - większość sekwencji zaczyna się od sylaby (klinów) mu oznaczających prawie zawsze "rok".

Zdarzają się sekwencje niemal puste np. mu ... Z takimi sekwencjami oczywiście niewiele da się zrobić, zatem należy na końcu takiej linii umieścić oznaczenie specjalne np. ~BRAK

Zbiór najbardziej powszechnych zapisów rocznych podaje dokument okreslenia roczne.doc.

W pliku tym podane są wierszami najczęściej spotykane opisy kolejnych lat (czasem z wariantami) i ich interpretacja np.

03. mu dšū-dsîn lugal uri5ki-ma-ke4 si-ma-num2ki mu-hul        Rok (gdy), Šū-Sîn król Ur, Simānum zniszczył - odpowiednik SS03

Uwagi dotyczące notacji:

Oznaczenia występujące w pliku  okreslenia roczne.doc w górnym indeksie występują w pliku  year_name.txt  bez nich.

W pliku   year_name.txt mogą wystąpić następujące oznaczenia specjalne.

Oznaczenie Interpretacja
x Pojedyncza brakująca sylaba (klin) - odpowiednik ?
... dowolnie wiele brakujących sylab - odpowiednik *
(sylaba) równoważne zawartości nawiasu, () oznaczają kłopoty w odczycie
|ciąg| zawartość pomiędzy | | jest interpretowana jak jedna sylaba np. najczęściej występujące |PU3.SZA|
ciąg kilku spacji w tym miejscu na tabliczce nastąpiło przejście (być może wielokrotne) do nowej linii