HW02

Pēdējais mainījis superadmin 2018-01-12 21:34

HW02 - Konkordances veidošana

Balstoties uz datiem, kuri apkopoti datubāzē, kas analoģiska 1.praktiskajam darbam, izveidot teksta dokumentu (t.i. tekstu, kas atrodas datubāzes "webrobot" tabulā "bookmark.content") konkordanci (concordance). Konkordance ļauj lingvistiski pētīt lielu tekstu apjomu; konkordance ir noteikts teksta pārlūkošanas veids, kurā var izvēlēties konkrētu vārdformu, un redzēt šīs vārdformas parādīšanās vietas indeksētajos tekstos; sk. Concordance

Apraksts

Šajā mājasdarbā var pieņemt, ka saglabātie dokumenti ir vienkāršs teksts, t.i. bez HTML marķējuma. Tie ir dokumenti, kurus var iegūt ar "PlaintextFilter" no HW01CleaningHTML. Piemēram, ja vārdforma "šņukurs" (tur jāpieskaita arī vārdformas ar vienu vai vairākiem lielajiem burtiem - t.i. konkordance NAV regjistrjūtīga) parādās pa vienai reizei 3 dažādos dokumentos, tad atverot šo vārdformu linku sarakstā rodas saraksts ar 3 atbilstošiem teksta fragmentiem (un vārdformu "šņukurs" lodziņa centrā), kā arī linkiem uz atbilstošajiem dokumentiem. Locījumu formas ("šņukura", "šņukuram", utml.), tiek uzskatītas par atsevišķiem vārdiem. 

Izstrādes problēma

The desired user interface for the concordance bears some similarity to Javadoc API documentation - it could consist of 3 frames: 1st frame allows to select some letter ("A", "Ā", "B", "C", "Č", etc.), the 2nd frame lists all the words starting with that letter (e.g. "abats", "abata", "abažūrs", "abējāds", etc.), and, finally, the 3rd large frame lists all the contexts in all the provided documents, where the selected word appears. Each of these contexts is supplied with a link, which allows jumping to the place, where that context appears and selects it. 

Consider having some JavaScript, which enables the browser to navigate to the exact location of that context (the input files may be long!) and to highlight it. Since the documents are all XHTML, consider using either position numbers or standards like XLink, XPath or XPointer. Your links can have the following syntax: <<<./file10.html?context=expression>>>, where <<>> is the XHTML document, where particular context appears, but <<>> is the locator.

Aplikācijas parametri

Iesniedzamie Programmatūras artifakti:
  • Datubāzes inicializācijas skripts concordance_init.sql, kas izveido papildu tabulas konkordances indeksam. Vienā no šīm tabulām var glabāt visas vārdformas, bet otrā - norādes uz dokumentiem (t.i. tabulu "bookmarks") un arī norādītu pozīciju, kur dokumentā ("bookmarks.content") atrodas meklējamā vārdforma (pozīciju dokumentā rēķina pēc iztīrīšanas ar PlaintextFilter).
  • Indeksēšanas programma ConcordanceIndexingMain.java, kas indeksē visus dokumentus no "bookmarks.content". Tai ir 1 konfigurācijas parametrs - atdalītājsimboli. T.i. kuri simboli tiek uzskatīti par vārdu atdalītājiem nevis pašiem vārdiem.
  • WordDAO - vārdformu iegūšanas DAO, kurš atrod vārdformas, kuras sākas ar noteiktu prefiksu. Piemēram, wordDAO.getAllByPrefix("a") atgriež java.util.List<String> instanci, kas satur visas tekstos sastopamās vārdformas, kuras sākas ar burtu "a".
  • ContextDAO - kontekstu iegūšanas DAO, kurš atgriež "Context" tipa objektu sarakstu konkrētajai vārdformai. Piemēram, contextDAO.getAllByWord("un"), atgriež java.util.List<Context> instanci, kas satur tos kontekstus, kuros parādās atbilstošā vārdforma (t.i. grāmatzīmi kopā ar pozīciju).

    public class Context {
        private Bookmark bookmark;
        private int position;
        // getters/setters
    }
    

Bibliogrāfija

Tagi:
Izveidojis Kalvis Apsītis 2007-10-19 16:35
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation