выделение приставок pymorpy2.opencorpora_dict.compile #5

Closed
radixvinni opened this Issue Jan 11, 2013 · 1 comment

Comments

Projects
None yet
2 participants

Функция _to_paradigm не выделяет приставку, если она начинается с той же буквы, что и стем.

Для леммы

<lemma id="240004" rev="240004"><l t="платиновее"><g v="COMP"/><g v="Qual"/></l><f t="платиновее"></f><f t="платиновей"><g v="V-ej"/></f><f t="поплатиновее"><g v="Cmp2"/></f><f t="поплатиновей"><g v="Cmp2"/><g v="V-ej"/></f></lemma>

создатся следующая парадигма:

п {латиновее, латиновей, оплатиновее, оплатиновей}

в _to_paradigm 3я строчка
stem = os.path.commonprefix(forms) нужно сразу брать longest_common_substring(forms)

В результате вместо 5000 парадигм, получаем 2800

@radixvinni radixvinni closed this Jan 11, 2013

@radixvinni radixvinni reopened this Jan 11, 2013

@kmike kmike closed this in 8474b2d Jan 11, 2013

Owner

kmike commented Jan 11, 2013

Я точно помню, что делал это специально, и каждый раз, когда этот код читал, хотел комментарий написать, объясняющий, почему :) Наверное, дело было в том, что без проверки "if len(forms) == 1" получалось 7тыс парадигм и много мусора в suffixes.json.

Использовать longest_common_substring(forms) и вправду лучше, спасибо!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment