Natural Language User Interface 95_Babble.pm

Begonnen von Prof. Dr. Peter Henning, 28 Dezember 2017, 17:37:03

Vorheriges Thema - Nächstes Thema

refi

Hallo,
ich habe immer noch Schwierigkeiten mit der Input-Erkennung.

Siehe auch meine Antwort #50.

Schalte im Arbeitszimmer das Licht  an
Category=1.1.0: Gerät=licht Ort=arbeitszimmer Verb=schalten Ziel=an / ==> set  DeckenlampeArbeitszimmer on 

aber:
Schalte das Licht im Arbeitszimmer an
Category=1.2.4: Gerät=arbeitszimmer Ort=licht Verb=schalten Ziel=an /

Sollten beide Varianten erkannt werden?

Danke!
Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

tiroso

Ach kommt schon...ich würde ja sagen ladet euch auf ein bier ein und dann lernt man sich mal kennen. Dann gibt es auch keine Diskrepanzen weil man sich bestimmt nur falsch versteht.

Aber eine Frage würde ich gerne aufgreifen, pah, wenn das in Ordnung ist.
Was spricht dagegen wenn man mehreren Devices den gleichen Alias gibt? So rein von der Logik? Eine Deckenlampe gibts ja wirklich häufig nur im unterschiedlichen Räumen.

karl0123

#62
Es gab hier keine Beleidigungen. Interessant, dass jemand, der angeblich Experte für Sprache ist, hier Beleidigungen erkannt haben möchte. Die Welt ist seltsam geworden.

Warum ich weg sein sollte, frage ich mich auch. Es gibt keinen Grund dafür. Hättest du meine Beiträge wirklich mal gelesen, hättest du festgestellt, dass ich zwar geschrieben habe, dass Dinge meiner Meinung nach anders sein sollten, ich aber niemals verlangt habe, dass du das Modul umprogrammierst. Mir ging es eher um eine fruchtbare Diskussion zu dem Thema. Aber leider bist du daran nicht interessiert. Statt deinen Standpunkt (der ggf. durchaus seinen Sinn haben mag) darzustellen, meldest du unbequeme Nachrichten lieber einem Moderator und empfiehlst, ein anderes Modul zu verwenden. Dabei habe ich nie gesagt, dass ich ein solches Modul überhaupt benötigen würde. Wie immer in diesem Forum, interessiert dich nicht, was andere denken. Das was du produzierst, ist aus deiner Sicht perfekt. Leider ist es das nicht im Ansatz, weil ggf. zwar mit wissenschaftlichem Hintergrund, aber in Teilen eben an der Praxis vorbei gedacht. Bei der Praxis sollte man als Entwickler immer (nicht vollständig natürlich) auch auf die Anwender hören und die Beispiele in seine Überlegugen einfließen lassen. Hier hast du die Gelegenheit zu sehen, was wirklich wichtig sein kann.

Folgendes zu Modul und zu den Meldungen hier (ich will nur behilflich sein, egal ob es dich interessiert oder nicht): Es haben dir jetzt mehrere User gesagt, dass die Erkennung nicht immer gemäß Beschreibung funktionert. Das liegt, wie ich festgestellt habe, an gewissen Konstellationen in der Gesamtkonfiguration (bspw. Räume in einer hirarchischen Struktur, weil man diese im Modul nicht effektiv einsetzen kann, hat man sich Plätze angelegt, die Bestandteile des Raumnamens haben, verwendet diese -> Erkennung läuft nicht korrekt- geraten aber es wäre EIN Muster). Statt darauf zu pochen, dass das was schon einige User berichten, nicht nachvollziehbar ist, solltest du diesen Hinweise mal nachgehen. Natürlich sollten die User von sich aus ggf. entsprechende Infos, wie lists posten, wenn ich du wäre, würde ich doch einmal gezielt nach den benötigten Informationen fragen. Irgendwo hier im Thread hast du geschrieben, dass die angestrebte Funktion des Moduls vor geht. Ich sehe das aktuell nicht. Das wirst du ggf. wieder als Beleidigung auffassen.

