Spracherkannte Textdateien analysieren

Hallo.
Ich habe eine Sammlung von Audiodateien, die von mir aufgenommene Ideen enthalten.
Ich habe die Idee, diese mit einer Spracherkennungssoftware in Textdateien umzuwandeln.
Nachdem ich keine Zeichensetzung diktiere ist die Textdatei, die dabei entsteht mit einigen wenigen falschen Wörtern durchsetzt. Und natürlich fehlt die Zeichensetzung.

Sage ich also(ohne die Satzzeichen zu erwähnen):
Bis nächsten Dienstag noch mit Daniel reden. Außerdem die neue Projektidee analysieren.
ergibt das eine Textdatei mit
Bis nächsten Diemstag noch mit Daniel reden außerdem die neue Projekteidee analysieren Also Die m stag statt Die n stag und Projekt e idee statt Projektidee.

Die Struktur ist folgendermaßen:

  • Datei-.txt (entstanden aus Datei-.wma, enthält „Bis nächsten Diemstag noch mit Daniel reden außerdem die neue Projekteidee analysieren“)

  • Datei-.txt (entstanden aus Datei-.wma, enthält „“)

Was könnte ich aus einer Sammlung wie dieser an Daten gewinnen, was würde Sinn ergeben?

Hallo auch,

zunächst mal muss ich erwähnen, dass ich für Audio-Spracherkennung der falsche Ansprechpartner bin. Ich bin über den aktuellen Stand der Möglichkeiten einfach zu wenig informiert. Mir kommt vor, dass 2 Fehler in 75 Zeichen (ohne Leerzeichen) eine vergleichsweise geringe Fehlerrate ist (2.66%). Zumal beide Fehler durch die Verwendung von Wörterbüchern bei der Erkennung ausgeschlossen werden könnten.

Was Deine eigentlich Frage angeht, verstehe ich leider nicht genau, worum es Dir geht? Was möchtest Du denn „an Daten gewinnen“?

Vergiß einfach die Quelle.

Stell dir vor, du hast mehrere Textdateien, in denen eine Reihe von Wörtern ist, von denen manche nicht zum Inhalt passen.

Zuerst einmal sollen einzeldateibasiert falsche Wörter, solche die nicht in den Sinnzusammenhang passen herausgefiltert werden.

Tja, und nun stellt sich eben die Frage, was mir Data-Mining geben kann und wie ich meine Daten aufbereiten müßte.

Hilft es, die Dateieigenschaften(Erstellungsdatum der Originalaudiodatei bspw) damit zu kombinieren?

Da ich hier von Ideen(Geschäftsideen, Ideen zu allen Themen des Lebens) spreche, kann DM mir neue Möglichkeiten aufzeigen? Mir fremde Kombinationen bekannter Themen? Assoziativ arbeiten? Brauchbare Tendenzen darstellen?

Wie?

Was Deine eigentlich Frage angeht, verstehe ich leider nicht
genau, worum es Dir geht? Was möchtest Du denn „an Daten
gewinnen“?

Ui, das ist aber eine sehr grundlegende und allgemein gehaltene Frage. Ich lehne mich mal weit aus dem Fenster und nehme an, dass Du Dich noch nicht allzu sehr mit Machine Learning (oder Data Mining) beschäftigt hast?

Zunächst mal ist m.E. Data Mining der falsche Oberbegriff für diese Arten von Datenverarbeitung. Data Mining könnte man als Teilbereich des Machine Learning betrachten, der sich mit dem effizienten Auffinden von Gesetzmäßigkeiten und Mustern in sehr großen Datenmengen beschäftigt. Derartige Methoden haben für Deine Zwecke höchstwahrscheinlich keine Bedeutung. Eine Aufbereitung Deiner Textdaten in eine Form, die im DM üblich ist, würde meiner Meinung nach überhaupt keinen Sinn machen. (Und wahrscheinlich sogar vorhandene semantische Information zerstören.)

Etwas allgemeiner betrachtet könnte man nach einer „intelligenten“ Verarbeitung Deines Datenbestandes fragen. Das größte Problem für Dich dürfte dabei die semantische Ebene Deiner Daten sein. Man ist sich heute eigentlich ziemlich einig darüber, dass eine rein syntaktische Verarbeitung nicht ausreichend sein kann, um „Sinnzusammenhänge“ zu erkennen und danach „unpassende“ Wörter herauszufiltern. Einzelne Dateieigenschaften (z.B. das Erstellungsdatum) können natürlich nützlich sein (was genau in den Dateieigenschaften an Information „drinsteckt“, weiß man erst nach einer genauen Analyse), aber sie werden in keinem Fall ausreichen.

