SAP CodeJam Darmstadt: Maschinelles Lernen

SAP CodeJamDie Consetto GmbH und die SAP SE veranstalten am 15.06 einen SAP CodeJam zum Trendthema Machine Learning.

Das CodeJam ist eine ganztägige Veranstaltung, während der ein „End-to-End-Szenario“ mit verschiedenen Technologien entwickelt wird. Es handelt sich um ein „Hands-on-Event“ und die Teilnehmer sind aufgefordert aktiv mitzuwirken; ein eigener Laptop wird benötigt. Die Veranstaltung wird von einem SAP-Experten geleitet, der vor Ort Ihre Fragen beantworten und Einblicke und Tipps geben wird.

Die Veranstaltung richtet sich an Entwickler, Berater, Entscheider sowie Studenten mit Interesse an Machine Learning oder SAP-Technologien. Es wird kein spezielles Vorwissen benötigt.

Die Veranstaltung findet bei der Consetto GmbH im HUB 31 in Darmstadt statt. Der Eintritt ist frei. Eine vorherige Registrierung ist notwendig.

Die Veranstaltungssprache ist Englisch!

Weitere Infos und Anmeldung unter folgendem Link:
https://www.eventbrite.com/e/sap-codejam-darmstadt-registration-45950262472

 

HUB 31: Neuer Raum für Innovationen

Hub 31 Logo #HUB31 Seit Dezember 2017 ist die Consetto GmbH im neuen Technologie- und Gründerzentrum HUB 31 Zuhause. Unser Umzug hat zwei Gründe:

Wir begrüßen im Januar zwei neue Kolleg(inn)en und unser altes Büro war einfach zu klein. Zum anderen bietet das HUB 31 herausragende Möglichkeiten für unsere zukünftige Entwicklung.

Das HUB 31 ist ein gemeinsames Projekt der Stadt Darmstadt und der IHK Darmstadt und befindet sich in der Hilpertstraße 31 in Darmstadt. Auf 3800 Quadratmetern Fläche bekommen Startups und innovative Unternehmen alles, was sie zum Wachsen benötigen.

Die Consetto GmbH gibt es nun seit 2014 und wir gelten damit nur bedingt als Startup. Das HUB 31 ist für uns dennoch genau der richtige Ort, an dem wir Kontakte zu anderen innovativen Unternehmen und Startups pflegen und ausbauen können.
Außerdem haben wir genügend Platz für unser weiteres Wachstum. Neben unseren eigenen Büroräumen können wir einen 400qm großen Loungebereich nutzen, den wir uns mit anderen Unternehmen teilen.

Darüber hinaus bietet das HUB 31 Co-Working-Spaces, Werkstätten und Konferenzräume. Auf dem Gelände werden regelmäßig Veranstaltungen zu den Themen Startups und Innovationen stattfinden.

Bei der Eröffnung am 13.12.2017 bezeichnete der hessische Wirtschaftsminister Tarek Al-Wazir das HUB 31 als eine Frischzellenkur für die Wirtschaft. Es soll Wagemutigen Mut zur Chancennutzung machen.

Wir freuen uns, dass wir als eins der ersten Unternehmen von Anfang an dabei sind. Wir werden unseren Beitrag dazu leisten, um das HUB 31 zum Epizentrum der Gründerregion Darmstadt Rhein-Main zu machen.

Schauen Sie doch einfach mal auf einen Kaffee bei uns vorbei!

Consetto GmbH
HUB 31
Hilpertstraße 31
64295 Darmstadt

 

Hub 31 Open Space

HUB 31 Coworking Space

HUB 31 Open Space

Hub 31 Lounge

HUB 31 Lounge

Einführung in die künstliche Intelligenz

Künstliche Intelligenz: Wie lernt eigentlich ein Computer?

Vor ungefähr 50 Jahren wurde das erste intelligente Computerprogramm vorgestellt. Es war ein einfacher Chatbot der hauptsächlich mit Gegenfragen antwortete um den Benutzer zum Weitermachen zu bewegen. Wirkliche Intelligenz war natürlich nicht vorhanden. Es zeigte aber bereits, wie die Kommunikation zwischen Computer und Mensch aussehen kann.