Und nochmal: Nein, du bist mich nicht los. Warum auch? Wenige Beiträge sind kein Hinweis aus dem man irgendwelche Rückschlüsse ziehen könnte. Auch nicht den, dass du einen User mit aspeisenden und ständig ausweichenden und inaltlich dürftigen Beiträgen, los werden kannst.

Das mit dem Bier finde ich gut. Ich sehe hier keine großen Differenzen.

the ratman

eig. wollt ich ja jetzt popcorn verteilen ...

@pah - ungern sag ichs, aber ich würd mich auch sehr über eine "mehrfachbenennung" freuen. man kann dann ja, muß aber nicht *g*


und weil ich auch gern rumunke:
zum rest des gequassels ... karl0123 ... dich "kenn" ich nicht, aber pah "kenn" ich. wenn der was macht, hat das normal hand und fuß und meistens erfüllt er sogar sonderwünsche, wenn man lieb genug fragt und er nicht grad 1000 andere sachen für uns bastelt.
eines steht fest: du magst ja sicher n nettes und kompetentes kerlchen sein (ich gab gern vorschußlorbeeren), aber pah hat hier schon zeug abgeliefert, dass müssen andere erst mal nachmachen, bevors  den herrn prof. anspringen dürfen. sprich: mach mal so viele, so sinnvolle module wie pah, dann reden ma weiter ...
→do↑p!dnʇs↓shit←

refi

Hallo,
ich habe keine Idee mehr, wo ich den Fehler in meinem Testaufbau suchen soll.

wie beschrieben:
Mit "Schalte im Arbeitszimmer das Licht an" funktioniert alles wunderbar. Das Gerät wird auch wirklich angesprochen.
Mit "Schalte das Licht im Arbeitszimmer an" klappt die Erkennung nicht - sollte aber.

babble.version => 0.44