Du wirst also Deine Daten um eine Semantik erweitern müssen. Methoden, um eine solche Semantik aus vorhandenen Sätzen automatisch zu extrahieren, stecken noch in den Kinderschuhen. Noch für lange Zeit! Üblicherweise verwendet man deshalb stattdessen simple Wörterbuch-Methoden.

In jedem Fall hat das alles recht wenig mit Data Mining zu tun. Falls Du tatsächlich rein statisch-mathematische Methoden für die Verarbeitung nutzen möchtest, wäre ein möglicher Ansatz, die Daten so aufzubereiten, dass Buchstaben- und Wortfolgen (verschiedener Längen) zunächst aus Trainingsdaten gelernt und später auf die fraglichen Sätze angewandt werden (die Kryptanalyse verwendet unter anderem derartige Methoden). Ich halte es aber für fraglich, ob das wirklich eine brauchbare Erkennungsrate ergibt: Im Zweifelsfall wird man bloß in der Lage sein, absolut falsche Wörter und Buchstaben zu erkennen. Wörter, die einen „Sinnzusammenhang“ verletzen, übersieht man dabei aber klarerweise.

Eine andere Idee wäre die Nutzung von Neuronalen Netzwerken. Damit beschäftigt sich die „subsymbolische AI“ (Konnektionismus). Die Angrenzung zum „Machine Learning“ ist dabei recht fließend und nicht immer so klar.
Jedenfalls ist auch dieser Ansatz für die Sprachverarbeitung eigentlich schon ein alter Hut. Und die Erkennungsrate liegt im zu erwartenden Bereich.

Gibt’s andere Ideen? Neue Möglichkeiten? Möglich. Wahrscheinlich. Gewisse theoretische Grenzen jeder automatischen Verarbeitung können aber auch die nicht überschreiten.

Danke.

Da lehnst du dich aber sehr weit aus dem Fenster. Und du hast recht damit.

Ich verstehe, daß die Bedeutung der transkribierten Audiodaten für dich im Sinnzusammenhang und nicht in den Einzelwörtern oder Sätzen.

Das klassische Beispiel des Dataminings ist der Supermarkt, der all seine Kassenzettel speichert und auswerten läßt. Die Software gibt anschließend eine Aussage der Form „Kunden, die X kauften, erwarben in Y Prozent der Fälle auch Z“ aus. Dann stellt der Supermarkt sein Sortiment um.

Es sollte möglich sein, so gewisse wiederkehrende Denkmuster festzustellen. Also etwa: „Wenn du über Thema Y sprachst, hast du im folgenden oft auch über Z gesprochen“. Oder „Wie wäre eine Verbindung von Thema X mit Thema Y, darüber hast du nur selten gesprochen, aber du hast es bei Thema Z erwähnt. Und Thema Z sprichst du wiederum häufig mit Thema X an“.(Also indirekt über ein anderes Thema verbunden)

Ich möchte darauf hinweisen, dich bitte nicht an obigen Beispielen festzuhalten, sondern auch über sie hinauszugehen. Alles, was eben eine intelligente Verarbeitung der Daten wäre.

Wenn du Vorschläge hast, nenne mir bitte entsprechende Methoden, die Rapidminer, welches ich verwende versteht.

Den Zusammenhang der transkribierten Audiodaten mit dem „Sinn“ (genauer: der Semantik) der Daten habe ich nur angenommen, da Du erwähnt hattest, Du würdest gerne „falsche Wörter, die nicht in den Sinnzusammenhang passen, herausfiltern“. Natürlich muss man sich nicht darauf konzentrieren. Ob die Erkennungsrate bei rein syntaktischer Verarbeitung den Ansprüchen genügt, muss man dann selbst abwägen.

Die Erkennung von „Denkmustern“ der Art, die Du beschrieben hast, ist natürlich möglich. Dabei muss man sich nicht auf simple Assoziationsregeln (wie in Deinem Supermarkt-Beispiel) beschränken. Bayessche Netzwerke fallen mir als einer von vielen möglichen Ansätzen ein. Oder Markov-Ketten. Oder andere Netzwerk-Modelle. Oder wahrscheinlichkeitsannotierte Grammatiken. Oder oder oder.