Seitdem hat sich natürlich vieles verändert. Der heute wohl bekannteste Chatbot heißt Siri und befindet sich auf einem Apple iPhone. Auch abseits von Chatbots hat sich einiges getan. Intelligente Computersystem sind aus unserer heutigen Gesellschaft kaum noch wegzudenken und werden immer wichtiger. Täglich interagiert jeder von uns mehrmals mit solchen Systemen, bewußt oder unbewußt. Wann haben Sie sich zum Beispiel die letzte Wettervorhersage angesehen? Haben Sie dazu sogar nach “Wetter” gegoogelt?

Der Entwicklung von immer mehr intelligenten Computersystemen steht aber auch eine immer größere Angst vor künstlicher Intelligenz gegenüber. Diese wird oft von Horrorszenarien oder Science-Fiction-Filmen befeuert. Das beste Bespiel sind wohl die Terminator Filme mit Arnold Schwarzenegger. Dort übernimmt zum Beispiel ein umfassendes Roboternetz die Weltherrschaft und versucht die Menschheit auszulöschen.

Die eigentliche Ursache dieser Ängste entsteht aber meistens durch Unwissenheit. Kaum jemand weiß was eine künstliche Intelligenz eigentlich ist oder wie man eine künstliche Intelligenz entwickelt. Diesem Unwissen möchten wir mit diesem Artikel ein bisschen entgegen wirken. Die Beispiele sind alle sehr einfach gehalten und sollten jedem zugänglich sein.

Wie definiert man eigentlich künstliche Intelligenz?

Bevor es richtig losgeht, möchten wir gerne noch ein paar Anmerkungen zur Definition von künstlicher Intelligenz machen. Diese Frage wird schon seit dem Beginn der künstlichen Intelligenz immer wieder kontrovers diskutiert. Die bis heute am meisten akzeptierte Aussage wurde während der Dartmouth Konferenz 1956 definiert:

Every aspect of learning or any other feature of intelligence can be so precisely described that a machine can be made to simulate it1

Ein wichtiger Aspekt dieser Aussage ist, dass man zunächst einmal eine Form von Intelligenz beschreiben muss. Wenn man das geschafft hat, muss man im zweiten Schritt zeigen, dass sich diese beschriebene Intelligenz auch simulieren lässt. Doch meistens scheitert man schon am der ersten Fragestellung: Was ist überhaupt Intelligenz?

Die Frage nach einer künstlichen Intelligenz hat uns also zunächst zu der Frage nach der Definition von Intelligenz geführt. Für Intelligenz existieren heutzutage aber eine Vielzahl von Ansichten2. Zudem hängt eine Definition von Intelligenz sehr stark von der Kultur ab, in der wir leben. Die Definition von künstlicher Intelligenz hängt also auch sehr stark von unser Lebensweise und unserem Umfeld ab. In 1000 Jahren wird der Begriff (künstliche) Intelligenz sicher ganz anders definiert sein.

Über die philosophische Fragestellen nach der Definition von Intelligenz lässt sich sicherlich noch viel diskutieren. Ein Ende der Diskussion wird es aber wohl nie geben. Deshalb überlassen  wir es Ihnen sich in dieses Thema weiter einzuarbeiten. Im Folgenden möchten wir lieber darauf eingehen, wie heutzutage intelligente Computerprogramme entwickelt werden.

Wie entwickelt man ein intelligentes Computerprogramm?

Ok. Los geht’s. Wie entwickelt man eine künstliche Intelligenz? Wir können es gleich vorwegsagen: Es gibt kein großes Geheimnis. Das einzige was wir machen müssen ist: Daten in eine mathematische Funktion zu konvertieren. Das ist alles! Wirklich!

Am besten lässt sich das an einem Beispiel veranschaulichen. Für einen Hersteller von Ballwurfmaschinen sollen wir die Flughöhe eines Balles zu einem bestimmten Zeitpunkt bestimmen. Dafür hat uns der Hersteller ein paar Messwerte gegeben, die uns zeigen welche Ballhöhe der Ball zu einem bestimmten Zeitpunkt hat. Allerdings sind die Messewerte des Herstellers nicht so genau und wir müssen diese Fehler berücksichtigen. Die Werte sehen wir in folgender Grafik.


