
Формы слов могут точно генерировать все возможные формы английского слова. Это может сопрягать глаголы. Он может соединять различные части речи, например, существительное с прилагательным, прилагательным к наречию, существительному, к глаголу и т. Д. Он может плюрализировать единственные существительные. Это делает все в одной функции. Наслаждаться!
Некоторые очень своевременные примеры:-p
> >> from word_forms . word_forms import get_word_forms
> >> get_word_forms ( "president" )
> >> { 'n' : { 'presidents' , 'presidentships' , 'presidencies' , 'presidentship' , 'president' , 'presidency' },
'a' : { 'presidential' },
'v' : { 'preside' , 'presided' , 'presiding' , 'presides' },
'r' : { 'presidentially' }}
> >> get_word_forms ( "elect" )
> >> { 'n' : { 'elects' , 'electives' , 'electors' , 'elect' , 'eligibilities' , 'electorates' , 'eligibility' , 'elector' , 'election' , 'elections' , 'electorate' , 'elective' },
'a' : { 'eligible' , 'electoral' , 'elective' , 'elect' },
'v' : { 'electing' , 'elects' , 'elected' , 'elect' },
'r' : set ()}
> >> get_word_forms ( "politician" )
> >> { 'n' : { 'politician' , 'politics' , 'politicians' },
'a' : { 'political' },
'v' : set (),
'r' : { 'politically' }}
> >> get_word_forms ( "am" )
> >> { 'n' : { 'being' , 'beings' },
'a' : set (),
'v' : { 'was' , 'be' , "weren't" , 'am' , "wasn't" , "aren't" , 'being' , 'were' , 'is' , "isn't" , 'been' , 'are' , 'am not' },
'r' : set ()}
> >> get_word_forms ( "ran" )
> >> { 'n' : { 'run' , 'runniness' , 'runner' , 'runninesses' , 'running' , 'runners' , 'runnings' , 'runs' },
'a' : { 'running' , 'runny' },
'v' : { 'running' , 'run' , 'ran' , 'runs' },
'r' : set ()}
> >> get_word_forms ( 'continent' , 0.8 ) # with configurable similarity threshold
> >> { 'n' : { 'continents' , 'continency' , 'continences' , 'continent' , 'continencies' , 'continence' },
'a' : { 'continental' , 'continent' },
'v' : set (),
'r' : set ()}Как видите, вывод - это словарь с четырьмя ключами. «R» означает наречие »,« для прилагательного »,« n »для существительного и« V »для глагола. Не спрашивайте меня, почему "R" означает наречие. Это то, что использует Wordnet, поэтому я тоже его использую :-)
Помощь может быть получена в любое время, набрав следующее:
> >> help ( get_word_forms )В обработке и поиске естественного языка часто нужно относиться к таким словам, как «бег» и «бег», «любовь» и «привлекательный» или «политик» и «политику» как одно и то же слово. Обычно это делается путем алгоритмического уменьшения каждого слова в базовое слово, а затем сравнивая базовые слова. Процесс называется Stemming. Например, стермер Портера уменьшает как «любовь», так и «прекрасную» в базовое слово «любовь».
У стермеров есть несколько недостатков. Во -первых, базовое слово, произведенное стермером, не всегда является действительным английским словом. Например, стермер портера уменьшает слово «операция» до «Oper». Во -вторых, стермеры имеют высокую ложную отрицательную скорость. Например, «run» уменьшается до «запуска», а «ran» уменьшается до «Run». Это происходит потому, что стебля использует набор рациональных правил для поиска базовых слов, и, как мы все знаем, английский язык не всегда ведет себя очень рационально.
Лемматизаторы более точны, чем стебля, потому что они производят базовую форму, которая присутствует в словаре (также называемой леммой). Таким образом, уменьшенное слово всегда является действительным английским словом. Тем не менее, лемматизаторы также имеют ложные негативы, потому что они не очень хороши в соединении слов в разных частях речей. Lemmatizer Wordnet, включенный в NLTK, не удается практически во всех таких примерах. «Операции» снижаются до «операции», а «работа» уменьшается до «эксплуатации».
Forms Forms пытается решить эту проблему, обнаружив все возможные формы данного английского слова. Он может выполнять сопряжения глаголов, соединить существительные формы с формами глагола, прилагательные формы, формы наречия, плюлализуйте единственные формы и т. Д.
Мы также предлагаем очень простой лемматизатор на основе word_forms . Вот как его использовать.
> >> from word_forms . lemmatizer import lemmatize
> >> lemmatize ( "operations" )
'operant'
> >> lemmatize ( "operate" )
'operant'Наслаждаться!
Протестировано на Python 3
Использование pip :
pip install -U word_forms
Или вы можете установить его из источника:
git clone https://github.com/gutfeeling/word_forms.git
pip или setup.py pip install -e word_forms
% or
cd word_forms
python setup.py install
Привет, я Дибья, и я поддерживаю это хранилище. Я хотел бы услышать от вас. Не стесняйтесь связаться со мной по адресу [email protected].
Формы слов не идеальны. В частности, пара аспектов может быть улучшена.
Если вам нравится этот пакет, не стесняйтесь вносить свой вклад. Ваши запросы на притяжение приветствуются.