Die zentrale Frage ist aber, von welchen Daten man ausgeht: In Deinem Supermarkt-Beispiel weiß man explizit, dass der Kunde das Produkt X gekauft hat. Da braucht es keine aufwendige Vorverarbeitung, um statistische Aussagen zur Beziehung von bestimmten Produkten herzustellen.
Bei einem umgangssprachlichen Satz weiß man aber nicht so einfach, dass der Sprecher gerade über Thema X spricht. Zumindest nicht nach einer rein syntaktischen Verarbeitung. Man kann also nicht einfach „Themen“ aus einem Satz extrahieren und diese Themen dann statistisch verknüpfen.

Ein Ansatz, den ich aus der Spracherkennung kenne, geht von der Erkennung von „Kontexten“ aus: Das System versucht also zu erkennen, in welchem „Kontext“ ein bestimmtes Wort fällt, ob es dort hineinpasst und was es dann bedeutet. Ein nicht-triviales Problem ist dabei der „Context Drift“, also die (möglicherweise langsame und stetige) Veränderung des Sprechkontexts im Verlauf des Textes (das schließt auch das „Thema“ ein, beschränkt sich aber nicht darauf).

Kurz gesagt: Wenn Du Daten vorliegen hast, die beispielsweise den Themenverlauf eines Textes exakt spezifizieren, dann kannst Du viele verschiedene intelligente Algorithmen darauf anwenden. Diese Datenebene aus reinen Textdaten zu erzeugen, ist aber alles andere als einfach. Wäre aber nötig, um die „Denkmuster“, die Du erwähnt hast, verarbeiten zu können.

Was die Methoden betrifft, habe ich Dir weiter oben ja schon einige Stichworte genannt. Ich glaube, Rapidminer kann auch mit Bayesian Networks (und einigen anderen) umgehen und hat sogar Inferenzalgorithmen, um einfache BNs zu lernen. Ganz einfach zu verstehen und anzuwenden ist das aber nicht, da braucht’s schon eine gewisse Einarbeitungszeit.

Ganz grundsätzlich geht man an solche Fragestellungen eher mit grundlegenden statistischen/mathematische Techniken heran. Letztlich besteht beispielsweise auch ein BN nur aus grundlegender Statistik, gepresst in die Form eines Netzwerks. Und für das Lernen verwendet man so gut wie immer bestimmte heuristische Annahmen (zum Beispiel Maximum Likelihood bei BNs).

Ein fix-fertiges spezialisiertes Methodenpaket wirst Du, denke ich, vergeblich suchen.

Danke.

Welche Art von Ergebnissen kann ich von Bayesschen Netzwerken erwarten, wenn ich ihnen etwa „Bis nächsten Diemstag noch mit Daniel reden außerdem die neue Projekteidee analysieren“ gebe? Welche Filter sollten vorgeschaltet sein?

Bitte illustriere deine Aussagen anhand meines Beispiels „Bis nächsten Diemstag noch mit Daniel reden außerdem die neue Projekteidee analysieren“ damit ich eine Vorstellung bekomme, welche Art Ergebnisse entstehen können und inwieweit sich die Mühe lohnt - es etwas wertvolles ergibt.

Bei Themen dachte ich zuerst an Wörter. Etwa

„Bis nächsten Donnerstag noch mit Daniel reden außerdem die neue Projekteidee analysieren“

„Bis nächsten Diemstag noch mit Daniel reden außerdem die neue Projekteidee analysieren“

„Bis nächsten Freitag noch mit Franz reden außerdem die neue Projekteidee analysieren“

„Bis nächsten Diemstag noch mit Franz reden außerdem die neue Projekteidee analysieren“

=> Diemstag Franz, Diemstag Daniel => Daniel Franz ?

Gut wäre natürlich

„Bis nächsten Diemstag noch mit Franz reden außerdem die neue Projekteidee analysieren“ Für die Projektidee könnte auch Peter als Ansprechpartner geeignet sein

Du sagst, Datamining ist nicht dafür geeignet - was ist deiner Ansicht nach geeignet?

Mein Standardprozedere ist es, die Audiodateien kurz anzuhören und dann grob in Ordner zu sortieren. Wenn ich mich dann mit einem bestimmten Thema beschäftige, höre ich mir alle Dateien aus diesem Ordner an und schreibe ggf. etwas auf.

Ich habe ein vages Gefühl, daß ich mehr aus meinen Daten machen könnte durch eine maschinelle „externe“ Analyse. Dinge erkennen könnte, die mir aufgrund der Menge der Texte verborgen bleiben.

