Ich freue mich sehr, die Veröffentlichung meines ersten Python -Pakets, englishidioms
, bekannt zu geben. Dieses Paket ist ein leistungsstarkes Instrument zur Identifizierung englischer Redewendungen, Phrasen und Phrasalverben innerhalb von Sätzen mit einer Datenbank von 22.209 eindeutigen Ausdrücken.
Hintergrund: Im Rahmen eines Python -Pakets, das idiomatische Ausdrücke innerhalb englischer Sätze erkennen kann, fand ich im Rahmen eines Python -Pakets die Notwendigkeit eines Python -Pakets (NLP). Zu meiner Überraschung konnte ich keine geeignete Lösung finden, also beschloss ich, eines von Grund auf neu zu bauen.
Installation: Sie können das Paket einfach mit PIP: pip install englishidioms
Wie man es benutzt:
>>> from englishidioms import find_idioms
>>> sentence = "The plan didn't work, but I'll give you an a for effort for trying."
>>> results = find_idioms(sentence, limit=1)
>>> print(results)
[{'phrase': '*an A for effort', 'definition': 'acknowledgement for having tried to do something, even if it was not successful. (*Typically: get ~; give someone ~.) _ The plan didn’t work, but I’ll give you an A for effort for trying.'}]
Argumente
sentence
(STR) - Der englische Satz, den Sie analysieren möchten (erforderlich).limit
(int) - maximale Anzahl der Ergebnisse, die durch Übereinstimmungspunkte geordnet sind (Standardeinstellung: 10).html
(BOOL) - Rückgabe und Definition in HTML -Markup, um die ursprüngliche Formatierung aus dem Wörterbuch zu erhalten (Standard: Falsch).span
(bool) - Rückgabeinspannspanne im Satz (Standard: Falsch).entry_range
Bool) - Return Dictionary Start/End -Zeile für Debugging (Standard: Falsch).entry_id
(bool) - Return Dictionary Entry ID in Phrasen.json zum Debuggen (Standard: Falsch).Wie es funktioniert (vereinfacht):
Dieses Paket wurde entwickelt, indem alle Wörterbucheinträge im "McGraw-Hill Dictionary of American Idioms und Phrasal Verben" analysiert wurden. Durch die Verwendung von Python-Bibliotheken wie Python-Docx und die Nutzung der vordefinierten Formatierung habe ich Schlüsselpunkte aus jedem Eintrag extrahiert. Diese wichtigen Punkte sind:
Konstanten: Feste Wörterklassen, die den Kern des idiomatischen Ausdrucks bilden. Variablen: Variable -Klassen von Wörtern, die weitgehend übereinstimmen können. Optionale Konstanten: Zusätzliche optionale Wörter oder Phrasen innerhalb eines einzelnen idiomatischen Ausdrucks. Verben: Verben, die normalerweise der idiomatischen Phrase vorangehen.
Betrachten Sie beispielsweise den Wörterbucheintrag:
*Ein (toter) Ringer (für jemanden ) Abb. In der Erscheinung von jemand anderem sehr ähnlich. (*Normalerweise: Sei ~; sieh wie ~.) _ Du bist sicher ein toter Klang für meinen Bruder. _ Ist er nicht ein Ringer für Chuck?
Für diesen Eintrag identifizieren wir:
Bei jedem Aufruf der Methode 'find_idioms' untersucht ein Suchalgorithmus diese Schlüsselpunkte in 22.209 Wörterbucheinträgen und entspricht ihnen gegen den angegebenen Satz unter Berücksichtigung grammatikalischer Variationen und Wortreihenfolge. Anschließend gibt es eine Liste der übereinstimmenden Einträge zurück.
Leistung:
Ich habe dieses Paket auf 40.442 Sätzen aus dem Buch getestet und in 91% der Fälle den korrekten Eintrag für Matching Dictionary festgestellt. Zusätzlich beträgt die durchschnittliche Ausführungszeit für die Verarbeitung eines Satzes ungefähr 3 Sekunden.
Projektdetails
Dieses Projekt ist in mehrere wichtige Schritte unterteilt:
1. Erhalten Sie die Daten:
Wir beginnen damit, das Ausgangsmaterial aus dem "McGraw-Hill-Wörterbuch der amerikanischen Redewendungen und Phrasalverben" zu erhalten. Sie können hier im PDF -Format auf eine Kopie dieser Ressource zugreifen.
Als nächstes konvertieren wir das PDF in ein nutzbareres Format, ein DOCX-Dokument namens "Clean-output.docx". Wir formatieren es von einem zweispaltigen Layout zu einem einspaltigen Text. Bitte beachten Sie, dass die technischen Details dieses Conversion -Prozesses in dieser Dokumentation nicht erörtert werden.
2. Vorbereitung der Daten:
Wir gehen eine Reihe von zwölf Schritten durch, um die Daten von 'Clean-output.docx' zu verarbeiten und zu verfeinern und sie in 'phrasen.json' zu speichern. Jeder Schritt wird von einem bestimmten Python -Modul verwaltet:
Es ist wichtig, diese Module in der angegebenen Reihenfolge auszuführen, um die endgültige Version von 'phrasen.json' zu erstellen, der umfassenden Datenbank für Daten von 'Clean-output.docx'. Unter Windows CMD können Sie sie mit diesem Befehl nacheinander ausführen:
python A_breakitup.py && python A_splitrandom.py && python B_breakitup.py && python C_readit.py && python D_readit.py && python E_tidyup.py && python F_tidyup.py && python FF_manualoverride.py && python G_asterisk.py && python H_hyphenated_words.py && python I_getpatterns.py && python J_getwordforms.py && python K_getexamples.py
3.. Kernfunktionalität:
Das Herzstück des Projekts ist das Modul "l_algorithm.py". Es verwendet 'phrasen.json', um idiomatische Ausdrücke mit englischen Sätzen zu entsprechen. Dieses Modul ist für das Paket von entscheidender Bedeutung und ermöglicht die Identifizierung von Redewendungen, Phrasen und Phrasalverben in Sätzen.
Das Herzstück des Projekts ist das Modul "l_algorithm.py", das sich im Verzeichnis "EnglishIdioms" befindet. Es verwendet 'phrasen.json', um idiomatische Ausdrücke mit englischen Sätzen zu entsprechen. Halten Sie 'l_algorithm.py' und 'phrasen.json' im Verzeichnis 'englischIdioms' einen doppelten Zweck:
Reduzierte Paketgröße: Durch das Isolieren dieser Kernkomponenten machen wir das Paket in Bezug auf den Speicherplatz kleiner. Dies bedeutet, dass Benutzer nur die wesentlichen Komponenten installieren müssen, wodurch das Paket leichter und effizienter wird.
Minimierte Abhängigkeiten: Die Kombination von 'l_algorithm.py' und 'phrasen.json' erfordert weniger externe Abhängigkeiten im Vergleich zum gesamten Paket. Dies vereinfacht den Installationsprozess für Endbenutzer und verringert die Notwendigkeit, zusätzliche Bibliotheken und Anforderungen zu installieren, die möglicherweise nicht für ihre spezifische Verwendung erforderlich sind.
Das Verzeichnis "englischIdioms" enthält außerdem drei erforderliche NLTK -Ressourcen, um "l_algorithm.py" auszuführen.
Durch die Übernahme dieses optimierten Ansatzes stellen wir sicher, dass Benutzer ohne unnötigen Overhead schnell und einfach auf die Kernfunktionalität des Pakets zugreifen können.
4. Überprüfen und Tests:
Um die Datenqualität und die Effektivität des Suchalgorithmus in 'l_algorithm.py' zu gewährleisten, verwenden wir drei zusätzliche Module:
Bitte beachten Sie, dass für Endbenutzer, die das Paket verwenden möchten, nur 'l_algorithm.py' und 'phrasen.json' benötigt werden. Die anderen Module dienen hauptsächlich für die Datenverarbeitung und -validierung während der Entwicklung.
Wie man beiträgt:
Das gesamte Projekt ist Open Source und erhältlich auf GitHub. Fühlen Sie sich frei, den Code zu erkunden, Verbesserungen vorzunehmen und zu seiner Entwicklung beizutragen.
Haftungsausschluss: Dieses Python-Paket bietet den Benutzern den Zugriff auf eine Sammlung von Redewendungen und Phrasalverben, wie sie im "McGraw-Hill-Wörterbuch von amerikanischen Redewendungen und Phrasalverben" erscheinen. Bitte beachten Sie, dass dieses Paket nicht von den McGraw-Hill Companies, Inc., dem Urheberrechtsinhaber des Wörterbuchs, befürwortet oder autorisiert wird.
Urheberrechtsbescheid: Das "McGraw-Hill-Wörterbuch von amerikanischen Redewendungen und Phrasalverben" ist urheberrechtlich geschütztes Material, und seine Verwendung unterliegt den von den McGraw-Hill Companies, Inc. das Buch.
Beabsichtigte Verwendung: Dieses Python-Paket ist nur für Bildungs- und Forschungszwecke sowie für den persönlichen, nichtkommerziellen Gebrauch bestimmt. Es ist nicht für kommerzielle Anwendungen bestimmt.
Benutzerverantwortung: Durch die Verwendung dieses Python -Pakets erkennen Sie an, dass Sie die Urheberrechtsgesetze und die in der ursprünglichen Arbeit beschriebenen Nutzungsbedingungen einhalten müssen. Sie dürfen dieses Paket nur für persönliche, nicht kommerzielle Zwecke verwenden. Jede kommerzielle Anwendung oder Verteilung der Ausgabe dieses Pakets kann die vorherige schriftliche Zustimmung des Verlags, der McGraw-Hill Companies, Inc. erfordern. Es wird nachdrücklich empfohlen, dass Benutzer, die dieses Paket regelmäßig verwenden möchten Das "McGraw-Hill Dictionary of American Idioms and Phrasal Verben", um die Autoren zu unterstützen und sich an Urheberrechtsgesetze zu halten.
Unterstützen Sie den Autor: Wenn Sie beabsichtigen, den Inhalt dieses Pakets für kommerzielle Zwecke zu verwenden, empfehle ich dringend, die erforderlichen Berechtigungen und Lizenzen von den McGraw-Hill Companies, Inc. zu erhalten, um auf die gesamte Spektrum an Redewendungen und Phrasenverben zuzugreifen, in Betracht ziehen. Kauf Ihrer persönlichen Kopie des "McGraw-Hill Dictionary of American Idioms und Phrasal Verben".
Haftung: Die Schöpfer und Betreuer dieses Python -Pakets sind nicht für Verstöße gegen das Urheberrecht oder den Missbrauch des Pakets verantwortlich. Die Benutzer sind für die Einhaltung aller rechtlichen und urheberrechtlich geschützten Anforderungen verantwortlich, wenn dieses Paket verwendet wird.
Ich ermutige die ethische und rechtmäßige Verwendung dieses Pakets und respektiere die Rechte von Inhabern und Autoren des Urheberrechts. Bitte verwenden Sie es verantwortungsbewusst.