[alg] ai en websites.

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Zijn er hier mensen die ervaring hebben met het toevoegen van kunstmatige intelligentie aan websites? Bv expertsystemen, adviessystemen of systemen waarmee het wel en wee van de gebruiker wordt geanalyseerd een bijgehouden (zoals je bv ziet op Amazon).

Als het gebruikt wordt, wat voor systemen gebruiken jullie ervoor? Iets thuis gebakken of een kant en klaar pakket?

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 11:07

TheDane

1.618

op smulweb heb ik eens een keer een 'clicktrails' achtig iets geimplementeerd. dan werd van iedere pagina bijgehouden waar je vandaan kwam en waar je naartoe ging.

die kon je dan matchen met clicktrails van andere users, en zo bij inloggen van zo'n user een melding geven dat je interessegebied (blijkbaar) nogal synchroon liep aan dat van een andere user.

Was alleen nogal een gepruts wat binnen een paar weken een niet-meer-toegankelijke database veroorzaakte :X
't had leuk kunnen worden ;)

Maar om nou zoiets (ook zoals bij Amazon) 'kunstmatige intelligentie' te noemen .. nee. sorry :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
TheDane schreef op 17 mei 2004 @ 22:16:
Maar om nou zoiets (ook zoals bij Amazon) 'kunstmatige intelligentie' te noemen .. nee. sorry :)
Kunstmatige intelligentie heb je grofweg in 2 smaken, passieve en actieve. Expertsystemen en adviessystemen zijn allemaal onderdeel van passieve kunstmatige intelligentie. Het lijkt intelligent (heej wauw... hij weet welke boeken ik leuk vind en doet me aanbiedingen, of heej hij weet welke pc ik het beste kan kopen), maar er kunnen redelijk eenvoudige technieken onder zitten.

[ Voor 13% gewijzigd door Alarmnummer op 17-05-2004 22:26 ]


  • megamuch
  • Registratie: Februari 2001
  • Laatst online: 29-01 20:14

megamuch

Tring Tring!

Alarmnummer schreef op 17 mei 2004 @ 22:24:
[...]

Kunstmatige intelligentie heb je grofweg in 2 smaken, passieve en actieve. Expertsystemen en adviessystemen zijn allemaal onderdeel van passieve kunstmatige intelligentie. Het lijkt intelligent (heej wauw... hij weet welke boeken ik leuk vind en doet me aanbiedingen, of heej hij weet welke pc ik het beste kan kopen), maar er kunnen redelijk eenvoudige technieken onder zitten.
zoals?

als je nou zo'n post plaatst, is het dan niet ook interesting voor je mede gotters om er dan ook wat voorbeelden bij te plaatsen.. Nu zegt je post niet zo heel veel namelijk.

Verstand van Voip? Ik heb een leuke baan voor je!


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

megamuch schreef op 18 mei 2004 @ 01:20:
[...]


zoals?

als je nou zo'n post plaatst, is het dan niet ook interesting voor je mede gotters om er dan ook wat voorbeelden bij te plaatsen.. Nu zegt je post niet zo heel veel namelijk.
[google=datawarehousing] ;)

Oftewel: sla de data zo op dat ie niet alleen de doorsnede levert van wat klant X op moment Y aan produkten Z heeft besteld, maar analyseer/converteer de data zodanig dat je iedere gewenste doorsnede eruit kunt trekken. Systeem lijkt intelligent, maar kijkt eigenlijk alleen anders naar je data. Vandaar 'passief' :)

Professionele website nodig?


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

megamuch schreef op 18 mei 2004 @ 01:20:
[...]


zoals?

als je nou zo'n post plaatst, is het dan niet ook interesting voor je mede gotters om er dan ook wat voorbeelden bij te plaatsen.. Nu zegt je post niet zo heel veel namelijk.
offtopic:
Hij noemt toch voorbeelden? Kijk tussen de haakjes. Vind het alleen maar logisch dat hij daar verder niet op in gaat, dat brengt dit draadje helemaal off-topic, en een beetje ervaren programmeur heeft genoeg aan de info die hij geeft.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Redelijk simpele technieken zoals Prolog die je eventueel ook in Java varianten hebt, en waar ik op dit moment ook een versie voor aan het schrijven ben. Het probleem aan Prolog is dat het alleen goal driven is, en dat pak ik dus ook meteen aan.