Du machst auf mich den Eindruck, daß du konkrete Ziele brauchst. Konkreter läßt es sich nicht fassen.

Es kann weiterhelfen, wenn man weiß, wie DM begann. Wer kam auf die Idee des Supermarktes? Wie kam er auf die Idee?

Vermutlich stand irgendwann die Frage im Raum, ob man „etwas mit diesen Daten machen könnte“ und das Ergebnis war obengenannte Information. Aber wie kommt man von der menschlichen Frage „Wie nutze ich meinen Informationsberg sinnvoll?“ auf ein geeignetes mathematisches/statistisches Modell, dessen Ergebnisse eine Antwort auf die Frage liefern können?

Letztlich ist der Weg der, ein reales Problem zu haben, dieses maschinenlesbar zu machen, der Maschine Verarbeitungsanweisungen zu geben und anschließend die Daten in brauchbare menschenverständliche Informationen umzuwandeln. Um das tun zu können muß man immer den Überblick behalten, was man gerade bezogen auf die echte Welt tut. Welche Bedeutung die aktuelle Operation hat. Was nur bis zu einem gewissen Grad möglich ist, irgendwann verliert man sich eben doch in der Mathematik. Meist hat man Ergebnisse, die schön anzusehen sind, doch die Frage eben nicht beantworten.

Ich kenne deinen Hintergrund nicht, doch deine mathematische Vorbildung scheint umfangreich zu sein.

Daher helfen konkrete Beispiele weiter.

Alles eine Frage der realistischen Machbarkeit.

Dennoch genieße ich Aussagen, die auf die Schwierigkeit von Vorhaben sich beziehen mit großer Vorsicht.

Vieles ist leichter als man glaubt. Davon bin ich fest überzeugt.

Hallo,

kurz zu meinem Hintergrund: Ich habe ursprünglich Computational Logic studiert (ein Mischmasch aus theoretischer Informatik, Mathematik, mathematischer Logik und Artificial Intelligence) und danach viele Jahre in der AI-Grundlagenforschung gearbeitet. Unter anderem in den Bereichen Machine Learning, Data Mining und Clustering. In der Praxis sind wir dann oftmals einfach nur vor einem Berg Daten gesessen und haben kreative Wege gesucht, irgendetwas Brauchbares daraus zu extrahieren.

Wenn ich die Schwierigkeit von Vorhaben anspreche, dann aus dieser Perspektive. Ich bin auch überzeugt davon, dass man mit Aussagen wie „unmöglich“ vorsichtig sein sollte. Es gibt aber für die Möglichkeiten der automatischen Datenanalyse definitiv eine Grenze - das weiß ich aus leidgeprüfter Erfahrung. Und die liegt in der vorhandenen Menge an Information begründet.

In Deinem Fall liegt diese Grenze - das habe ich versucht zu erklären - vor allem im Übergang von der syntaktischen Sprachebene zur semantischen Ebene der „Themen“ und des „Sinnzusammenhangs“ (Kontext). Der ist leider alles andere als einfach.

Und mit letzterem Satz meine ich nicht bloß, dass es für einen einzelnen Menschen einfach schwierig ist, das zu verstehen. Ich meine damit, dass das seit Jahrzehnten ein heißes Forschungsthema ist. Und wir alle langsam zu der Gewissheit gelangen, dass wir uns das viiiel zu einfach vorgestellt haben. Ein Forscher meinte einmal (sinngemäß), er wäre schon mehr als beeindruckt, wenn es möglich wäre, ein System zu entwickeln, das das Textverständnis eines dreijährigen Kindes hätte. Davon sind wir aktuell allerdings noch sehr weit entfernt. (Und von Deinen Ansprüchen erst recht.)

Um es ganz konkret zu sagen: Du fragst, welche Ergebnisse man „von Bayesschen Netzwerken erwarten [kann], wenn [man] ihnen etwa ‚Bis nächsten Diemstag noch mit Daniel reden außerdem die neue Projekteidee analysieren‘ gibt“…
Kurze Antwort: Gar keine! Wie sollte man ihnen diesen Satz auch „geben“!? Im Grund haben wir doch einfach nur eine Abfolge von Buchstaben vorliegen. Diesen Satz müssten wir nun in eine Abfolge (oder eine hierarchische Struktur) von Kontexten umwandeln; diese könnte man dann in geeigneter Form aufbereiten und dem Netz zur Verfügung stellen. Man wäre dann möglicherweise in der Lage, statistische Zusammenhänge zwischen Kontexten, Themen und einzelnen Wörtern herzustellen und daraus Schlussfolgerungen zu ziehen. Eine solche Schlussfolgerung könnte lauten, das Wort „Diemstag“ kommt in diesem Themenzusammenhang sehr selten vor, das wahrscheinlich gemeinte Wort „Dienstag“ dagegen viel häufiger.

