An error occurred while fetching the assigned milestone of the selected merge_request.
Zmiana naprawia buga powodującego niepoprawne przypisanie formy bazowej (domyślnie właściwość mwe_base). Problem występował, gdy:
Przykład ilustrujący poprawne oraz niepoprawne (drugie zdanie) działanie:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chunkList SYSTEM "ccl.dtd">
<chunkList>
<chunk id="ch1">
<sentence id="s1">
<tok>
<orth>plac</orth>
<lex disamb="1"><base>plac</base><ctag>subst:sg:nom:m3</ctag></lex>
<ann chan="mwe">1</ann>
<prop key="mwe_base">plac zabaw</prop>
</tok>
<tok>
<orth>zabaw</orth>
<lex disamb="1"><base>zabawa</base><ctag>subst:pl:gen:f</ctag></lex>
<ann chan="mwe">1</ann>
</tok>
<tok>
<orth>i</orth>
<lex disamb="1"><base>i</base><ctag>conj</ctag></lex>
<ann chan="mwe">0</ann>
</tok>
<tok>
<orth>tenis</orth>
<lex disamb="1"><base>tenis</base><ctag>subst:sg:acc:m3</ctag></lex>
<ann chan="mwe">2</ann>
<prop key="mwe_base">tenis stołowy</prop>
</tok>
<tok>
<orth>stołowy</orth>
<lex disamb="1"><base>stołowy</base><ctag>adj:sg:acc:m3:pos</ctag></lex>
<ann chan="mwe">2</ann>
</tok>
<ns/>
<tok>
<orth>.</orth>
<lex disamb="1"><base>.</base><ctag>interp</ctag></lex>
<ann chan="mwe">0</ann>
</tok>
</sentence>
</chunk>
<chunk id="ch2">
<sentence id="s2">
<tok>
<orth>plac</orth>
<lex disamb="1"><base>plac</base><ctag>subst:sg:nom:m3</ctag></lex>
<ann chan="mwe">1</ann>
<prop key="mwe_base">plac zabaw</prop>
</tok>
<tok>
<orth>zabaw</orth>
<lex disamb="1"><base>zabawa</base><ctag>subst:pl:gen:f</ctag></lex>
<ann chan="mwe">1</ann>
</tok>
<tok>
<orth>i</orth>
<lex disamb="1"><base>i</base><ctag>conj</ctag></lex>
<ann chan="mwe">0</ann>
</tok>
<tok>
<orth>tenis</orth>
<lex disamb="1"><base>tenis</base><ctag>subst:sg:acc:m3</ctag></lex>
<ann chan="mwe">2</ann>
<prop key="mwe_base">tenis</prop>
</tok>
<tok>
<orth>stołowy</orth>
<lex disamb="1"><base>stołowy</base><ctag>adj:sg:acc:m3:pos</ctag></lex>
<ann chan="mwe">2</ann>
</tok>
</sentence>
</chunk>
Podczas analizy działania okazało się, że po oznaczeniu tokenów anotacją (w kanale anotacji), przy ponownej iteracji z krótszym terminem następowało nadpisanie poprawnej dłuższej formy bazowej krótszą.
W celu naprawy problemu dodano warunek uniemożliwiający przypisanie krótszej formy bazowej (jeśli jest już jakaś przypisana, w przeciwnym wypadku get_attribute zwraca pusty string).
Test (manualny) weryfikujący poprawność działania dla powyższego przykładowego CCLa został przygotowany i dodany do repozytorium corpus2mwe (commit 769bca3e).