Verder kun je veel 'regels' ook gewoon in een normale programmeertaal schrijven, maar die gaan veel minder eenvoudig om met tegenstrijdige , onzekere gegevens en incomplete gegevens.

[ Voor 3% gewijzigd door Alarmnummer op 18-05-2004 08:12 ]


Verwijderd

Mja, ik maak het toch meestal zelf. Het zijn toch vaak custom solutions speciaal afgestemd op de applicatie. Bepaalde zaken kan ik wel hergebruiken, zoals user behaviour analysis en full text stored procedures. :)

Ik gebruik ze zelf ook voor personalisatie doeleinden, en daar is het al wat link vanwege privacy van de gebruiker.

Verwijderd

megamuch schreef op 18 mei 2004 @ 01:20:
[...]
zoals?

als je nou zo'n post plaatst, is het dan niet ook interesting voor je mede gotters om er dan ook wat voorbeelden bij te plaatsen.. Nu zegt je post niet zo heel veel namelijk.
Zodra jij vaker de afdeling boeken hebt bezocht dan de afdeling huishoudelijke artikelen, kun je mbv verzamelde data al een personalisatie toepassen op afdeling boeken.

Vervolgens blijkt dat je wel er lang met je muis blijft hangen over een bepaald onderwerp, .. volgende pagina kan daar weer op inspelen. etc.etc. Het blijkt dat je opeens heel snel met je muis naar een bepaalde titel beweegt en erop klikt. Dit kan duiden op een verhoogde interesse. Daarop kunnen we weer inspelen. (Dit is dus user behaviour analysis)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op 18 mei 2004 @ 09:48:
Mja, ik maak het toch meestal zelf. Het zijn toch vaak custom solutions speciaal afgestemd op de applicatie. Bepaalde zaken kan ik wel hergebruiken, zoals user behaviour analysis en full text stored procedures. :)

Ik gebruik ze zelf ook voor personalisatie doeleinden, en daar is het al wat link vanwege privacy van de gebruiker.
Ik neem aan dat je ook wel eens met winkel wagentjes aan de slag bent geweest. Hoe ga jij om met bv foute dingen in de kar, bv een 22" monitor en geen bnc kabel. Of 300 Watt aan computer onderdelen en een 250 Watt voeding. Hoe plaats jij dit soort regels in jouw systeem? Plemp je dit hard in je code? (wat problemen op kan leveren met de snel veranderende business rules). Zorg je ervoor dat je applicatie erg parametriseerbaar is? (wat problemen op gaat leveren met de beperkte uitdrukkingskracht). Hoe ga jij om met "Deze week zijn de cd-spindels van philphs in de aanbieding (de eigenaar weet dat er volgende week een enorme prijs daling komt, dus hij wil van zijn voorraad af).

[ Voor 23% gewijzigd door Alarmnummer op 18-05-2004 10:11 ]


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 23-05 16:11

CaptBiele

No Worries!

Ik ben me aan het verdiepen in Expert systemen....weet er nu nog heel weinig vanaf, maar ik moet binnenkort allerlei temperatuur data gaan verwerken en controleren of ze aan gedefinieerde rules voldoen.

Ik gebruik zowel forward- als backward chaining. En ik ga gebruiken maken van het pakket: Visual Rules Studio, wat goed moet samen werken met Visual Studio...

Verwijderd

Alarmnummer schreef op 18 mei 2004 @ 10:07:
[...]

Ik neem aan dat je ook wel eens met winkel wagentjes aan de slag bent geweest. Hoe ga jij om met bv foute dingen in de kar, bv een 22" monitor en geen bnc kabel. Of 300 Watt aan computer onderdelen en een 250 Watt voeding. Hoe plaats jij dit soort regels in jouw systeem? Plemp je dit hard in je code? (wat problemen op kan leveren met de snel veranderende business rules). Zorg je ervoor dat je applicatie erg parametriseerbaar is? (wat problemen op gaat leveren met de beperkte uitdrukkingskracht).
Ik heb eens voor een (studie) project een computerwebshop geschreven. Die webshop had de feature de inhoud van je cart te laten toetsen op compatibility van de geselecteerde componenten. Dit hebben we gedaan door in de db relaties te leggen tussen componenten. in dit specifieke geval was er maar 1 type relatie mogelijk ("a compatible met b"), maar dit zou uitgebreid kunnen worden met relaties als "a vereist b", "a of b".


