Closed pershik closed 10 years ago
Проблемма чисто морфологическая. У слова "молочные" из изначального фразеологизма есть 2 начальные формы: молочный - прилагательное, молочная - существительное (видимо, подразумевается молочная лавка или что-то подобное). С другой стороны странно, что предлагаемый вариант ответа - 'молочный', а не 'молочная'...
Мне кажется, лучше запретить использовать слова, для которых нельзя однозначно указать часть речи
Насколько я помню, Фёдор добавлял функцию постановки слова в начальную форму, всё-таки с нормальными словами «мама мыла раму» предполагается, что правильный ответ — «рама» а не «раму». Ну вот «молочная» и превратилось в «молочный», видимо, это более распространённый вариант начальной формы.
@pershik А как же классные объяснения вроде "пропуск замуж невтерпёж"?
На самом деле, анализатор даёт ещё процент уверенности для каждого варианта распознавания слова. Можно, видимо, сделать отсечку по этому проценту
@Oktosha не, проблема в том, что это вряд ли существительное
Впрочем, вот вывод анализатора:
>>> m.parse('молочные')
[Parse(word='молочные', tag=OpencorporaTag('ADJF,Qual plur,nomn'), normal_form='молочный', score=0.25, methods_stack=((<DictionaryAnalyzer>, 'молочные', 10, 20),)),
Parse(word='молочные', tag=OpencorporaTag('ADJF,Qual inan,plur,accs'), normal_form='молочный', score=0.25, methods_stack=((<DictionaryAnalyzer>, 'молочные', 10, 24),)),
Parse(word='молочные', tag=OpencorporaTag('NOUN,inan,femn plur,nomn'), normal_form='молочная', score=0.25, methods_stack=((<DictionaryAnalyzer>, 'молочные', 115, 7),)),
Parse(word='молочные', tag=OpencorporaTag('NOUN,inan,femn plur,accs'), normal_form='молочная', score=0.25, methods_stack=((<DictionaryAnalyzer>, 'молочные', 115, 10),))]
Он одинаково уверен в двух вариантах прилагательного и двух существительного. Видимо, это что-то вроде булочной? Тогда это редкая проблема.
>>> from explanator import explain
Antonyms dictionary doesn't exist
>>> explain('молочная')
*пропуск* реки , кисельные берега
>>> explain('молочный')
(Ничего не возвращает)
>>> from explanator import get_explainable_words
>>> list = get_explainable_words()
>>> 'молочный' in list
False
>>> 'молочная' in list
True
Ну никак не мог он пытаться объяснить молочный
Короче, "молочная" — это действительно не вполне очевидное существительное. Именно эта проблема решится, видимо, если дать возможность пользователю говорить, что слово/объяснение плохое. (Дмитрий:) Да и так рейтинг у этого объяснения будет невысокий.
@moskupols рейтинг же не важен. при отсутствии других объяснений он будет пытаться объяснить хоть как-то
Что-то не так с explanator'ом. Например, он предлагает такое объяснение "пропуск реки , кисельные берега" Его вариант ответа - молочный.