012301234

In der Grafik lässt sich schon gut erkennen, dass der Verlauf des Balles fast immer dem selben Muster folgt. Doch es gibt immer wieder Abweichungen und es ist nicht für jeden Punkt genau bestimmt welche Höhe er hat. Die Höhe zum Zeitpunkt 1,2453454 oder zum Zeitpunkt 2,56743 lässt sich beispielsweise nur ungefähr abschätzen, indem wir Punkte in der Nähe betrachten. Was uns fehlt ist so etwas wie eine Berechnungsvorschrift, die uns für einen bestimmten Zeitpunkt die Höhe des Balles berechnet. Und genau das macht eine künstliche Intelligenz. Sie nimmt eine mehr oder weniger große Anzahl von Daten und erstellt uns daraus eine Berechnungsvorschrift, die die Daten besonders gut abbildet. In unserem Fall könnte eine solche Berechnungsvorschrift mit einer einfachen mathematischen Funktion abgebildet werden:

(Für Mathefans: Die Funktion ist in diesem Fall höhe=(zeitpunkt2)2+4höhe=−(zeitpunkt−2)2+4):

012301234

Doch warum nehmen wir genau diese Funktion und nicht zum Bespiel eine einfache Gerade oder eine Funktion die viel komplizierter ist und möglichst alle Punkte miteinander verbindet? Das ist genau die Frage die wir uns bei der Entwicklung einer künstlichen Intelligenz immer fragen müssen.

In diesem Fall haben wir bereits festgestellt, dass das Messverfahren ein paar Fehler hat und die Werte nicht genau sind. Deshalb macht es durchaus Sinn eine nicht so komplizierte Funktion zu nehmen. Des Weiteren versuchen wir eine Funktion zu finden, bei der die Fehler zu den gegeben Daten minimiert werden und möglichst wenige Abweichungen haben. Im Allgemeinen versucht man in der künstlichen Intelligenz immer eine möglichst einfache Funktion zu finden, die die Daten am besten abbildet.

Von den Daten zur Funktion

Das oben beschriebene Beispiel ist natürlich stark vereinfacht gewesen. Eine Funktion ließe sich dort durch einfaches Anschauen der Daten leicht erkennen. Das ist aber bei fast allen Anwendungen der künstlichen Intelligenz nicht der Fall. Bei den meisten Anwendungen gibt es eine sehr große Menge von Daten, deren Zusammenhänge sich meistens nicht erkennen lassen. Deshalb brauchen wir gute Verfahren um unsere Daten in eine Funktion zu transformieren. Die Wissenschaft hat dazu in den vergangenen Jahren eine Vielzahl von Verfahren entwickelt. Die meisten dieser Verfahren verwenden dazu heute oft komplizierte statistische Methoden. Um diese Verfahren benutzen zu können, müssen die gegebenen Daten aber vorverarbeitet und in das richtige Format gebracht werden. Mithilfe des statistischen Verfahrens und den transformierten Daten kann man dann ein sogenanntes Modell der Daten erstellen. Dieses Modell beschreibt unsere benötigte mathematische Funktion.

In komplexen Anwendungen wie Siri werden oft mehrere statistische Modelle benutzt. Das erste Model konvertiert zum Beispiel die Stimme des Handybesitzers in einen Text. Ein zweites Model transformiert den Text in einen Antworttext und das dritte Model verwandelt den Antworttext in die typische Siri Stimme.

Zusammenfassung

Künstliche Intelligenzen werden heute oft zu mehr gemacht als sie wirklich sind. Letztendlich sind sie nur Verfahren, die eine Menge von Daten in mathematische Funktionen transformieren. Mit wirklicher Intelligenz, wie wir sie von Menschen kennen, hat das noch wenig zu tun. Dennoch können diese künstlichen Intelligenzen im Alltag sehr hilfreich sein und unser Leben verbessern.

  1. McCarthy et al. 1955. Diese Aussage wurde erstmals im Programm der Dartmouth Konferenz von 1956 gedruckt. Diese Konferenz wird oft als die Geburtsstunde der Künstlichen Intelligenz angesehen.
  2. Definitionen von Intelligenz

 

Wie programmiere ich einen Chatbot für Börsenkurse?

