Java API для множественных форм английских слов - PullRequest
24 голосов
/ 06 мая 2011

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

Ответы [ 7 ]

43 голосов
/ 10 января 2012

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

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

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

English.plural("Facility", 1)); // == "Facility"
English.plural("Facility", 2)); // == "Facilities"
4 голосов
/ 28 декабря 2013

jibx-tools предоставляет удобный мультипликатор / деплурализатор.

Groovy тест:

NameConverter nameTools = new DefaultNameConverter();
assert nameTools.depluralize("apples") == "apple"
nameTools.pluralize("apple") == "apples"
2 голосов
/ 10 января 2012

с учетом java, посмотрите на modehapes Inflector-Class как член пакета org.modeshape.common.text . Или Google для "inflector" и "Рэндалл Хаух".

2 голосов
/ 25 июня 2011

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

1 голос
/ 09 июня 2011

Wolfram | Alpha возвращает список форм перегиба для данного слова.

См. Это в качестве примера:

http://www.wolframalpha.com/input/?i=word+cactus+inflected+forms

А вот их API:

http://products.wolframalpha.com/api/

1 голос
/ 06 мая 2011

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

0 голосов
/ 05 сентября 2017

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...