Skip to content
ATEGRA MLIT
  • Front Page
  • Blog
Blog

Der Unterschied von Machine Learning und Artificial intelligence

  • 2018-09-202019-10-18
  • by mlit-ategra-admin

Künstliche Intelligenz (engl. Aritifical Intelligence oder kurz AI) und Maschinelles Lernen (Machine Learning oder kurz ML) gehören zu den aktuell heissesten Themen der Informatik. Die Begriffe sind in aller Munde und werden fälschlicherweise nicht selten als Synonyme verwendet. Dabei steht AI für das allgemeine Konzept, Maschinen dazu zu bringen, sich «intelligent» zu verhalten. Währenddessen bezeichnet Machine Learning eine der aktuellsten Methoden, um dieses Ziel zu erreichen. Dieser Artikel gibt einen Einblick, was Machine Learning ist und welche anderen AI-Konzepte es gibt.

Ursprünge von AI

Die Idee der künstlichen Intelligenz ist nicht neu: Bereits in den 1950er Jahren wurde sie als wissenschaftliche Disziplin entdeckt mit dem Ziel, Computer möglichst ähnlich wie ein Mensch denken zu lassen. Eine der frühen Anwendungen waren Schach-Computer. Man ging damals davon aus, dass ein Computer, der den amtierenden Schachweltmeister schlägt, ganz allgemein die menschliche Intelligenz übertreffen würde. Doch bereits lange bevor 1996 der Schachcomputer Deep Blue den amtierenden Weltmeister Garri Kasparow schlug, war klar, dass derselbe Computer bei weitem nicht in der Lage ist, komplexe interdisziplinäre Aufgaben zu lösen. So könnte dieselbe Maschine zum Beispiel keine bahnbrechenden Lösungsvorschläge für den Klimawandel berechnen.

Machine Learning: Effizienz durch Spezialisierung

Das Beispiel legt nahe, dass es in den meisten Fällen ineffizient wäre, einen Computer zu entwickeln, der polyvalent ist wie ein menschliches Gehirn. Stattdessen werden meist spezialisierte Systeme eingesetzt, die man einem Unterbereich der künstlichen Intelligenz zuordnen kann wie zum Beispiel dem Machine Learning. Machine Learning Algorithmen sind spezialisiert darauf, einen bestimmten Aufgaben-Typ zu lösen und verbessern ihre eigene Performance durch erkennen von Mustern in den Problemstellungen. Ein klassisches Beispiel ist die Bilderkennung: Nachdem ein Machine Learning Algorithmus mit einer genügend grossen Anzahl Referenzbilder trainiert hat, ist er in der Lage bestimmte Dinge wie z.B. menschliche Gesichter in Bildern zu erkennen. Ein solcher Algorithmus gehört zur Kategorie des Supervised Machine Learning. Um das Funktionieren des Algorithmus zu gewährleisten, ist ein möglichst grosser Referenz-Datensatz nötig (z.B. Bilder, bei denen bekannt ist, ob und wo sich menschliche Gesichter darauf befinden).

Nicht alle Machine Learning Algorithmen brauchen eine solchen Referenz-Datensatz. Bei Algorithmen, die nach dem Prinzip des Reinforcement Learning funktionieren, wird nach dem generieren eines Resultats, dieses anhand von bestimmten Kriterien bewertet und der Algorithmus lernt somit während er im Einsatz ist. Ein Beispiel dafür sind die Video-Vorschläge auf Youtube: Je mehr der vorgeschlagenen Videos ein Nutzer anklickt desto besser waren die Vorschläge. Der Algorithmus erkennt so die Vorlieben des Nutzers und trägt dazu bei, dass dieser möglichst viel Zeit auf der Video-Plattform verbringt.

Machine Learning ohne Referenzwerte

Schliesslich gibt es noch den Bereich des Unsupervised Learning. Diese Kategorie von Algorithmen arbeitet gänzlich ohne Referenzwerte und versucht meist Daten zu sortieren. Dabei wird nach Ähnlichkeiten in verschiedenen Datensätzen gesucht und diese dann in Kategorien eingeteilt. Mit solchen Algorithmen können Datensätze auch intelligent komprimiert werden, sodass nur Eigenschaften behalten werden, anhand von denen man die Datensätze auch tatsächlich unterscheiden kann.