Vor ungefähr 50 Jahren wurde das erste intelligente Computerprogramm vorgestellt. Hierbei handelte es sich um einen einfachen Chatbot, der hauptsächlich mit Gegenfragen antwortete um den Benutzer zum Weitermachen zu bewegen. Wirkliche Intelligenz war natürlich nicht vorhanden. Es zeigte aber bereits, wie die Kommunikation zwischen Computer und Mensch aussehen kann. Seitdem hat sich natürlich vieles verändert. Der heute wohl bekannteste Chatbot heißt Siri und befindet sich auf dem Apple iPhone. Aber auch heute ist das Erstellen eines eigenen Chatbots noch relativ komplex. Vor allem, wenn dieser jede Menge verschiedene Frage beantworten sollen. Im nachfolgenden Artikel zeigen wir dir wie du einen einfachen Chatbot bauen kannst, der dir den aktuellen Börsenkurs eines Unternehmens aufzeigt. Dabei besteht die Schwierigkeit zunächst darin, das Unternehmen in einem Satz zu erkennen und anschließend auf ein Börsensymbol abzubilden. Mit dem Börsensymbol kannst du über eine API den aktuellen Kurs abfragen und diese Information ausgeben.

Hinweis: Dieser Beitrag beschreibt das grundsätzliche Vorgehen für den Bau eines Chatbots. Den kompletten Code des Chatbots findest du auf Github.

pexels-photo

Daten sammeln

Zunächst solltest du dir einige Beispielfragen überlegen, die ein Benutzer deinem Chatbot stellen kann. Das hilft dir zum einen dabei das Problem besser zu verstehen und zeigt dir zum anderen wie gut dein Bot bereits funktioniert. Natürlich kannst du die Beispiele immer wieder nutzen, um deinen aktuellen Stand während der Entwicklung zu testen. Am besten erweiterst du deine Beispiele auch mit Beispielen von anderen Personen. Dazu kannst du entweder Kollegen fragen oder bei Twitter nach Fragen suchen, die Wörter wie Aktie, Aktienkurs oder ähnliches enthalten. Bei der Entwicklung deines Chatbots könntest du beispielsweise folgende Fragen verwenden:

  • Daimler Aktie: Wohin klettert der Aktienkurs?
  • Wie steht es eigentlich um den Aktienkurs von Puma?
  • Hat schon jemand ermittelt, welche Auswirkungen diese Ankündigung auf den Aktienkurs von Twitter haben wird?
  • Warum hat der Aktienkurs von Heliad eigentlich so einen dermaßen Abstand zum Substanzwert?
  • Hat verafake eigentlich eine Auswirkung auf den Aktienkurs von der RTL Group?
  • Hat mal jemand den aktuellen Twitter Aktienkurs für mich?
  • Oh eine Apple-Keynote. Geht jetzt der Aktienkurs wieder hoch?
  • Mal was anderes, wie steht der Aktienkurs für Rosen?
  • Trump gegen Apple – was bedeutet das für den Aktienkurs?
  • Wetten der Aktienkurs von Samsung bricht ein? Das war zu wenig. VR is not ready for primetime yet.
  • Ist der Kurs von AAPL nach der WEKO-Ankündigung bereits um 10% gefallen?
  • Bleibt die BMW Aktie stabil?
  • Was ist eigentlich mit der Aktie von Funkwerk los?
  • Tesla präsentiert neuen SUV! Die Zahlen sprechen für sich. Was macht das mit dem Kurs der Aktie?
  • Sinkt der Kurs der Baidu-Aktie weiter?
  • Seit Ende Juli fällt der Kurs der Apple-Aktie. Ist das nur ein Zwischentief?
  • Deutsche Börse Aktie: Jetzt wieder kaufen?
  • Was macht der Dax?
  • Hat gerade jemand die Börse im Blick und weiß, wie teuer guter Rat im Moment so ist?
  • Wie hat sich der Aktienkurs von Google in den letzten Monaten entwickelt?
  • Zeige mit den Aktienkurs von Google.
  • Zeige mit den Aktienkurs von Siemens vom letzten Jahr bis heute.
  • Lufthansa fliegt wieder Türkei an: Was macht die Aktie?
  • Nach Putschversuch: Aktie der Turkish Airlines bricht ein.