Ich habe nun alle Babble-Devices gelöscht (beim letzten kommt übrigens "babble.js line 208: ypeError: table.rows[rown] is undefined".
Danach im FHEM-Gerät das babble-Attribut gelöscht und neu gesetzt.
Ich habe jetzt nur noch ein Gerät mit dem Attribut "babbleDevice" = Licht und nur den einen Ort (Arbeitszimmer) als "Babble Orte" hinzugefügt.

Die Attribute im Babble-Device (Article, Prepos usw.) sind unverändert – werden ja auch im ersten Satz wie gewünscht verwendet.

Ich habe es mit und ohne Lightscene versucht und komme zum gleichen Ergebnis.

Für Ideen, wo und was ich (ver)suchen soll bin ich dankbar.

Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

Prof. Dr. Peter Henning

Mysteriös.

bei mir funktioniert es mit derselben Version problemlos, 1. Person Singular ebenso wie infinitiv ("Das Licht im Arbeitszimmer anschalten"), siehe Screenshots.

Ich habe spaßeshalber meine Attributwerte ebenfalls gepostet.

LG

pah

refi

Hallo pah,

ich habe jetzt alle Babble-Attribute kopiert, gelöscht (auf 1 gesetzt), angepasst/vervollständigt und wieder eingetragen. Alle sind nun identisch mit dem Screenshot. (außer helpFunc, remoteFHEM1, remoteFunc1 und TestParm0 – die brauche ich nicht (denke ich)).
Mein Problem besteht immer noch unverändert.

Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

refi

Hallo pah,

mit dieser Version kann das Modul nicht geladen werden.
Nehme ich die 0.44 klappt es.
2018.01.16 10:02:07 1: configfile: Cannot load module Babble
./log/fhem.save: Please define Babble first


Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

refi

dann muss da noch eins fehlen
2018.01.16 10:45:13 1: reload: Error:Modul 95_Babble deactivated:
Global symbol "@words" requires explicit package name at ./FHEM/95_Babble.pm line 647.
Global symbol "@words" requires explicit package name at ./FHEM/95_Babble.pm line 654.
Global symbol "@words" requires explicit package name at ./FHEM/95_Babble.pm line 659
Raspberry Pi3: Duofern, Z-Wave, EnOcean

refi

#69
ZitatNochmal probieren

Schalte im Arbeitszimmer das Licht an
2018.01.16 12:42:59 1 : ==========> 1.1 with schalte,das,licht,an,,
Ergebnis: Category=1.1.0: Gerät=licht Ort=arbeitszimmer Verb=schalten Ziel=an / ==> set ArbeitszimmerDeckenlampe on

Schalte das Licht im Arbeitszimmer an

2018.01.16 12:44:02  1: ==========> 1.2 with schalte,im,arbeitszimmer,an,,
2018.01.16 12:44:02 1 : =======> 1.2.4

Ergebnis: Category=1.2.4: Gerät=arbeitszimmer Ort=licht Verb=schalten Ziel=an /

Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

refi

Attributes:
   babbleArticles der die das den des dem zur
   babblePlaces Arbeitszimmer
   babblePrepos von vom des der in im auf bei am
   babbleQuests wie wo wann welche welches welcher
   babbleStatus Status Wert Wetter Zeit
   babbleTimes heute morgen übermorgen nacht
   babbleVerbParts zu auf ent wider ein an aus ab um
   babbleVerbs schalt,schalte:schalten sage,sage,mache:sagen mach,machs,mache:machen öffne,schließ:öffnen schließe,schließ:schließen stell,stelle:stellen weck,wecke:wecken
   babbleWrites sagen senden hinzufügen entfernen ändern löschen
   room       babbleRoom


Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

refi

2018.01.16 19:08:11 1: reload: Error:Modul 95_Babble deactivated:
Missing right curly or square bracket at ./FHEM/95_Babble.pm line 1979, at end of line
syntax error at ./FHEM/95_Babble.pm line 1979, at EOF

2018.01.16 19:08:11 0: Missing right curly or square bracket at ./FHEM/95_Babble.pm line 1979, at end of line
syntax error at ./FHEM/95_Babble.pm line 1979, at EOF


Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

refi

2018.01.17 05:09:01 1: ERROR evaluating {Babble_Html("Babble")}: Can't use an undefined value as an ARRAY reference at ./FHEM/95_Babble.pm line 1683

Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

refi

Der Fehler von heute morgen war nach einem FHEM-Restart weg. Vorher hatte ich das Modul nur per "reload" neu geladen – mein Fehler.
Habe trotzdem alles wie gefordert gelöscht (Device, Attribute, 95_Babble.pm, babble.js), FHEM neu gestartet, Modul installiert, FHEM erneut gestartet und Neudefinition durchgeführt.

Habe die Version 0.44a installiert.

schalte im arbeitszimmer das licht an

--> habe meine anderen Räume hier gelöscht - es gibt aber keinen weiteren Raum der "Arbeitszimmer" enthält)

2018.01.17 08:41:48 1 : ==========> Comparing schalte to ((arbeitszimmer))
2018.01.17 08:41:48 1 : =================> FALSE
2018.01.17 08:41:48 1 : ==========> Comparing im to ((arbeitszimmer))
2018.01.17 08:41:48 1 : =================> FALSE
2018.01.17 08:41:48 1 : ==========> Comparing arbeitszimmer to ((arbeitszimmer))
2018.01.17 08:41:48 1 : =================> TRUE
2018.01.17 08:41:48 1 : ==========> 1.1 with schalte,das,licht,an,,


schalte das Licht im Arbeitszimmer an
2018.01.17 08:43:00 1 : ==========> Comparing schalte to ((arbeitszimmer))
2018.01.17 08:43:00 1 : =================> FALSE
2018.01.17 08:43:00 1 : ==========> Comparing das to ((arbeitszimmer))
2018.01.17 08:43:00 1 : =================> FALSE
2018.01.17 08:43:00 1 : ==========> Comparing licht to ((arbeitszimmer))
2018.01.17 08:43:00 1 : =================> TRUE
2018.01.17 08:43:00 1 : ==========> 1.2 with schalte,im,arbeitszimmer,an,,
2018.01.17 08:43:00 1 : =======> 1.2.4


Gruß
René
Raspberry Pi3: Duofern, Z-Wave, EnOcean

Prof. Dr. Peter Henning

Wie man leicht bei der Eingabe von
{("licht" =~ /((arbeitszimmer))/) ? "ja" : "nein"}
in die FHEM-Codezeile sieht, kann das nicht richtig sein.

pah