Diese Sprech-Kontexte kennen wir aber nicht, wenn wir bloß den Satz vorliegen haben! Wir Menschen erkennen Sprechkontexte in Texten, indem wir eine Unmenge an Hintergrundinformationen miteinbeziehen. (Wer ist der Sprecher? Wie, wann, wo und warum hat er es gesagt? In welcher Sprache? In welcher Stadt leben wir? Wieviele Wochentage gibt es? Welche Farbe hat meine Unterhose? Und so weiter.) Ignorieren wir all diese Hintergrundinformationen (und das tun wir, wenn wir rein syntaktisch arbeiten), so haben wir keine Chance mehr, den Sprechkontext herzustellen!
Genau das habe ich weiter oben angesprochen - genau das ist das Problem! Und das betrifft nicht ausschließlich BNs, sondern ist ein grundsätzliches Problem.

(Ich möchte der Vollständigkeit halber hinzufügen, dass sich die AI natürlich auch nicht mit der Unmöglichkeit dieses Problems zufrieden gibt. Genauso wie Du. Die Lösungen dafür sind derzeit aber noch alles andere als spektakulär. Beispielsweise legt man in der Praxis einfach große Datenbanken an, die Wörter und Wortkombinationen mit Themen verknüpfen. Man lässt dann lexikalische Analysen laufen, die aus einzelnen erkannten Wörtern Zusammenhänge herausfiltern, die dann wiederum verwendet werden können, um vorkommende Wörter auf ihre Wahrscheinlichkeit zu testen. Nicht sonderlich atemberaubend. Wir haben aber noch nichts Effizienteres.)

Kurz noch zu Data Mining: Natürlich hat DM nicht im Supermarkt begonnen. Das Supermarkt-Beispiel ist bloß eines von vielen, das sich unter Laien einfach rasch verbreitet hat.

Das ursprüngliche Ziel war eigentlich, die asymptotische Laufzeitkomplexität bekannter Algorithmen aus dem Machine Learning zu verbessern.
Kurz erklärt: Bis zum Aufkommen des Data Minings arbeitete man im Machine Learning mit ausgefeilten Algorithmen und kümmerte sich nicht speziell um die Laufzeitkomplexität. Klarerweise berechnete man sie. Sie wurde aber nie zum Problem. Die Datenmengen waren überschaubar; im Vordergrund stand einfach, aus den wenigen vorhandenen Daten möglichst viele möglichst komplexe Informationen zu extrahieren. Und ob man 100 Sekunden (lineare Komplexität) oder 10000 Sekunden (quadratische Komplexität) auf das Ergebnis wartete, war irrelevant, wenn dafür das Ergebnis besser war.
Das änderte sich, als die Datenmengen größer wurden (wie beispielsweise in Supermärkten). Plötzlich war es nicht mehr egal, ob der Algorithmus 27 Stunden (lineare Komplexität) oder 317 Jahre (quadratische Komplexität) rechnete.

Man musste diese Komplexität also senken. Und man entwickelte Algorithmen, die in linearer (oder höchstens linear-logarithmischer) Zeit Datenmengen durchforsten konnten. Man kann dabei prinzipiell nicht mehr so komplexe Zusammenhänge erkennen wie mit Algorithmen höherer Laufzeit - damit muss man aber leben!

Und bevor Du fragst: Nein, auch die komplexeren Algorithmen höherer Laufzeit können Dein Semantik-Problem nicht lösen! (Bayessche Netze sind übrigens auch nicht linear.)

Ich verstehe dich so, daß meine Forderung zu hoch gegriffen ist für die gegenwärtige dir bekannte Forschung.

Was ich noch nicht verstehe ist, was ich nun - fernab meiner Forderung - mit den Daten tun kann , um irgendetwas Brauchbares - was auch immer das sein kann - daraus zu extrahieren.