Problem-Definition und Analyse

Jeder Chatbot hat verschiedene Frageabsichten, die er versucht zu erkennen. Im Englischen kennt man diese Absichten unter dem Begriff Intent. Mögliche Intents sind zum Beispiel die Frage nach dem aktuellen Aktienkurs oder aber die Frage der Kursentwicklung der letzten Monate. Ignoriere bei deinem Chatbot zunächst die Tatsache, dass es mehrere Intents gibt, denn das vereinfacht das Ganze. Nimm also an es gäbe es nur einen Intent, nämlich den aktuellen Aktienkurs eines Unternehmens. Natürlich können die Fragen auch direkt Börsensymbole enthalten. Wie z.B. in der folgenden Frage: „Ist der Kurs von AAPL nach der WEKO-Ankündigung bereits um 10% gefallen?“ Aber auch Unternehmen, die eigentlich gar keine Unternehmen sind, können in den Fragen inbegriffen sein: „Mal was anderes, wie steht der Aktienkurs für Rosen?“ Wenn es sich dann, aber doch um ein „echtes“ Unternehmen handelt, ist es möglich, dass der Name von diesem aus mehreren Wörtern besteht. Wie z.B. in folgender Frage: „Nach Putschversuch: Aktie der Turkish Airlines bricht ein.“ Aber auch Mehrdeutigkeiten können in der Fragestellung enthalten sein. Ein Beispiel ist der Satz: „Wetten der Aktienkurs von Samsung bricht ein? Das war zu wenig. VR is not ready for primetime yet.“ In Kontext dieser Frage steht VR für Virtual Reality. Oftmals verwendet man die Abkürzung VR aber auch als das Börsensymbol von Validus Holdings, Ltd.

construction-work-carpenter-tools

Extraktion von Entitäten

Der erste Schritt zu deinem Chatbot besteht darin, aus einem Satz die sogenannten Entitäten zu extrahieren. In deinem Fall sind das die Unternehmensnamen. Diese Extraktion ist ein klassischer Anwendungsfall des Machine Learnings. Ziel ist es jedes Wort eines Satzes zu klassifizieren. Entweder ist das Wort ein Unternehmensname oder es ist kein Unternehmensname. Allerdings hast du in deiner Analyse bereits festgestellt, dass es auch Unternehmensnamen gibt, die aus mehreren Wörtern bestehen können, wie zum Beispiel „Turkish Airlines„. Um auch solche Fälle zu erfassen, solltest du die Klassen des Klassifizierens abändern. Anstatt des Falles, dass es nur zwei Klassen gibt (Wort ist ein Unternehmensname, Wort ist kein Unternehmensname), solltest du deinen Klassifizierer um eine Klasse erweitern (Beginn eines Unternehmensnamens (B), innerhalb eines Unternehmensnamens (I), außerhalb eines Unternehmensnamens (A)). Wie in folgenden Beispielen:

  • Bleibt/A die/A BMW/B Aktie/A stabil/A
  • Aktie/A der/A Turkish/B Airlines/I bricht/A ein/A.

Glücklicherweise brauchst du einen Klassifizierer dieser Art nicht selbst entwickeln. Für viele Sprachen, unter anderem auch Deutsch, gibt es bereits sogenannte Named Entity Recognizer (NER). Ein Named Entity Recognizer extrahiert verschiedene Entitäten aus einem Satz. Als Entitäten gelten sowohl Unternehmensnamen, als auch Personen sowie Orte. Natürlich werden alle Named Entitys auch als solche markiert. Hier ein Beispiel:

  • Max/B-Person Mustermann/I-Person arbeiten/A als/A Handwerker/A in/A Darmstadt/B-Ort.

In deinem Chatbot kannst du zum Beispiel den Named-Entity-Recognizer, der an der Stanford Universität entwickelt wurde, verwenden. Dieser unterstützt auch die deutsche Sprache. Eine Demo des NER findest du unter folgendem Link: http://nlp.stanford.edu:8080/ner/process. Um ihn mit deutschem Text zu testen, musst du bei dem Punkt „Classifier“ den deutschen Classifier auswählen. Nach ein paar Beispielen wirst du dann schnell feststellen, dass nicht alle Enitäten erfasst werden können. Bei folgendem Satz wird dein NER zum Beispiel gar keine Entitäten erkennen: „Hat mal jemand den aktuellen Twitter Aktienkurs für mich?“ Aus diesem Grund benötigst du noch weitere Methode, um die Unternehmensnamen extrahieren zu können. Für die finale Version deines Bots gibt es folgende Methoden:

