Grammemes are unknown: {'acc'}
Closed this issue · 10 comments
Сегодня попытался собрать себе новый словарь и поймал такое вот исключение.
Полный трейс:
INFO 2013-07-09 15:40:45 Creating ./dict.xml from http://opencorpora.org/files/export/dict/dict.opcorpora.xml.bz2
................................................................INFO 2013-07-09 15:41:00
Done.
DEBUG 2013-07-09 15:41:00 Creating output folder ./pymorphy2_dicts/data
INFO 2013-07-09 15:41:00 dictionary v0.92, rev389962
INFO 2013-07-09 15:41:00 parsing xml:lemmas...
DEBUG 2013-07-09 15:41:18 50000 lexemes parsed
DEBUG 2013-07-09 15:41:39 100000 lexemes parsed
DEBUG 2013-07-09 15:42:03 150000 lexemes parsed
DEBUG 2013-07-09 15:42:31 200000 lexemes parsed
DEBUG 2013-07-09 15:42:58 250000 lexemes parsed
DEBUG 2013-07-09 15:43:25 300000 lexemes parsed
DEBUG 2013-07-09 15:43:52 350000 lexemes parsed
INFO 2013-07-09 15:44:12 parsing xml:links...
INFO 2013-07-09 15:44:14 simplifying tags: looking for tag spellings
INFO 2013-07-09 15:44:34 simplifying tags: looking for spelling duplicates (skip_space_ambiguity: True)
DEBUG 2013-07-09 15:44:34 238 duplicate tags will be removed
INFO 2013-07-09 15:44:34 simplifying tags: fixing
INFO 2013-07-09 15:44:41 inlining lexeme derivational rules...
INFO 2013-07-09 15:44:42 building paradigms...
DEBUG 2013-07-09 15:44:42 word len(gramtab) len(words) len(paradigms)
DEBUG 2013-07-09 15:44:42 ёж 12 12 1
DEBUG 2013-07-09 15:44:45 ателлана 1182 238476 287
DEBUG 2013-07-09 15:44:46 валефтина 1718 457637 592
DEBUG 2013-07-09 15:44:48 вышелушиваться 2236 802078 1088
DEBUG 2013-07-09 15:44:49 джима 2627 1032071 1247
DEBUG 2013-07-09 15:44:51 заседание 2997 1364629 1489
DEBUG 2013-07-09 15:44:53 кессонный 3102 1668294 1641
DEBUG 2013-07-09 15:44:54 литейщик 3245 1894527 1803
DEBUG 2013-07-09 15:44:55 навалиться 3394 2124960 1924
DEBUG 2013-07-09 15:44:57 несправедливый 3426 2449348 2022
DEBUG 2013-07-09 15:44:59 откалывать 3621 2794371 2172
DEBUG 2013-07-09 15:45:01 повитуха 3664 3167791 2298
DEBUG 2013-07-09 15:45:04 примирительный 3844 3552549 2458
DEBUG 2013-07-09 15:45:06 растлиться 3921 3950076 2540
DEBUG 2013-07-09 15:45:07 скалькулировать 4048 4206158 2635
DEBUG 2013-07-09 15:45:09 тарас 4103 4490854 2730
DEBUG 2013-07-09 15:45:11 фахратдин 4178 4780129 2812
DEBUG 2013-07-09 15:45:12 щитоносец 4321 5008869 2930
DEBUG 2013-07-09 15:45:13 total: 4345 5094265 2975
DEBUG 2013-07-09 15:45:13 linearizing paradigms..
DEBUG 2013-07-09 15:45:13 calculating prediction data..
DEBUG 2013-07-09 15:45:13 calculating prediction data: removing non-productive paradigms..
DEBUG 2013-07-09 15:45:13 calculating prediction data: checking word endings..
DEBUG 2013-07-09 15:45:50 calculating prediction data: preparing DAWGs data #0..
DEBUG 2013-07-09 15:45:52 calculating prediction data: preparing DAWGs data #1..
DEBUG 2013-07-09 15:45:52 calculating prediction data: preparing DAWGs data #2..
DEBUG 2013-07-09 15:45:52 building word DAWG..
DEBUG 2013-07-09 15:46:01 building prediction_suffixes DAWGs #0..
DEBUG 2013-07-09 15:46:02 building prediction_suffixes DAWGs #1..
DEBUG 2013-07-09 15:46:02 building prediction_suffixes DAWGs #2..
INFO 2013-07-09 15:46:02 Saving...
DEBUG 2013-07-09 15:46:02 computing metadata..
DEBUG 2013-07-09 15:46:02 words_dawg_len
DEBUG 2013-07-09 15:46:04 prediction_suffixes_dawgs_len
--------------------
Done in 0:05:20.237106
Traceback (most recent call last):
File "./update.py", line 63, in <module>
write_version()
File "./update.py", line 37, in write_version
dct = opencorpora_dict.load(OUT_PATH)
File "/usr/lib64/python2.7/site-packages/pymorphy2/opencorpora_dict/storage.py", line 50, in load_dict
gramtab = [Tag(tag_str) for tag_str in str_gramtab]
File "/usr/lib64/python2.7/site-packages/pymorphy2/tagset.py", line 272, in __init__
self._assert_grammemes_are_known(set(grammemes_tuple))
File "/usr/lib64/python2.7/site-packages/pymorphy2/tagset.py", line 364, in _assert_grammemes_are_known
raise ValueError("Grammemes are unknown: {%s}" % unknown_repr)
ValueError: Grammemes are unknown: {'acc'}
Привет! Завел тикет вот тут: https://code.google.com/p/opencorpora/issues/detail?id=404&thanks=404&ts=1373377621
Эх. Не спешат что-то исправлять :(
Угу. Лето что-ли :)
В самом pymorphy2 это можно поправить, сделав код подготовки словаря более надежным (выкидывать все слова с неизвестными граммемами), но нужно это делать внимательно, чтоб лишние связи, например, тоже удалять.
Лучше всё-таки устранять причину, а не следствие. Тогда не придётся мучиться с костылями :)
Да, было лето, я сегодня ночью приехал из отпуска :-)
Я там написал в комментариях, что тикеты про словарь можно ставить не на меня.
Соответственно, в завтрашней выгрузке словаря поправится.
Ну вот и ладненько :)
Дима, спасибо!
Тикеты на гуглокоде я не умею ни на кого ставить, и статус менять не умею, и текст исправлять, и т.д. Там вроде простым смертным только комментировать можно, и новые заводить.
А, тогда сорри. Попробую устранить эту несправедливость.
Мда, по ходу, там нельзя всем это разрешить. В общем, Миша, я лично тебе выдал права менять Owner-а и похожие вещи. Не могу проверить, работает ли.
У меня заработало. Ну хоть так :)