Zu scheinst aus meinen Worten zu schließen, dass die „mir bekannte Forschung“ bloß noch keinen Weg gefunden hat, das von Dir gestellte Problem zu lösen. Was Du nicht zu verstehen scheinst, ist, dass das Problem nicht in der Forschung, sondern in Deiner Forderung liegt.

Im Grunde kannst Du gar nicht genau beschreiben, was das System können soll. Du beschreibst umgangssprachlich, was Du Dir als Ergebnis vorstellst, aber nicht einmal das präzisierst Du. Vor allem aber übersiehst Du, dass Du in dieser Beschreibung allerlei Hintergrundwissen einfließen lässt, das Du nicht explizit machst.

Du forderst von dem System im Grunde, menschliches Verhalten zu immitieren. Wenn Du aber nicht in der Lage bist, (1) dieses Verhalten genau zu beschreiben, und (2) das Hintergrundwissen, das Du als Mensch besitzt, auch dem System zur Verfügung zu stellen, dann muss Dein Vorhaben scheitern.

Was Du tatsächlich tun kannst, habe ich Dir bereits anhand von ein paar Ansätzen beschrieben. Aus den beschriebenen Gründen habe ich leider keinen Vorschlag für eine semantische Kontext- oder Sinn-Analyse, wie sie Dir vorschwebt. Ein einfacher, rein lexikalischer Ansatz wäre folgender:

* Zunächst würde ich mir eine Wörterbuchdatei besorgen, die alle wesentlichen Wörter enthält, die Du erkennen möchtest. Indem Du Deine Texte mithilfe dieses Wörterbuchs aussiebst, erkennst Du bereits einen Großteil der Fehler. („Diemstag“ beispielsweise.)

* Dann legst Du eine Datenstruktur an, die Wörter, zusammen mit zusätzlichen statistischen Informationen, speichern kann. Alternativ auch eine Struktur, die Wortpaare speichern kann und wie oft diese Paare gemeinsam vorkommen - und in welchem Maximalabstand voneinander.

* Dann würde ich einen Parser schreiben, der Deine Texte nach Wörtern splittet. In einem Trainingsdurchlauf mit einer größeren Anzahl Deiner eigenen Texte speicherst Du die vorkommenden Wörter sowie alle Zusatzinformationen, die Dir einfallen (Häufigkeit, Häufigkeit von Wortpaaren, Häufigkeit von Wortpaaren mit bestimmten Maximalabständen usw.).

* Und schließlich tust Du für einen vorliegenden Testsatz das Analoge: Du splittest nach Wörtern und prüfst in Deiner vorher angelegten Wort-Datenbank, ob beispielsweise das Vorkommen eines Wortes gleich nach einem anderen wahrscheinlich oder unwahrscheinlich ist. Oder ob z.B. die Wörter „Peter“ und „Meeting“ oft in einem gewissen Maximalabstand voneinander vorkommen.

Das ist ein ganz einfaches lexikalisches Verfahren, das wirklich nur programmiert werden muss. An mehreren Punkten in diesem Ablauf kann man nun intelligente Methoden einbauen: Beispielsweise kann man Wörter auf vorhersehbare Tippfehler (Buchstabendreher, Auslassungen…) testen und die falschen Wörter als Synonyme zu den richtigen behandeln. Oder man könnte die gefundenen Wörter als Knoten in ein Bayessches Netz einbauen und versuchen, komplexere statistische Zusammenhänge zu entdecken.

Man könnte sogar - und das könnte durchaus in die Richtung gehen, die Dir vielleicht vorschwebt - mithilfe von Maximum Likelihood Methoden versuchen, aus den gefundenen Wörtern einen zugrundeliegenden Kontext zu extrahieren. Ein einfaches BN mit einer geringen Anzahl an Knoten könnte dazu durchaus in der Lage sein.
Beispiel: Ein Netzwerk bestehend aus einem Ursprungsknoten, der drei Folgeknoten besitzt. In den Folgeknoten lässt Du Abfolgen von jeweils drei aufeinanderfolgenden Wörtern (oder auch nur Substantiven) durchlaufen, der Ursprungsknoten soll aus diesen drei Wörtern einen Kontext ableiten.

All das sind aber keine Standardprobleme, für die es fertige Standardfilter und Standardalgorithmen gibt. Manche der auftretenden Probleme muss man kreativ lösen. (In der Praxis haben wir oft mehrere Stunden nur damit verbracht, Perl-Scripte zu schreiben, um einen Datensatz so aufzubereiten, dass wir ihn statistisch verarbeiten konnten.)