
단어 형식은 가능한 모든 형태의 영어 단어를 정확하게 생성 할 수 있습니다. 동사를 활용할 수 있습니다. 명사의 다른 부분을 명사와 형용사, 부사의 형용사, 동사의 명사 등을 연결할 수 있습니다. 단일 명사를 복수 할 수 있습니다. 그것은 하나의 기능으로 이것을 모두 수행합니다. 즐기다!
매우시기 적절한 예 : -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 ()}보시다시피, 출력은 4 개의 키가있는 사전입니다. "R"은 부사, "A"A "A", "N", 명사의 경우 "및"V "는 동사를 나타냅니다. 왜 "r"가 부사를 나타내는 지 묻지 마십시오. 이것이 WordNet이 사용하는 것입니다. 이것이 제가 사용하는 이유입니다 :-)
다음을 입력하여 언제든지 도움을받을 수 있습니다.
> >> help ( get_word_forms )자연 언어 처리 및 검색에서, 종종 "Run"및 "Ran", "Love"및 "Lovable"또는 "Politican"및 "Politics"와 같은 단어를 같은 단어로 취급해야합니다. 이것은 일반적으로 각 단어를 기본 단어로 줄인 다음 기본 단어를 비교하여 수행됩니다. 프로세스를 Stemming이라고합니다. 예를 들어, 포터 스티머는 "사랑"과 "사랑스러운"을 기본 단어 "사랑"으로 줄입니다.
Stemmers는 몇 가지 단점이 있습니다. 첫째, Stemmer가 생성 한 기본 단어가 항상 유효한 영어 단어는 아닙니다. 예를 들어, 포터 스티머는 "조작"이라는 단어를 "작동"으로 줄입니다. 둘째, stemmers는 높은 오 탐지 비율을 가지고 있습니다. 예를 들어, "run"은 "run"으로 축소되고 "Ran"은 "Ran"으로 축소됩니다. 이것은 stemmers가 기본 단어를 찾기 위해 일련의 합리적인 규칙을 사용하기 때문에 발생하며, 우리 모두가 알고 있듯이 영어가 항상 합리적으로 행동하는 것은 아닙니다.
렘마 화제는 사전에 존재하는 기본 형태 (레마라고도 함)를 생성하기 때문에 stemmers보다 더 정확합니다. 따라서 축소 된 단어는 항상 유효한 영어 단어입니다. 그러나 렘마 화제는 말의 다른 부분에서 단어를 연결하는 데별로 잘하지 않기 때문에 잘못된 네거티브를 가지고 있습니다. NLTK에 포함 된 WordNet Lemmatizer는 거의 모든 예에서 실패합니다. "운영"은 "작동"으로 축소되고 "작동"은 "작동"으로 축소됩니다.
단어 형식은 주어진 영어 단어의 가능한 모든 형태를 찾아이 문제를 해결하려고합니다. 동사 컨쥬 게이션을 수행하고 명사 형식을 동사 형태, 형용사 형태, 부사 양식, 단수 형태 등에 연결할 수 있습니다.
또한 word_forms 기반으로 매우 간단한 Lemmatizer를 제공합니다. 사용 방법은 다음과 같습니다.
> >> from word_forms . lemmatizer import lemmatize
> >> lemmatize ( "operations" )
'operant'
> >> lemmatize ( "operate" )
'operant'즐기다!
파이썬 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
안녕하세요, 저는 Dibya 이고이 저장소를 유지합니다. 나는 당신의 의견을 듣고 싶습니다. [email protected]에서 저와 연락하십시오.
단어 형식은 완벽하지 않습니다. 특히, 몇 가지 측면이 개선 될 수 있습니다.
이 패키지가 마음에 들면 자유롭게 기여하십시오. 풀 요청이 가장 환영합니다.