Подтвердить что ты не робот

API Java для множественных форм английских слов

Есть ли какой-либо Java API (ы), который предоставит множественную форму английских слов (например, cacti для cactus)?

4b9b3361

Ответ 2

Отметьте Evo Inflector, который реализует алгоритм плюрализации английского языка на основе бумаги Дамиана Конвей " Алгоритмический подход к плюрализации английского языка". Библиотека протестирована против данных из Викисловаря и сообщает 100% -ный показатель успеха для 1000 наиболее используемых английских слов и 70% успеха для всех слов, перечисленных в Викисловарии.

Если вы хотите получить еще большую точность, вы можете взять дамп Викисловаря и проанализировать его, чтобы создать базу данных единственных чисел для множественных отображений. Учтите, что из-за открытой природы Wiktionary некоторые данные могут быть ошибочными.

Пример использования:

English.plural("Facility", 1)); // == "Facility"
English.plural("Facility", 2)); // == "Facilities"

Ответ 3

Я знаю, что в Ruby on Rails есть простая функция pluralize(), возможно, вы можете получить это через JRuby. Проблема на самом деле непростая, я видел страницы правил о том, как плюрализовать, и это даже не было полным. Некоторые правила не являются алгоритмическими - они зависят от происхождения стебля и т.д., Что нелегко получить. Поэтому вы должны решить, насколько вы идеальны.

Ответ 4

jibx-tools обеспечивает удобный плюрализатор/деплазатор.

Groovy test:

NameConverter nameTools = new DefaultNameConverter();
assert nameTools.depluralize("apples") == "apple"
nameTools.pluralize("apple") == "apples"

Ответ 5

Трудно найти такой API. скорее вам нужно узнать какой-то веб-сервис, который может служить вашей цели. Проверьте это. Я не уверен, что это может вам помочь.. (Я пытался поставить слово кактусы и получил кактус где-то в ответе).

Ответ 6

рассматривая java, посмотрите modeshapes Inflector-Class как член пакета org.modeshape.common.text. Или google для "инфлектора" и "randall hauch".

Ответ 7

Если вы можете использовать javascript, для этого я создал легкий (7,19 КБ) javascript. Или вы можете переносить мой script на Java. Очень проста в использовании:

pluralizer.run('goose') --> 'geese'
pluralizer.run('deer') --> 'deer'
pluralizer.run('can') --> 'cans'

https://github.com/rhroyston/pluralizer-js

Кстати: Похоже, кактусы кактусы - это супер специальное преобразование (большинство ppl собираются сказать "1 кактус" в любом случае). Легко добавить это, если хотите. Исходный код легко читается/обновляется.