04.09.2016

Spracherkennung und Bedeutungserkennung

Die neue Version von Dragon NaturallySpeaking zeigt sich jetzt doch deutlich besser: in der letzten Version, der Version 14, wurden kleine Wörter wie in, mit und nicht gerne verschluckt. Das passiert in der neuen Version nicht mehr. Zudem sind einige der Befehle, um Anwendungen zu steuern, jetzt äußerst zuverlässig. Es lohnt sich also schon, auf die neue Version umzusteigen.

Semantische Analyse

Nicht lohnt sich, und das wahrscheinlich noch auf lange Zeit, mein eigenes Programm zum Erkennen von semantischen Profilen zu benutzen. Nun gut, ich hatte auch nichts anderes erwartet. Immerhin werden die Sätze mittlerweile ganz ordentlich analysiert, und auch die Ausgliederung von Nebensätzen geschieht recht zuverlässig. Große Probleme macht die Satzinversion. Und auch die Unterscheidung zwischen Objekten und Adverbialen gelingt nur bedingt gut.
Und all das ist ja nur die Voraussetzung dafür, dass daraufhin eine semantische Analyse stattfindet. D. h., dass mein Programm für die semantische Analyse bisher noch gar keine semantische Analyse durchführt. Aber ich sitze ja auch erst seit anderthalb Wochen daran. Irgendwann soll dies mal so etwas wie Textprofile aus unterschiedlichen Blickwinkeln erstellen.
Was mir derzeit am meisten Probleme macht, ist der Algorithmus, mit dem Sätze am günstigsten aufgespaltet werden, und dann natürlich auch die dazugehörige Datenstruktur. Zudem müsste ich das ganze in eine Datenbank einpflegen oder mir mal anschauen, wie die Wörterbücher für Winword oder so aufgebaut sind: bisher habe ich alle Wörter, mitsamt ihren Wortarten und anderen spezifischen (grammatischen) Komponenten, nur in einer kleinen Textdatei gespeichert, was aber, wenn die Daten komplexer werden sollten (was voraussehbar ist), unhandlich wird.
Jedenfalls ist das bisher das längste Programm, was ich jemals geschrieben habe, mit fast tausend Zeilen Code, und es ist auch das langsamste. Um ein mäßig dickes Buch wie den ersten Band von Harry Potter zu analysieren, braucht es knappe vier Minuten. Und zwar nur mit der Reichweite, wie ich sie eben dargestellt habe. Die eigentlichen analytischen Funktionen habe ich noch gar nicht implementiert.

Keine Kommentare :