Wsparcie #4384

align_matrices

Added by Bartosz Broda over 10 years ago. Updated over 10 years ago.

Status:OdpowiedźStart date:08 Oct 2012
Priority:NormalnyDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

W fextorze (tools/align_matices.py) znalazłem kod do wyrównywania macierzy. Autorem jest Paweł M. Czy ktoś z tego kodu korzysta? Problem z tym kodem jest taki, że on powinien być w samym lexcsd/ltcore (o ile tam nie ma takiego narzędzia).

History

#1 Updated by Radosław Ramocki over 10 years ago

To jest bardzo ważny kod. Bez niego nie da się użyć wielu klasyfikatorów z lexcsd. Skrypt ten usuwa cechy z jednej macierzy (najczęściej testowej, roboczej), które nie wystąpiły w drugiej macierzy (najczęściej uczącej).

#2 Updated by Adam Radziszewski over 10 years ago

Kody rozpoznawacza relacji składniowych (chunkrel) wykonują jakieś wyrównanie, ale realizowane jest to przez ltcore:

from ltcore.utils.matrix_tools import align_to_first_matrix
…
matrix = align_to_first_matrix(original_matrix, matrix)

Jeśli Paweł Orłowicz potwierdzi, że nie korzysta nigdzie indziej z tools/align_matrices.py, to można go i mnie od razu wykluczyć z listy podejrzanych (a to, że korzysta, jest skrajnie mało prawdopodobne — można w zasadzie już nas wykluczyć).

#3 Updated by Paweł Kędzia over 10 years ago

Z tego co kojarzę, to w LexCSD (lexcsd.utils) jest sama metoda, do której podaje się wczytane macierze. Nie widziałem nigdzie narzędzia, do którego podawałoby się ścieżki. A może warto zrobić wariant z podaniem ścieżki do macierzy (jak w przypadku klasyfikacji)?

#4 Updated by Paweł Kędzia over 10 years ago

Radosław Ramocki wrote:

To jest bardzo ważny kod. Bez niego nie da się użyć wielu klasyfikatorów z lexcsd. Skrypt ten usuwa cechy z jednej macierzy (najczęściej testowej, roboczej), które nie wystąpiły w drugiej macierzy (najczęściej uczącej).

Tak, tylko ten skrypt w celu wyrównania macierzy wykorzystuje metodę bezpośrednio ltcore.utils

#5 Updated by Radosław Ramocki over 10 years ago

Ehh, to jest frontend do API.
Z kodu align_matrices.py:

m1 = load_matrix(options.inputA)
m2 = load_matrix(options.inputB)

save_matrix(align_to_first_matrix(m1,m2),options.output)

Jak dalej będziecie robić takie porządki to mi Derywator się już nigdy nie odpali.
Więc jak takie zmiany robicie to proszę o regresję Derywatora i Sturnusa.

#6 Updated by Bartosz Broda over 10 years ago

Ja nie mówię, że ten kod nie jest ważny, tylko czy nie warto tego przenieść właśnie do ltcore?

#7 Updated by Bartosz Broda over 10 years ago

Radku, ale widzę, że też nie korzystasz z tools/align_matrices z fexotra tylko bezpośrednio z API ltcore.

#8 Updated by Bartosz Broda over 10 years ago

Bartosz Broda wrote:

Radku, ale widzę, że też nie korzystasz z tools/align_matrices z fexotra tylko bezpośrednio z API ltcore.

Hm, albo źle odczytałem to co napisałeś. Więc wracamy do pierwotnego pytania: przenieść to jako aplikację do ltcore czy nie?

#9 Updated by Radosław Ramocki over 10 years ago

Mi tylko chodzi oto, żeby klasyfikator do derywatora nie przestał działać out of the box. Ogólnie pasuje to bardziej w ltcore.
Ale jak przeniesiesz i klasyfikator będzie umierał na zawał to będzie lipa.

#10 Updated by Bartosz Broda over 10 years ago

Radosław Ramocki wrote:

Mi tylko chodzi oto, żeby klasyfikator do derywatora nie przestał działać out of the box. Ogólnie pasuje to bardziej w ltcore.
Ale jak przeniesiesz i klasyfikator będzie umierał na zawał to będzie lipa.

No to pytanie: czy klasyfikator woła toola z fextora czy API z ltcore?

Also available in: Atom PDF