43 lines
2.6 KiB
Plaintext
43 lines
2.6 KiB
Plaintext
---------------------------- Developer's private notes (language may vary, bo tak czasem wygodniej) -----------------------------
|
|
|
|
- document the code
|
|
- prepare website (home, downloads, documentation, tutorial, issues, sourceforge page, about author)
|
|
- copyright libdivsufsort i psi-toolkit (in documentation)
|
|
IN PROGRESS - concordia search zwraca pozycje tokenów z hash'a. Jak to odnieść do examples w korpusie?
|
|
- testy zużycia pamięci
|
|
- Prawdopodobnie długość example w markers będzie potrzebna tylko anubisowi (który, jak się okazuje, jest wolny). Pomyśleć, do czego można wykorzystać markery, bo ich idea wydaje się niezła.
|
|
- Multi-threading? (przy concordia search jak najbardziej. Tylko wtedy trzebaby zastosować sortowanie po końcach przedziału przed liczeniem best overlay, co nawiasem mówiąc jest gotowe).
|
|
- concordia-server (zastanowić się, czy nie napisać CAT-a oraz nad tym, czy nie oddzielić projektu concordia-server).
|
|
|
|
|
|
|
|
---------------------------- Archive -----------------------------
|
|
DONE - puścić 100% search test na jrc
|
|
|
|
REJECTED - zastanowić się nad empty hash examples (rozwiązanie: w ogóle nie szukać fraz o pustym hashu, rzucać wyjątek).
|
|
|
|
DONE - wyłączyć stopWords
|
|
|
|
DONE - Przy concordia searh dodatkowo obliczany ma być zestaw optymalnego pokrycia patternu. Może siłowo? (jeśli przyjąć max dł. zdania 500 tokenów, to nie powinno być źle)
|
|
|
|
DONE - wyszukiwanie zdania: wyszukanie najdłuższych pasujących fragmentów Anubisem, 1D (approximate) bin packing. Nazwijmy to concordia search. Wyszukiwane są wszystkie najdłuższe dopasowania patternu dzięki LCP search. Zwracany jest wynik w postaci listy najdłuższych dopasowanych fragmentów, posortowanych malejąco po długości, z maksymalnie 3 przedstawicielami każdej długości.
|
|
|
|
DONE 1. lokalizowane to_lower (wykorzystać utf8case, naprawić testy)
|
|
DONE 2. anonimizacja zdań
|
|
DONE 3. Dzielenie zdań (max 255 tokenów)
|
|
|
|
DONE Anubis search się komplikuje! Przy tworzeniu obiektu tmMatches dla przykładu trzeba podać id przykładu, długość patternu i długość przykładu. Dwa pierwsze mamy, ale niestety nie ma skąd wziąć długości przykładu. Pamiętamy tylko offset sufiksu.
|
|
|
|
DONE 1. Bitwise operators (i stałe!) przy rozmiarze index character oraz markerów
|
|
DONE 2. Wykonać anubis search na nowych markerach z długością zdania
|
|
|
|
|
|
DONE zastanowić się nad optymalizacją:
|
|
REJECTED - tmMatchesMap jako normalna mapa (nie ptr_map)
|
|
REJECTED - LCP array
|
|
DONE - !important! rezygnacja z ptr_vector
|
|
DONE - zwracanie wektorów
|
|
DONE - powyrzucać using namespace std
|
|
DONE - profiling
|
|
|