Es ist eine Eigenheit all dieser Machine Learning Algorithmen, dass selbst der Programmierer nicht ohne weiteres erklären kann, warum der Algorithmus für eine bestimmte Aufgabenstellung ein bestimmtes Resultat ausgibt. Dies ist der elementare Unterschied zu herkömmlichen deterministischen Algorithmen und zeigt die Eigendynamik von Machine Learning Algorithmen

In vielen spezialisierten Bereichen gibt es unterdessen Machine Learning Algorithmen, die einem herkömmlichen Programm oder der Arbeit eines Menschen weit überlegen sind. Letzteres ist in erster Linie damit zu begründen, dass ein Computer viel schneller viel grössere Datenmengen verarbeiten kann als ein Mensch.

AI aber nicht Machine Learning

Nach all diesen Beispielen stellt sich die Frage, welche kommerziell interessanten Produkte es gibt, die man AI, nicht aber dem Machine Learning zuordnen kann?

Tatsächlich ist es so, dass nicht in jedem Fall eine klare Grenze gezogen werden kann bei diesen Gebieten. Je allgemeiner und interdisziplinärer ein Algorithmus ist, desto eher wird er dem Gebiet der künstlichen Intelligenz zugeordnet: So kann es vorkommen, dass ein AI Algorithmus argumentieren oder moralische Entscheidungen fällen muss und sich dafür an Forschungsresultaten der Psychologie, Linguistik oder Philosophie orientiert.

Ein Beispiel für ein AI-Themengebiet, das üblicherweise nicht zu Machine Learning gezählt wird, ist das Natural Language Processing also der Bereich der Spracherkennung und -generierung. In diesem Bereich gibt es einsetzbare Produkte und es ist zu erwarten, dass mittelfristig weitere Fortschritte erzielt werden, die beispielsweise automatisierte Kunden-Hotlines ermöglichen werden.

Schlussendlich hängt es stark vom Anwendungsgebiet ab, ob ein reiner Machine Learning Algorithmus oder ein polyvalenteres Produkt verwendet werden sollte. Gerne helfen wir Ihnen mit unserem Fachwissen eine massgeschneiderte Lösung für Ihre Problemstellung zu finden.

Blog

Machine Learning im Einsatz

  • 2018-08-072019-10-18
  • by mlit-ategra-admin

Machine Learning(ML), Artificial Intelligence (AI) und Data & Analytics (D&A) sind Schlagworte der heutigen Informatik. Es wird spekuliert, wie weit diese Intelligenz eines Tages gehen wird und was man damit wohl alles verbessern und verändern kann. Es wird grossartig erzählt, man wolle jetzt auch in diese neue Richtung gehen. Es wird gespitzelt, was die Konkurrenz schon kann und was sie noch können wird. Aber wie weit sind wir den WIRKLICH, wenn es um den Einsatz von diesen neuen Technologien geht? Ein Überblick aus verschiedenen Studien und Branchen.