Op deze manier ontstaat een systeem dat er aan de buitenkant misschien slim uitziet, maar het blijft een passief systeem.

De relaties tussen componenten moesten bij ons handmatig ingevoerd worden, maar ik zou me voor kunnen stellen dat je dit een beetje zelf lerend maakt. Bijvoorbeeld door combinaties die vaak voorkomen op te nemen.

Verwijderd

Alarmnummer schreef op 18 mei 2004 @ 10:07:
[...]

Ik neem aan dat je ook wel eens met winkel wagentjes aan de slag bent geweest. Hoe ga jij om met bv foute dingen in de kar, bv een 22" monitor en geen bnc kabel. Of 300 Watt aan computer onderdelen en een 250 Watt voeding. Hoe plaats jij dit soort regels in jouw systeem? Plemp je dit hard in je code? (wat problemen op kan leveren met de snel veranderende business rules). Zorg je ervoor dat je applicatie erg parametriseerbaar is? (wat problemen op gaat leveren met de beperkte uitdrukkingskracht). Hoe ga jij om met "Deze week zijn de cd-spindels van philphs in de aanbieding (de eigenaar weet dat er volgende week een enorme prijs daling komt, dus hij wil van zijn voorraad af).
Je kunt deze relaties dmv een compatibiliteits plugin laten boordelen, het is echt een specifieke compatibility relatie voor producten. Je zou dit ook voor auto's bijv,. kunnen toepassen.

Hoe ik het zelf heb gedaan is dmv rules. Maar dat is momenteel alleen voor het serveren. Met simpele dropdowns een filter leggen op wat er getoond kan worden.

Voor zaken als je hier zelf noemt, kom je toch wel weer op specifieke oplossingen uit :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op 18 mei 2004 @ 13:00:
[...]
Je kunt deze relaties dmv een compatibiliteits plugin laten boordelen, het is echt een specifieke compatibility relatie voor producten. Je zou dit ook voor auto's bijv,. kunnen toepassen.

Hoe ik het zelf heb gedaan is dmv rules. Maar dat is momenteel alleen voor het serveren. Met simpele dropdowns een filter leggen op wat er getoond kan worden.
Check mijn oudere topics :P Dat is namelijk ook het gene waar ik aan zit te denken. Ik wil een rulesysteem maken dat zowel forward als backward chaining ondersteunt en waarmee je dus als expertsysteem kan functioneren, maar ook als advies systeem (alhoewel die grens zo nu en dan vrij vaag kan zijn).