Nominalphrasen: Eine Nominalphrase (NP) ist eine abgeschlossene syntaktische Einheit innerhalb eines Satzes, deren Kopf ein Nomen ist.

Präpositionalphrase: Eine Präpositionalphrase (PP) ist in der Grammatik eine abgeschlossene Wortgruppe, deren Kopf eine Präposition ist.

Part-of-Speech-Tag (POS) von Type NE: Unter Part-of-speech Tagging versteht man die Zuordnung von Wörtern und Satzzeichen eines Textes zu Wortarten. Hierzu wird sowohl die Definition des Wortes als auch der Kontext berücksichtigt. Wörter der Wortart NE (Named Entity) werden auch als Kandidaten von Unternehmensnamen berücksichtigt.

Ähnlich wie beim NER werden auch Phrasen und Part-of-Speech-Tags mit Klassifizierern erkannt. Auch hierfür gibt es bereits ein Vielzahl von fertigen Klassifizieren. Für deinen Chatbot kannst du wieder Tools von Stanford verwenden. Mit Hilfe von NER, Pharsen und POS kannst du jetzt aus jedem Satz mehrere Entitäten extrahieren. Diese Entitäten musst du anschließend zu Börsensymbolen umwandeln. Dadurch, dass du nun mehrere Entitäten für einen Satz hast, kann es vorkommen, dass du nicht mehr genau weißt, welcher Kandidat der richtige ist. Hier ein Beispiel:

Daimler Aktie: Wohin klettert der Aktienkurs?
=> Daimler Aktie (NER), der Aktienkurs (NP), Daimler (NE)

Um dieses Problem zu lösen kannst du die einzelnen Kandidaten durch Machine Learning bewerten lassen und eine Rangfolge aufstellen oder aber gleich einen spezialisieren NER programmieren, der Unternehmensnamen zuverlässig erkennt. Für beide Verfahren benötigst du allerdings jede Menge Trainingsdaten, über die du zum jetzigen Zeitpunkt noch nicht verfügst. Trotzdem wirst du relativ schnell erkennen, dass nicht jeder Kandidat zu einem Börsenkurs führt. Aus diesem Grund kannst du davon ausgehen, dass jede Menge Kandidaten verloren gehen, sobald du versuchst diese in ein Börsensymbol umzuwandeln.

Von Entitäten zu Börsensymbolen

Nachdem du alle möglichen Entitäten gefunden hast, kannst du diese nun in Börsensymbole umwandeln. Die Umwandlung kannst du aber nicht automatisch durchführen, denn hierzu benötigst du mehrere Wissensquellen. Zunächst einmal ist es hilfreich über eine möglichst vollständige Liste an Börsensymbolen mit Unternehmensnamen zu verfügen. Leider wird eine Liste in dieser Art nicht kostenfrei angeboten. Allerdings hast du die Möglichkeit mit dem Yahoo-Ticker-Symbol-Downloader circa 80 bis 90 Prozent der Liste herunterzuladen. Anschließend kannst du die Liste nehmen und daraus ein Suchindex erstellen. Für den Suchindex und das anschließende Suchen darin empfiehlt es sich Apache Lucene zu verwenden. Da die Liste der Börsenkurse mit circa 100.000 Einträgen ziemlich klein ist, kannst du den Suchindex im Hauptspeicher halten und benötigst keine komplexeren Technologien wie Elasticsearch oder Apache Solr. Das Problem an diesem Suchindex ist allerdings, dass ein Unternehmen darin mehrmals auftauchen kann, da es für jeden Handelsplatz ein eigenes Börsensymbol gibt. Für die Daimler AG gibt es z.B. die Symbole DAI.F (Frankfurt), DAI.MU (München) und DAI.SG (Stuttgart). Ein weiteres Problem besteht darin, dass mache Unternehmen unter einem anderen Namen an der Börse auftauchen. Das bekanntestes Beispiel ist Google, denn der Konzern ist mittlerweile unter dem Namen Alphabet an der Börse zu finden.

