
Wortformen können alle möglichen Formen eines englischen Wortes genau erzeugen. Es kann Verben konjugieren. Es kann verschiedene Teile von Reden mit Substantiv mit Adjektiv, Adjektiv mit Adverb, Substantiv mit Verb usw. verbinden. Es kann singuläre Substantive pluralisieren. Es tut dies alles in einer Funktion. Genießen!
Einige sehr zeitnahe Beispiele:-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 ()}Wie Sie sehen können, ist die Ausgabe ein Wörterbuch mit vier Schlüssel. "R" steht für Adverb, "A" für Adjektiv, "n" für Nomen und "V" für Verb. Fragen Sie mich nicht, warum "R" für Adverb steht. Das verwendet WordNet. Deshalb benutze ich es auch :-)
Hilfe kann jederzeit durch Eingeben von Folgendem erhalten werden:
> >> help ( get_word_forms )In der Verarbeitung und Suche in der natürlichen Sprache muss man oft Wörter wie "Run" und "Ran", "Love" und "Lovable" oder "Politician" und "Politics" als das gleiche Wort behandeln. Dies geschieht normalerweise, indem jedes Wort algorithmisch in ein Basiswort reduziert und dann die Basiswörter verglichen wird. Der Prozess wird als Stamm bezeichnet. Zum Beispiel reduziert der Porter Stemmer sowohl "Liebe" als auch "schön" in das Grundwort "Liebe".
Stemmers haben mehrere Mängel. Erstens ist das vom Stemmer erzeugte Basiswort nicht immer ein gültiges englisches Wort. Zum Beispiel reduziert der Porter Stemmer das Wort "Operation" auf "Oper". Zweitens haben die Stemmer eine hohe falsch negative Rate. Zum Beispiel wird "Run" auf "Run" reduziert und "Ran" auf "Ran" reduziert. Dies geschieht, weil die Stemmer eine Reihe rationaler Regeln verwenden, um die Grundwörter zu finden, und wie wir alle wissen, verhalten sich die englische Sprache nicht immer sehr rational.
Lemmatizer sind genauer als Stemmers, da sie eine Basisform erzeugen, die im Wörterbuch vorhanden ist (auch Lemma genannt). Das reduzierte Wort ist also immer ein gültiges englisches Wort. Lemmatizer haben jedoch auch falsch negative, weil sie nicht sehr gut darin sind, Wörter über verschiedene Teile von Reden zu verbinden. Der mit NLTK enthaltene WordNet -Lemmatizer schlägt an fast allen dieser Beispielen fehl. "Operations" wird auf "Betrieb" reduziert und "Betrieb" wird auf "Betrieb" reduziert.
Wortformen versuchen, dieses Problem zu lösen, indem alle möglichen Formen eines bestimmten englischen Wortes gefunden werden. Es kann Verb -Konjugationen ausführen, Substantivformen mit Verbformen, Adjektivformen, Adverb -Formen, planulieren einzelne Formen usw. verbinden usw. verbinden.
Wir bieten auch einen sehr einfachen Lemmatizer an, der auf word_forms basiert. Hier erfahren Sie, wie man es benutzt.
> >> from word_forms . lemmatizer import lemmatize
> >> lemmatize ( "operations" )
'operant'
> >> lemmatize ( "operate" )
'operant'Genießen!
Getestet auf Python 3
Verwenden von pip :
pip install -U word_forms
Oder Sie können es aus Quelle installieren:
git clone https://github.com/gutfeeling/word_forms.git
pip oder setup.py pip install -e word_forms
% or
cd word_forms
python setup.py install
Hallo, ich bin DiBya und ich pflege dieses Repository. Ich würde gerne von dir hören. Fühlen Sie sich frei, mich unter [email protected] in Verbindung zu setzen.
Wortformen sind nicht perfekt. Insbesondere können einige Aspekte verbessert werden.
Wenn Ihnen dieses Paket gefällt, können Sie gerne einen Beitrag leisten. Ihre Pull -Anfragen sind sehr willkommen.