69% der weltweiten Unternehmen geben an, dass D&A eine zentrale Rolle in ihrem aktuellen Geschäftsplan darstellen. Dies die Aussage der Studie „Going beyond the data“ von KPMG (https://assets.kpmg.com/content/dam/kpmg/pdf/2015/04/going-beyond-data-and-analytics-v4.pdf) aus dem Jahr 2014. Im Januar 2017 haben sich 64% der deutschen (und wohl auch der schweizer) Unternehmen aktiv mit diesem Thema beschäftigt. Gemäss der Studie „Machine Learning im Unternehmenseinsatz“ von crisp Research (https://www.unbelievable-machine.com/downloads/studie-machine-learning.pdf) setzen bereits ein Fünftel aller Unternehmen Machine-Learning Technologien ein.  Bei den Personen, welche am Schluss die Entscheidungen treffen, sieht es ganz ähnlich aus: Mit 43% ist fast die Hälfte davon überzeugt, dass Machine Learning ein wesentlicher Teil ihrer Datenanalyse-Strategie sein wird.

Warum werden Machine Learning Technologien in Betracht gezogen? Welchen Nutzen erhoffen sich die entscheidenden Personen? An erster Stelle der Zielsetzungen, welche mittels Machine Learning erreicht werden sollen, steht die Kundenbindung. Der Kunde soll sich verstanden fühlen und das Gefühl haben, persönlich wichtig und willkommen zu sein. Machine Learning Technologien sollen dies unterstützen, indem sie mithilfe der Daten über einen Kunden die richtigen Angebote oder Erklärungen bieten. Als zweites Ziel soll generell der Umsatz mit digitalen Services steigen. Auch hier liegt der Fokus darauf, dem Kunden ein gutes Gefühl zu geben, während er einen digitalen Service nutzt. Wenn Probleme auftreten, soll dem Kunden eine Lösung präsentiert werden, nicht einfach an ein Call-Center verwiesen werden. Der Kunde soll eine lebendige Interaktion mit der Maschine spüren können, nicht einfach stur ein Formular ausfüllen. An dritter Stelle der Zielsetzungen möchten mehr als ein Drittel der Befragten die Fehler an Produkten und Maschinen minimieren und gleichzeitig die Laufzeiten und Garantien erhöhen. Qualitätskontrollen sollen automatisch durchgeführt werden.  Informationen über Verschleiss und Defekt von Bauteilen soll dazu beitragen, gezielte Optimierungen vorzunehmen und dadurch die Laufzeiten zu erhöhen.

Wenig überraschend gehören die IT-Branche, Telekommunikation und Medien zu den Vorreitern beim Einsatz dieser Technologien. Ebenfalls vorne mit dabei sind die Konsumgüter-Branche und die Automobilfirmen. Das ist vielleicht schon überraschender. Branchen, welche bald an die Spitze aufschliessen werden, sind die Chemie, Logistik und Verkehr sowie Pharma. Viele weitere Branchen befinden sich in der Evaluationsphase und werden über kurz oder lang dazustossen.

Soweit die Zahlen und Ergebnisse aus wissenschaftlichen Studien. Wie sieht die Praxis nun konkret aus? Welche Schweizer Firmen nutzen Machine Learning bereits heute aktiv?

Beginnen wir mit einer Dienstleistung, welche die meisten von Ihnen kennen werden: Cumulus. Seit etwa einem Jahr gibt es Extra-Punkte für personalisierte Artikel. (http://www.netzwoche.ch/news/2017-06-29/martin-haas-ueber-cumulus-twint-und-die-migros-it)Habe ich während mehrerer Wochen Bio-Joghurt gekauft, erhalte ich beim nächsten Einkauf überraschend einen 40x-Bon auf alle Bio-Joghurt. Natürlich nur, sofern ich bei meinen Einkäufen die Cumulus-Karte vorweise. Aufgrund der gesammelten Daten zu meinen Einkäufen stellt der Machine Learning Algorithmus der Migros fest, woran ich interessiert bin, und fördert dieses Interesse gezielt durch zusätzliche Cumulus-Punkte.

Eine weitere Dienstleistung, welche viele kennen werden, sind Call-Center. Seit gestern Abend der Blitz im Nachbardorf eingeschlagen hat, habe ich kein Internet mehr. Daher rufe ich ins Call-Center an und erwarte, dass die Person am anderen Ende mein Problem sofort versteht, mögliche Ursachen im Kopf hat, diese überprüft und eine Lösung vorschlägt, wenn nicht sogar das Problem sofort löst. Nun sind die Personen im Call-Center auch keine Supermenschen, die einfach alles wissen. Deshalb hat Swisscom(https://www.swisscom.ch/de/business/enterprise/themen/digital-business/des-2017-002-interview-baeriswyl-artificial-intelligence.html#T=c4ce3968-82d1-482d-9369-ebb0642ad0e8&TS=WLnfpylswV0DN_sw7fLS7_nTjunMti7w6Q-eqHjcD_E) seit einigen Monaten einen neuen Machine Learning Assistenten im Einsatz, welcher den Personen im Call-Center aushilft. Aufgrund von Stichwörtern, welche der Call-Center-Mitarbeitende eingibt (zum Beispiel „Blitz, Internet, Problem“), und einigen Informationen über den Kunden (zum Beispiel welche Dienstleistungen er nutzt) sucht der Machine Learning Assistent nach ähnlichen Problemen bei ähnlichen Kunden und schlägt Lösungen vor. Dadurch wird nicht nur der Call-Center-Mitarbeitende entlastet, welcher beim besten Willen nicht wissen kann, wer sonst noch in den letzten 5 Jahren wann ein Problem hatte mit welchem Abonnement. Auch ich nach dem Anruf zufriedener, da ich dank dem Assistenten die erwartete Hilfe schneller bekommen habe als erhofft.

So gibt es über alle Branchen verteilt weitere Beispiele, wie Machine Learning eingesetzt wird. Novartis (https://www.novartis.com/news/media-releases/novartis-convenes-experts-discuss-new-technologies-healthcare-novartis ) stuft zukünftig den Vorschritt von Multipler Sklerose (MS) mit Hilfe eines Machine Learning Algorithmus ein. Patientenfreundlich sind dafür keine aufwendigen und anstrengenden Test mehr nötig, welche für ohnehin schon geschwächte Patienten zur Tortur werden, sondern werden die Bewegungen des Patienten mithilfe von Videoaufnahmen untersucht und zugeordnet. Die SBB (http://direktlink.prospective.ch/?view=4fddd4d5-ddfd-4043-b23a-146258ac4b61) sucht Personen mit Machine Learning Erfahrung, um die über lange Zeit gesammelten Daten zu strukturieren und mithilfe von „innovativen Methoden und Analysetools“ Informationen und Handlungsempfehlungen fürs Management zur Effizienzsteigerung abzuleiten. BMW (https://www.stepstone.de/stellenangebote–Data-Engineer-Machine-Learning-for-Autonomous-Driving-f-m-Muenchen-BMW-Group–4051614-inline.html) sucht Machine Learning Spezialisten, um das selbstständige Fahren von Autos voranzutreiben. ABB (http://new.abb.com/jobs/de/details/IN62067501_E4) sucht AI Wissenschaftler, um Analysen im Bereich Transport, Industrie, Betriebsmittel und Infrastruktur zu erstellen. Machine Learning ist eine gefragte Kunst in vielen Unternehmen weltweit, aber auch in der Schweiz.

Also nichts wie los! – Oder? Wo liegen die Schwierigkeiten? Wie können diese überwunden werden? Die eingangs erwähnten Studien haben ebenfalls darüber nachgedacht. Laut KPMG geben 85 Prozent der Befragten an, dass eine der grössten Schwierigkeiten darin liegt, den RICHTIGEN Algorithmus zu finden und zu implementieren. Eine weitere Schwierigkeit liegt darin, die richtigen Daten zu sammeln. Zudem benötigen die neuen Algorithmen oft leistungsstarke Hardware, wobei die grosse Auswahl die Entscheidung erschwert. Gemäss crisp Research vertrauen die meisten Unternehmen, welche Machine Learning einsetzen möchten, auf Ihre IT-Partner. Diese unterstützen die Unternehmen bei der Datenexploration und der Schulung der Mitarbeitenden, je nach interner Informatikabteilung jedoch auch bei der Festlegung der Algorithmen, der Implementation bis hin zur Einführung der neuen Technologien. So ist es für jedes Unternehmen möglich, von den neuen Technologien zu profitieren und das Beste aus den über Jahren angehäuften Informationen und Daten herauszuholen!

Blog

Die Auswirkung von AI auf Bots

  • 2017-07-182019-10-18
  • by mlit-ategra-admin

 

Schon immer war der Mensch ein Genie darin, für die Probleme welche ihm durch seine Umwelt gestellt wurden, das dazu passende Werkzeug zu erschaffen. Von den einfachen Steinwerkzeugen der Steinzeit bis hin zu den automatisierten Fabriken der Neuzeit. Heutzutage, wo eine die grösste Herausforderung des Alltags das durchdringen der täglichen Datenflut zu sein scheint, ist das keine Ausnahme. Schnell etablierten sich sogenannte Bots, kleine Programme welche repetitive Aufgaben übernehmen, das Internet nach Informationen durchsuchen oder automatisiert Fragen in Foren oder Chats beantworten.
Bots waren über Jahre hinweg grossartige Tools, wenn es darum geht einfache repetitive Dinge zu erledigen. Diese gehen von kleinen Twitterbots für das automatisierte schreiben von Kurznachrichten bis hin zum mächtigen Googlebot welcher täglich das Internet nach neuen Informationen durchkämmt. Jedoch waren diese Systeme bisher in ihren Aufgabengebieten sehr beschränkt.

Game-Changer Machine Learning

In den letzten Jahren erlebte eine bereits seit Jahrzehnten bekannte Technologie eine Renaissance. Durch die extrem gestiegene Rechenleistung von Computern ist das maschinelle Lernen aus seinem Schattendasein herausgetreten und zeigen fast überall wo es eingesetzt wird ihre Teils gewaltige Überlegenheit zu herkömmlichen Verfahren. So übertreffen Bilderkennungssysteme auf der Basis von ML bereits trainierte Menschen beim Beschreiben von Bildinhalten. Bis vor kurzem wurde noch davon ausgegangen, dass dies noch weit in der Zukunft liegen würde.
Das gleiche Muster zeigte sich jüngst auch beim antiken Brettspiel aus dem fernen Osten namens GO. Bei diesem schaffte es ein System von Google den momentanen Weltbesten Spieler zu bezwingen. Das scheint auf den ersten Blick nicht sehr beeindruckend. Doch dieses Spiel ist aus mathematischer Sicht um Grössenordnungen komplexer als z.B. Schach, weswegen von Experten lange bezweifelt wurde, ob es jemals einem Computer gelingen würde, auch nur annähernd so gut wie ein Menschlicher Widersacher zu sein. Deswegen spricht Demis Hassabis, der Leiter des Teams welches hinter dem Historischen Sieg in Go steht, bei Go vom Heiligen Gral der AI-Forschung. Er hofft die bei dem Spiel verwendeten Algorithmen auf reale Probleme anwenden zu könnten. Und so arbeitet das Team heute daran die Medizin zu revolutionieren.
(Sam Byford, DeepMind founder Demis Hassabis on how AI will shape the future, 2016, von http://www.theverge.com/2016/3/10/11192774/demis-hassabis-interview-alphago-google-deepmind-ai)
Das verfrühte Eintreffen von Expertenvorhersagen scheint mehr und mehr zur Gewohnheit zu werden. Man fragt sich, was wohl als nächstes durch das maschinelle Lernen revolutioniert wird.

Open-Source Bewegung

Ein wichtiger Grund für die grossen Sprünge, welche momentan im Bereich des ML gemacht werden ist die öffentlich verfügbare und gut dokumentierte Software. Diese werden von Unternehmen wie Google oder Facebook zur Verfügung gestellt und gepflegt. Hinzu kommt die grosse und aktive Community zu diesen Frameworks, welche sich rege über best practices und neue Entdeckungen austauschen. Dies ermöglicht es einer relativ grossen Masse an interessierten Personen schnell den Einstieg zu finden und eigene Experimente damit zu starten.
Daraus resultieren auch viele neue Startups, die die neuen Techniken an realen Problemen anzuwenden versuchen. Dabei sind sie meist sehr erfolgreich. Machine Learning befindet sich also auf dem Sprung in die Marktwirtschaft, und birgt Gefahren für Unternehmen welche den Anschluss verpassen.

ML-Upgrade für Bots

Was sind nun die Auswirkungen dieser rasanten Entwicklung auf Bots. Dazu müssen wir erst einen Blick in die Funktionsweise der „alten“ Bots werfen. Sie basieren normalerweise auf einem Regelset mit wenn-dann-Verknüpfungen. Wobei dies Abbildungsregeln vom Entwickler von Hand eingepflegt werden müssen. Dieser Prozess ist langwierig und Zeitintensiv. Das Resultat ist ein unflexibles System, welches nur einen sehr begrenzten Einsatzbereich hat.

Mit ML ist die Herangehensweise ein Andere. Es werden keine Regeln mehr definiert sondern das System lernt durch ein Set an Beispielen wie es sich zu verhalten hat. Beispielsweise zeigt man einem Chat-Bot eine grosse Anzahl an Fragen und Antworten, und der Bot versucht diese „nachzuahmen“ und generelle Regeln daraus abzuleiten. Er könnt zum Beispiel lernen, dass auf die Frage „Wie heisst dieser Schauspieler?“ ein Name gesucht wird und dass der Name mit einem Schauspieler in Verbindung stehen muss. Dadurch ist das System in der Lage auch Fragen zu beantworten, welche nicht so in den Trainingsdaten vorhanden ist. Die Menge der zur Verfügung stehenden Lern-Daten ist hierbei entscheidend für die Qualität des Systems. Die „Intelligenz“ eines solchen Bots auf der Basis von ML ist also genereller, als jener mit einem fixen Regelset.

Das Beispiel oben zeigt die neue Herangehensweise an die Entwicklung von Bots. Nicht mehr das Aufstellen der Regaltabellen nimmt die grosse Zeit in Anspruch, sondern das Erstellen und Aufbereiten der Beispieldaten. Und das System kann potentiell immer besser werden, sobald mehr Daten zur Verfügung stehen. Man könnte such zum Beispiel vorstellen, dass ein Chatbot die Antworten seiner Menschlichen Chatpartnern aufzeichnet und später als Trainigsdaten weiterverwendet um sich weiter zu verbessern.
Der Trend im Bereich der Bots ist klar. Wöchentlich werden neue Bots bekannt bei welchen diese ML Techniken erfolgreich angewendet wurden. Sie entwickeln sich mehr und mehr zu wirklich nützlichen Helfern im Alltag, wie Beispielsweise Google Now oder auch Siri zeigen. Und die riesigen Investitionen der grossen Player im Internet in diesem Bereich lassen vermuten, dass sich hier in der nächsten Zeit noch einiges bewegen wird. Man darf also gespannt sein.

Blog

Natural Language Processing (NLP) – ein Überblick

  • 2017-07-152019-10-18
  • by mlit-ategra-admin

Artificial Intelligence, Machine Learning und Natural Language Processing erleben z.Z. einen Aufschwung. Die Gründe dafür sind schnellere Prozessoren (z.B. von NVIDIA), riesige abrufbare Datenbestände im Internet und v.a. auch neue, gute Open Source Software Libaries. Dieser Artikel beschreibt, die wichtigsten darunter.

Da man nicht jedes Mal das Rad neu erfinden will sobald man einen Text analysieren muss, gibt es verschiedene Open-Source Toolkits und Software Bibliotheken, sogenannte Libraries, welche einem die Arbeit vereinfachen. Unter anderem kann man mit solchen Tools herausfinden, ob ein Text eine negative oder positive Konnotation hat.

In diesem Artikel werden wir untersuchen was für Open-Source NLP Libraries es gibt und ob es welche gibt, die besonders geeignet sind für gewisse Analysen und Programmiersprachen.

NLTK

Das Natural Language Toolkit (NLTK) ist eine Plattform welche das Verarbeiten von Texten vereinfacht. Die Plattform basiert auf der weitverbreiteten und beliebten Programmiersprache Python und ermöglicht somit auch die reibungslose Zusammenarbeit mit anderen bekannten und viel genutzten Python-Modulen. NLTK bietet Zugang zu mehr als 50 Linguistischen Korpora und lexikographischen Ressourcen an. Sehr oft wird Textverarbeitung mit Maschinellem Lernen (oder Machine Learning) erweitert oder kombiniert. Dies macht das NLTK umso attraktiver, da es sich mit den bestehenden Machine Learning Libraries in Python wie Scikits.learn oder NumPy/SciPy problemlos einbinden lässt. Zudem ist die NLTK Gemeinschaft gross und wenn man was nicht durch Web-Recherchen findet kann man auch gut in der online Version des Buches (http://www.nltk.org/book/) nachschlagen. Somit können Anfänger sowie Fortgeschrittene mit diesem Toolkit bequem arbeiten.

Die Stanford CoreNLP

Stanford University hat ihre eigene NLP Software mit Open-Source zur Verfügung gestellt und heisst Stanford CoreNLP. Sie basiert auf Java und unterstützt die wichtigsten  NLP-Funktionalitäten wie grammatikalische Analyse, schnelles verarbeiten und analysieren von Texten und Text Analytics. Obwohl es primär für Java programmiert wurde, gibt es zahlreiche APIs (Application Programming Interfaces) welche es ermöglichen die Library auch mit anderen Programmiersprachen zu verwenden. Stanford CoreNLP unterstützt nicht nur mehrere Computersprachen, sondern auch zahlreiche menschliche Sprachen wie Arabisch, Chinesisch, Englisch, Französisch, Deutsch und Spanisch. Die Unterstützung von so vielen gesprochenen Sprachen macht dieses Tool sehr attraktiv, insbesondere für Programme, wo man all diese Sprachen unterstützen muss. Da es so viele Funktionalitäten hat und mehrere Programmiersprachen unterstützt, kann es zum Teil etwas schwer fallen, konkrete Lösungen zu individuellen Problemen zu finden.

Apache OpenNLP

Eine weitere Java NLP Library ist die Apache OpenNLP Library. Wie alle anderen zuvor vorgestellten Software-Bibliotheken steht auch hier die Verarbeitung und Analyse von Texten im Vordergrund. Somit unterstützt Apache OpenNLP unter anderem auch die verbundenen Funktionalitäten wie tokenization, sentence segmentation, part-of-speech tagging und named entity extraction. Je nach Anwendung werden zusätzlich zu Englisch noch weitere Sprachen unterstützt, meistens sind es aber nicht die meistgesprochenen Sprachen, welche unterstützt werden (siehe http://opennlp.sourceforge.net/models-1.5/, man beachte jedoch, dass die aktuelle Version 1.7.2 ist). Es ist eine gute Library um in der NLP-Domäne Fuss zu fassen, da es einige Anleitungen im Internet hat und man sich damit schnell mit den Konzepten vertraut machen kann. Offiziell werden keine weiteren Programmiersprachen unterstützt, allerdings findet man nach kurzem suchen schnell sogenannte Wrapper welche die Benutzung von Apache OpenNLP durch z.B. Python ermöglichen.

MALLET (MAchine Learning for LanguagE Toolkit)

MALLET ist ein Toolkit, welches an der University of Massachusetts entwickelt wurde. Obwohl es eine offizielle Dokumentation gibt, sollte man sich bewusst sein, dass dies kein Tool für Anfänger ist. Viele Funktionalitäten sind nicht mit einprogrammiert und müssen von Null auf gemacht werden. Das ist nicht zwingenderweise etwas schlechtes, da man mit diesem Tool genau das machen kann, was man will. Topic Modeling ist eine der Stärken von MALLET. Dies erlaubt es MALLET einen Text zu nehmen und Wörter zusammenzunehmen, welche einem ähnlichen Thema entsprechen. Auch hier gibt es zwar Wrappers für andere Programmiersprachen, dennoch ist die Haupt-Programmiersprache Java. Viel Unterstützung bei Problemen kann man sich hier nicht erhoffen. Nichts desto trotz ist es ein starkes Tool und wird in der Forschung und Industrie immer wieder benutzt.

 

Natürlich gibt es noch viele weitere Toolkits und Libraries welche hier nicht behandelt wurden. Allerdings decken diese vier schon ein sehr grosses und allgemeines Gebiet ab. Schlussendlich muss auch jeder Entwickler und jede Entwicklerin das beste Tool für sich heraussuchen und damit arbeiten. Dies kann je nach NLP und Machine-Learning-Erfahrung, Programmierkenntnissen und Projekt ganz unterschiedlich sein. Mit etwas Übung und Kreativität lässt sich aber mit allen Tools ganz viel machen!

 

Quellen:

http://www.nltk.org/

https://stanfordnlp.github.io/CoreNLP/

https://nlp.stanford.edu/pubs/lrecstanforddeps_final_final.pdf

https://opennlp.apache.org/

http://mallet.cs.umass.edu/

Neueste Beiträge

  • Der Unterschied von Machine Learning und Artificial intelligence
  • Machine Learning im Einsatz
  • Die Auswirkung von AI auf Bots
  • Natural Language Processing (NLP) – ein Überblick

Urheberrechtshinweise

Auf dieser Webseite werden Namen und Logos verschiedener Organisationen und Softwareprojekte verwendet. Die Verwendung der Logos erfolgt unter den Bedingungen der jeweiligen Lizenzvereinbarungen. Die Verwendung dieser Logos stellt keine offizielle Billigung oder Partnerschaft durch die jeweiligen Unternehmen dar.
Hiermit möchten wir die entsprechenden Urheberrechte und Markenrechte anerkennen und die erforderlichen Danksagungen aussprechen:

PyTorch und zugehörige Marken: PyTorch, das PyTorch-Logo und alle zugehörigen Marken sind eingetragene Markenzeichen der Linux Foundation.” Weitere Informationen zur Markenrichtlinie finden Sie unter Linux Foundation Trademark Usage. Das PyTorch-Logo wird unter der BSD-Lizenz verwendet. Ursprünglich von PyTorch - Wikimedia Commons bereitgestellt.

Docker und zugehörige Marken: Das Docker-Logo ist ein Warenzeichen von Docker, Inc. und wird unter Einhaltung der Docker-Markenrichtlinien verwendet.

Admin

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
Copyright Ategra 2020
Theme by Colorlib Powered by WordPress