Um diese Probleme zu lösen, kannst du als weitere Wissenquelle noch Wikidata verwenden. Bei Wikidata handelt es sich um eine Sammlung von Objekten, die aus beliebig vielen Aussagen und Behauptungen bestehen. Ein Objekt stellt in deinem Fall ein Unternehmen dar. Für das Unternehmen werden auch Aussagen über das Börsensymbol getroffen. Über die Wikidata-API kannst du nach Objekten suchen und dir dann das Börsensymbol ausgeben lassen. Das funktioniert für bekannte Unternehmen ziemlich gut. Für kleinere Firmen wird aber in den meisten Fällen leider kein Objekt oder Börsensymbol gefunden. Eine Kombination der beiden oben genannten Methoden führt häufig zu einem richtigen Börsensymbol. Aber Vorsicht: gerade bei weniger bekannten Unternehmen kann es sich dabei dennoch um eine Falschaussage handeln.

marketing-man-person-communication

Abfrage von Aktienkursen und Ausgabe des Textes

Nachdem du den Unternehmensnamen im Text identifiziert und die in ein Börsensymbol umgewandelt hast, beginnt nun der einfache Teil: Mithilfe des Börsensymbol kannst du nun über die Yahoo Finance API die Aktienkurse abrufen und anschließend einen Ausgabetext generieren. Am besten machst du das nur, wenn du dir wirklich sicher bist, dass du auch ein gutes Börsensymbol gefunden hast. Sollte das nicht der Fall sein, frag besser noch einmal nach welches Börsensymbol der Nutzer meint. Für den Fall, dass kein Börsensymbol vorhanden ist, ist es am besten, wenn du sagst, dass kein Unternehmen identifiziert werden konnte. Bei einem möglichen Produktbetrieb empfehlen wir dir die Antworten vorher immer noch einmal durch einen Menschen zu überprüfen, um sicherzustellen, dass sie auch stimmen. Damit kannst du dir auch eine größere Datenbasis aufbauen und weitere Verbesserungen an deinem Chatbot vornehmen.

Analyse der finalen Ausgabe

Daimler Aktie: Wohin klettert der Aktienkurs?
Der Kurs von Daimler (DAI.F) beträgt aktuell: 59.515 EUR
Wie steht es eigentlich um den Aktienkurs von Puma?
Der Kurs von Puma (PUM.F) beträgt aktuell: 220.079 EUR.
Hat schon jemand ermittelt welche Auswirkungen diese Ankündigung auf den Aktienkurs von Twitter haben wird?
Der Kurs von Twitter (TWTR) beträgt aktuell: 18.75 USD.
Warum hat der Aktienkurs von Heliad eigentlich so einen dermaßen großen Abstand zum Substanzwert?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: HPBK.MU (Heliad)?
Hat verafake eigentlich eine Auswirkung auf den Aktienkurs von der RTL Group?
Der Kurs der RTL Group (RRTL.F) beträgt aktuell: 75.37 EUR.
Hat mal jemand den aktuellen Twitter Aktienkurs für mich?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: TWR.DU (Twitter Aktienkurs)?
Oh eine Apple-Keynote. Geht jetzt der Aktienkurs wieder hoch?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: APC.HM (Apple-Keynote)?
Mal was anderes, wie steht der Aktienkurs für Rosen?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: MNK (Mal), ROI.F (Rosen)?
Trump gegen Apple – was bedeutet das für den Aktienkurs?
Der Kurs von Apple (AAPL) beträgt aktuell: 100.33 USD.
Wetten, dass der Aktienkurs von Samsung ein bricht? Das war zu wenig. VR is not ready for primetime yet.
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: SSNLF (Samsung), VRX (VR)?
Ist der Kurs von AAPL nach der WEKO-Ankündigung bereits um 10% gefallen?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: AAPL (AAPL), CDNL (%)?
Bleibt die BMW Aktie stabil?
Der Kurs von BMW (BMW.F) beträgt aktuell: 75.38 EUR.
Was ist eigentlich mit der Aktie von Funkwerk los?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: SIEGY (Aktie), FEW.SG (Funkwerk)?
Tesla präsentiert den neuen SUV! Die Zahlen sprechen für sich. Was macht das mit dem Kurs der Aktie?
Der Kurs von Tesla (TSLA) beträgt aktuell: 230.00 USD.
Sinkt der Kurs der Baidu-Aktie weiter?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: BIDU (Baidu-Aktie)?
Seit Ende Juli fällt der Kurs der Apple-Aktie. Ist das nur ein Zwischentief?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: APC.HM (Apple-Aktie)?
Deutsche Börse Aktie: Jetzt wieder kaufen?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: DWNI.DU (Deutsche Börse Aktie)?
Was macht der Dax?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: DXR (Dax)?
Hat gerade jemand die Börse im Blick und weiß, wie teuer guter Rat im Moment so ist?
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: RATE (Rat), MNTA (Moment)?
Wie hat sich der Aktienkurs von Google in den letzten Monaten entwickelt?
Der Kurs von Google (GOOG) beträgt aktuell: 742.27 USD.
Zeige mit den Aktienkurs von Google.
Der Kurs von Google (GOOG) beträgt aktuell: 742.27 USD.
Zeige mit den Aktienkurs von Siemens vom letzten Jahr bis heute.
Der Kurs von Siemens (SIE.F) beträgt aktuell: 94.997 EUR.
Lufthansa fliegt wieder die Türkei an: Was macht die Aktie?
Der Kurs von Lufthansa (LHA.F) beträgt aktuell: 10.257 EUR.
Nach Putschversuch: Aktie der Turkish Airlines bricht ein
Ich bin mir nicht sicher was du meinst? Meinst du eins hiervon: SIEGY (Aktie), AAL (Airlines), TKF (Turkish Airlines)?