Het is de bedoeling dat het makkelijk te integreren valt met applicaties (vooral enterprise applicaties), door een centrale server te maken waar alle rulebases staan en clients (dus een webapplicatie) een instantie ervan kunnen ophalen en gebruiken. Als er bv een nieuwe rule beschikbaar komt (bv met die korting op cd`s) moet een nieuwe regel aan de rulebase toegevoegd worden en worden alle clients op de hoogte gesteld van de verandering. Verder stelt de ruleengine weinig eisen aan de omgeving door zoveel mogelijk met callback interfaces weer contact op te nemen met de omgeving (bv vragen stellen aan de gebruiker, meldingen doorgeven aan de gebruiker, informatie opvragen aan de omgeving zoals een database). Ik wil dan ook meteen een aantal standaard implementaties maken van die interfaces zoals een webinterface met een handje vol jsp-tags zodat je in veel gevallen niets anders hoeft te doen dan de grafische opmaak goed te krijgen en de daadwerkelijke rules te schrijven.

Wat voor rule-oplossing gebruikte jij trouwens?
Voor zaken als je hier zelf noemt, kom je toch wel weer op specifieke oplossingen uit :)
Precies. En ik zie een markt hiervoor. Ik heb de afgelopen jaren veel ervaring opgedaan met het bouwen van expertsystemen en ruleengines en op dit zie ik het bijna niet gebruikt worden terwijl er toch legio toepassing voor zijn te bedenken. Slimme winkelwagentjes, bepalen van huursubsidie of welke computer het beste bij je past. En verder kan dit soort systemen ook ingezet worden om de bedrijfslogica uit de applicaties te trekken en onder te brengen in ruleengines zodat mensen die daar over gaan ook makkelijk inzicht kunnen krijgen en eventueel aanpassingen kunnen maken zonder hiervoor het developers team (als die nog bestaat/als die het nog wil doen) mee lastig te vallen (en daarop moet wachten).

Ik wil dus 2 dingen leveren: 1 het basis product zonder rules. En dan nog eens maatwerk want de rules moeten ook opgezet worden en de kans is groot dat dat per toepassing weer uniek is.

[ Voor 7% gewijzigd door Alarmnummer op 18-05-2004 13:16 ]


Verwijderd

Ik ben zelf ook helemaal dol op de technieken :P Weet je wat het lastige alleen is, het is niet direct te relateren aan roi, en daarom is het zo lastig te verkopen.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op 18 mei 2004 @ 13:38:
Ik ben zelf ook helemaal dol op de technieken :P Weet je wat het lastige alleen is, het is niet direct te relateren aan roi, en daarom is het zo lastig te verkopen.
Ik heb net een afspraak gehad bij een bedrijf en ze waren er erg in geinteresseert en zien er ook wel toepassingen van :) Dus we moeten maar even kijken hoe dat gaat lopen, allereerst ga ik dit systeem voor een groot deel afronden en in samenwerking met hun gaan we een demo in elkaar zetten voor potentiele klanten.

Maar wat is roi?

Verwijderd

return on investement

Verwijderd

Alarmnummer schreef op 18 mei 2004 @ 16:30:
[...]


Ik heb net een afspraak gehad bij een bedrijf en ze waren er erg in geinteresseert en zien er ook wel toepassingen van :) Dus we moeten maar even kijken hoe dat gaat lopen, allereerst ga ik dit systeem voor een groot deel afronden en in samenwerking met hun gaan we een demo in elkaar zetten voor potentiele klanten.

Maar wat is roi?
Return on investment, een term die management kan aangeven in hoeveel tijd en met welke mate een investering zich terugverdient. En dat is helaas nog steeds lastig te tonen zonder daar eerst grote vooronderzoeken aan vast te knopen.

Ik heb zelf wel een aantal linkjes verzameld over oa psychologische aspecten van gebruikers bij bezoek etc.

Zo is het bijv. al jaren duidelijk dat navigatie links beter werkt dan rechts :)

  • megamuch
  • Registratie: Februari 2001
  • Laatst online: 29-01 20:14

megamuch

Tring Tring!

NMe84 schreef op 18 mei 2004 @ 01:51:
[...]

offtopic:
Hij noemt toch voorbeelden? Kijk tussen de haakjes. Vind het alleen maar logisch dat hij daar verder niet op in gaat, dat brengt dit draadje helemaal off-topic, en een beetje ervaren programmeur heeft genoeg aan de info die hij geeft.
offtopic:
Ik doelde op het einde van zijn post: "maar er kunnen redelijk eenvoudige technieken onder zitten."

Verstand van Voip? Ik heb een leuke baan voor je!


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
megamuch schreef op 18 mei 2004 @ 16:48:
[...]
offtopic:
Ik doelde op het einde van zijn post: "maar er kunnen redelijk eenvoudige technieken onder zitten."
Technieken die gebruik maken van bv Prolog. Het is heel eenvoudig om regels onder te brengen in Prolog omdat het een declaratieve taal is. Het systeem zoekt uit hoe iets geevalueerd moet worden. En als je niet tevreden bent met de mogelijkheden die prolog je rechtstreeks biedt, dan kun je ook metainterpreters maken (interpreters geschreven in Prolog en die Prolog programma`s evalueren). Eventueel kun je bestaande programma`s ook transformeren zodat ze wel het gewenste gedrag hebben.

Uiteindelijk kun je heel goed omgaan met onzekere gegevens, onbekende gegevens en tegenstrijdige gegevens. Dit zijn dingen die je niet snel voor elkaar krijg in Java.

  • T.T.
  • Registratie: April 2000
  • Laatst online: 22-01 14:13

T.T.

Sowieso

Alarmnummer schreef op 18 mei 2004 @ 13:07:
En verder kan dit soort systemen ook ingezet worden om de bedrijfslogica uit de applicaties te trekken en onder te brengen in ruleengines zodat mensen die daar over gaan ook makkelijk inzicht kunnen krijgen en eventueel aanpassingen kunnen maken zonder hiervoor het developers team (als die nog bestaat/als die het nog wil doen) mee lastig te vallen (en daarop moet wachten).
Bedoel je daar Process Mining (het aan de hand van een process log proberen te construeren van de process-flow)? Dat is absoluut niet makkelijk:
This paper introduced the topic of process mining.
Using a number of simple examples, we illustrated the
potential of process mining but also the many scientific
challenges that need to be addressed. Problems
like hidden tasks, duplicate tasks, non-free-choice
constructs, loops, time, noise and lack of completeness
limit the practical application of process mining. This
special issue provides insight into the state-of-the-art
on process mining at this point in time. We hope that
this will trigger new research efforts to solve some of
the open problems.
"Process mining: a research agenda"
W.M.P. van der Aalst, A.J.M.M. Weijters
Computers in Industry 53 (2004) 231–244

[ Voor 7% gewijzigd door T.T. op 19-05-2004 13:06 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
T.T. schreef op 19 mei 2004 @ 13:03:
Bedoel je daar Process Mining (het aan de hand van een process log proberen te construeren van de process-flow)? Dat is absoluut niet makkelijk:
Ik bedoel daarmee de bedrijfsregels. Bv korting bepaling voor klanten, of een klant wel in aanmerking komt voor een verzekering (misschien heeft ie schulden bij een andere verzekering). Dat soort regels die redelijk aan verandering onderhevig zijn, en in principe niet logisch ;) zijn.

  • T.T.
  • Registratie: April 2000
  • Laatst online: 22-01 14:13

T.T.

Sowieso

Alarmnummer schreef op 19 mei 2004 @ 13:24:
Ik bedoel daarmee de bedrijfsregels. Bv korting bepaling voor klanten, of een klant wel in aanmerking komt voor een verzekering (misschien heeft ie schulden bij een andere verzekering). Dat soort regels die redelijk aan verandering onderhevig zijn, en in principe niet logisch ;) zijn.
Dat is weer heel wat anders, maar helaas kan ik je daar niet mee helpen. Hoewel er natuurlijk wel raakvlakken zijn.
Dit regels wil je niet in je normale code hebben staan omdat ze niet meer inzichtelijk zijn. (Het bedrijf verliest de controle over zijn functioneren: ze kunnen de regels niet snel aanpassen en ze hebben er ook geen zicht op). Daarom wil je dit soort regels onderbrengen in een formaat dat leesbaar is voor niet programmeurs en waar ze ook aangepast kunnen worden door niet programmeurs (of eventueel door een knowledge engineer).
Dat begreep ik. Het idee zie je ook terug in Workflow Management systemen. Daarbij moet je het bedrijfsproces ook niet in een applicatie vastleggen. Via een interface gebruik je externe modelling tools. Wanneer de procesdeskundige een vernieuwde workflow invoert, werkt het systeem "gelijk" volgens deze workflow.

Ik zou me kunnen voorstellen dat je met soortgelijke dingen aan de slag gaat voor die bedrijfsregels. Laat iemand ze grafisch weergeven in een workflow (eigenlijk een soort beslisboom) en importeer die beschrijving (hopelijk in xml ofzo) in jouw programma. Op basis van die regels kun je dan beslissingen nemen. Het past in zoverre niet bij jouw probleem dat ik aanvankelijk dacht dat je zulk soort regels wilde "ontdekken" en niet in het systeem plaatsen.

Afbeeldingslocatie: http://www.wfmc.org/images/model-s.gif

[ Voor 70% gewijzigd door T.T. op 19-05-2004 13:38 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
T.T. schreef op 19 mei 2004 @ 13:03:
Bedoel je daar Process Mining (het aan de hand van een process log proberen te construeren van de process-flow)? Dat is absoluut niet makkelijk:
Deze regels wil je niet in je normale code hebben staan omdat ze niet meer inzichtelijk zijn. (Het bedrijf verliest de controle over zijn functioneren: ze kunnen de regels niet snel aanpassen en ze hebben er ook geen zicht op). Daarom wil je dit soort regels onderbrengen in een formaat dat leesbaar is voor niet programmeurs en waar ze ook aangepast kunnen worden door niet programmeurs (of eventueel door een knowledge engineer).

[edit]
Oeps.. ff wat aanpassen.. new message ipv aanpassen.

[ Voor 22% gewijzigd door Alarmnummer op 19-05-2004 13:31 ]

Pagina: 1