Bei der Analyse der Ergebnisse kannst du festzustellen, dass es bei einigen Beispielen schon ganz gut funktioniert hat. Bei anderen hingegen ist sich der Algorithmus noch unschlüssig welcher Aktienkurs gemeint ist. Dabei treten aber auch etwas kuriose Vorschläge auf. Bei dem Satz: „Hat gerade jemand die Börse im Blick und weiß, wie teuer guter Rat im Moment so ist?“ werden die Entitäten „Rat“ und „Moment“ extrahieren und zu Börsensymbolen umgewandelt (RATE und MNTA). Das hat natürlich auch damit zu tun, dass verschiedene Börsenunternehmen aus der ganzen Welt vorhanden sind, deren Namen ziemlich ähnlich zu deutschen Nomen sind, die normalerweise keinen Unternehmensnamen repräsentieren. Weitere Probleme treten auch bei Wörtern mit Bindestrichen, wie „Baidu-Aktie“ oder „Apple-Keynote“, auf. Die hier eingesetzen Tools sehen „Baidu-Aktie“ als ein Wort. Das macht das Finden des richtigen Börsenkurses schwieriger. Positiv ist, wenn der Wert eines Aktienkurses aufgegeben wird, es sich dabei auch immer um den Aktienkurs des gefragten Unternehmens handelt.

pexels-photo-28462

Zusammenfassung und Ausblick

Mit Hilfe dieses Artikels bist du also in der Lage einen Chatbot, mit schon vorhanden Machine Learning Komponenten, zu entwickeln. Dabei stoßt du auf einige Probleme, die bei fast jeder Chatbot-Entwicklung auftreten. Schwierigere Konflikte, wie das Erkennen von Intents, lässt du dabei außen vor. Für die Entwicklung eines leistungsfähigeren Chatbots bist du auf eine viel größere Anzahl von Beispielfragen und -antworten angewiesen, denn nur damit kannst du die Qualität der Ausgaben deutlich verbessern. Ein Vorgehen zu solch einem Datensatz wäre, den Bot zunächst mit Menschen zu betreiben. Im Anschluss kannst du dann einen Bot entwickeln, der dem Menschen Antwortvorschläge macht, die er nur noch akzeptieren muss. Ist die Akzeptanz-Rate hoch genug, kann der Bot vollautomatisch im Produktionsbetrieb eingesetzt werden.