Agent-based E-commerce System

1 / 59
About This Presentation
Title:

Agent-based E-commerce System

Description:

extension of product ontology to specify that a given shop sells a given product ... Shop Trust ... Trust of the Shop in Client x after n-th interaction event ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 60
Provided by: csS8
Learn more at: https://www2.cs.siu.edu

less

Transcript and Presenter's Notes

Title: Agent-based E-commerce System


1
Agent-basedE-commerce System
  • Maria Ganzha
  • Marcin Paprzycki
  • http//agentlab.swps.edu.pl

2
Agent-basedE-commerce System
  • 1. Introduction

3
Assumptions
  • Modelling a distributed marketplace ? Internet
  • e-buyers visit e-shops with a desire to purchase
    products
  • buyers negotiate prices with sellers
  • clients decide which store to buy from
  • wholesalers provide products for e-shops
  • Utilizing software agents for all e-commerce
    functions
  • develop complete system skeleton ? all agent
    functions and agent interactions implemented

4
Use case of the system
5
What's different (1)
  • Multiple items of a product placed for sale one
    after another ?? series of price negotiations
  • Multiple items sold ? price negotiations are
    organized differently ? discrete process
  • Buyer Agents (BA) collected and released in
    groups to participate in negotiations
  • while negotiation takes place BAs communicate
    only with the Seller Agent (SeA)
  • meanwhile next group of BAs is collected (as
    they arrive) and will participate in the next
    negotiation

6
What's different (2)
  • Multiple subsequent auctions (involving items of
    the same product) take place ? price negotiation
    mechanism can change
  • Model of a complete e-commerce system
  • actions that take place before negotiations
  • actions that take place after negotiations
  • product logistics
  • Clients choose shop from which to make a purchase
    ? airline reservation model

7
Agent-basedE-commerce System
  • 2. Ontologies and their utilization

8
Ontology of products (1)
  • Product taxonomy inspired by the Global Products
    Classification (GPC) standards
  • shoes
  • cameras
  • Product skeleton
  • created by sub-classing the base ontology
  • shoes of the same style and brand
  • Product variation
  • instance of a product skeleton
  • shoes of given style and brand of a particular
    size and colour

9
Ontology of products
  • Instance

10
Ontology of products (2)
hasBrand a owlDatatypeProperty
rdfsdomain Product rdfsrange xsdstring
. hasColor a owlObjectProperty
rdfsdomain Product rdfsrange Color
. hasSize a owlObjectProperty rdfsdomain
Product rdfsrange Size .
  • Product
  • a owlClass .
  • Clothing
  • rdfssubClassOf Product .
  • Shoes
  • rdfssubClassOf Clothing .
  • ShoesWithLaces
  • rdfssubClassOf Shoes .
  • AthleticShoes
  • rdfssubClassOf Shoes .
  • hasPrice
  • a owlObjectProperty
  • rdfsdomain Product
  • rdfsrange Price .

11
Ontology of product instance (1)
  • _at_prefix cc lthttp//www.ibspan.waw.pl/e-cap/produc
    t/clothing-catalog.owlgt
  • _at_prefix prod lthttp//www.ibspan.waw.pl/e-cap/prod
    uct/product.owlgt .
  • _at_prefix lthttp//www.ibspan.waw.pl/e-cap/db/cic/p
    roducts.owlgt .
  • Product1165510834375 a ccProtectiveLowerBodyWea
    rBrick,
  • a prodProductEntity
  • cchasConsumerLifestage ccUnclassified
  • cchasGender ccFemale
  • cchasIfDisposable ccYes
  • cchasSafetyFeatures ccColdResistant
  • cchasTypeOfMaterial ccCombination
  • cchasTypeOfProtectiveLowerBodyWear
    ccProtectiveKneePads

12
Ontology of product instance (2)
  • _at_prefix avc lthttp//www.ibspan.waw.pl/e-cap/produ
    ct/audio-visual-catalog.owlgt .
  • _at_prefix prod lthttp//www.ibspan.waw.pl/e-cap/prod
    uct/product.owlgt .
  • _at_prefix lthttp//www.ibspan.waw.pl/e-cap/db/cic/p
    roducts.owlgt .
  • Product1165506706750 a avcTelevisions_Hand_Held
    Brick,
  • prodProductEntity
  • avchasColourFormat avcBlack_White
  • avchasTypeOfTelevisions avcPlasma
  • avchasIfWithRadio avcYes
  • avchasScreenSize avc_2.5Inch .

13
Ontology of products
  • Instance

14
Product registration (1)
  • SA registers sold products with the CIC using ACL
    REQUEST messages
  • message content specified using FIPA Semantic
    Language (FIPA SL)
  • FIPA SL term representing an action has the form
  • (action Agent Action)
  • Specifically
  • Agent the agent performing the action
  • Action the action which is to be performed

15
Product registration (2)
  • Agent CIC
  • (agent-identifier
  • name cic_at_ibspan.waw.pl
  • addresses http//www.ibspan.waw.pl9999)
  • Action register set of products sold by a SA
  • (Add-Product-Shop
  • (Entry
  • product (set PD1 ... PDn)
  • shop Shop
  • gatekeeper Gatekeeper))
  • PDi product descriptions in OWL (Lite) ?
    ontology instance
  • (ProductDescription
  • language "owl"
  • description OWL-EXPRESSION )

16
Product registration (3)
  • Products that are sold have to be registered with
    the CIC
  • Product ID
  • extension of product ontology to specify that a
    given shop sells a given product
  • shop identified by its Gatekeeper Agent (GA)
  • GA-1 a gatekeeperAgent
  • name ga509_at_ibspan.waw.pl
  • addresses http//www.ibspan.waw.pl9999
  • shop 767
  • sells Product4094094049.

17
Usage scenario
  • System is running for some time
  • SAs have registered their products with the CIC
  • stored in a Jena repository
  • middleware over a database to manage stored in
    the system instances of ontologies
  • CAs know where the CIC is
  • CAs have interacted with some SAs
  • SAs have interacted with some CAs
  • Scenario ? what happens when user wants to buy a
    pair of athletic shoes
  • assumption ? user interacts with its CA through a
    web-based interface

18
Processing User Request
  • A query-string (URL extension) representing user
    request reaches the CA
  • Example
  • ?productClassAthleticShoes
  • hasColorBlackColorprizeofCurrencyEUR
  • prizevalueleftBound25prizevaluerightBound5
    0
  • sizevalue136sizevalue137
  • CA translates query-string into a SPARQL query
  • SPARQL rather than RDQL because
  • SPARQL is more expressive than RDQL
  • SPARQL is about to obtain standardization
  • JENA already includes working SPARQL module
  • SPARQL query engine is better tested

19
SPARQL Query example
  • PREFIX my
  • lthttp//jacs.ibspan.waw.pl/ontologygt
  • SELECT ?product, ?gateway
  • ?gateway sells ?product
  • ?product,
  • rdfssubClassOf myAthleticShoe
  • myhasColor myBlackColor
  • myhasPrize ?prize
  • myhasSize ?size
  • ?prize,
  • myofCurrency myEUR
  • myvalue ?prizeValue
  • ?size myvalue ?sizeValue ,
  • FILTER
  • ((?sizeValue 36.0 ?sizeValue 37.0)
  • (?prizeValue gt 25.0 ?prizeValue lt 50.0))

20
CIC result set and what next?
  • CA packs the SPARQL query into an ACL QUERY-REF
    message send to CIC agent
  • CIC returns a (possibly empty) set of answers
    packed in an ACL INFORM message containing
    expressions like this
  • (set
  • (sequence PD1 GA1) ...
  • (sequence PDn GAn))
  • CA evaluates this list based on trust/image
  • Based on results of evaluation CA will interact
    with selected e-shops

21
Before Negotiation
22
Before Price Negotiations
  • CA asks the GA about admission rules
  • GA checks CA-trust product availability and
    responds
  • no more product
  • go away ? we do not trust you
  • BAs have to come
  • CA creates and sends a BA
  • BAs created locally
  • RESULT ? BA skeleton is in
  • GA provides BA with negotiation details
  • BA requests strategy (for THAT negotiation)
  • RESULT ? BA is ready and informs the GA

23
Modular Agents
?
24
Negotiation and After
  • GA manages a pool of SeAs
  • when the time comes, it releases the list of BAs
    to a free and appropriately configured SeA for
    negotiation
  • When negotiation is finished
  • SeA informs winning BA and SA (via GA)
  • SA (via SDA) determines for how long to reserve
    the product for the winner BA/CA
  • depending on BA/CA image/trust
  • SA informs the BA about the reservation
    conditions
  • BA informs its CA about results on negotiation

25
Decision Time
  • CA receives ACL INFORM messages from its BAs
  • inform about winning or loosing negotiations
  • come completely asynchronous
  • varying time of reservation
  • CA utilizes multicriterial analysis to decide
  • to make purchase utilizing an available offer
  • to try for a better price
  • to abandon purchase

26
Agent-basedE-commerce System
  • 3. Trust in the system

27
Trust and Image
  • trust standard conceptualization
  • a peers belief in another peers capabilities,
    honesty and reliability based on its own direct
    experiences
  • trust in our system
  • fulfilment of a contract
  • product matching our order
  • delivery time
  • reliability of the buyer
  • image involves perceptions
  • given shop is cheap or expensive

And I could afford to buy at your shop
But your prices are too high for me...
I also trust you. I believe in your honesty.
I trust you. I believe in your responsibility.
Costin.Client
Pawel.Client
28
Trust in the System
29
Client Trust
  • Most processes that can visibly change trust in a
    given store take place during Sale finalization
  • involves, among others, payment and delivery of
    products

30
Initial Trust Sequence Diagram
31
Shop Trust
  • Most of process which can visibly change trust
    take place during After-negotiation period
  • SA create reservation
  • BA
  • confirm purchase
  • reject purchase (?time?)
  • no answer/answer after deadline

32
(No Transcript)
33
Modelling Trust
34
Effect of a
Brave client
I want to buy new shoes and I'm gonna try to
negotiate with Maria's and Marcin's shops.
Tn(Maria)0
Tn(Marcin)0
T
Maciej.Client
Careful merchant
You must be really obnoxious to make me angry,
but as soon you managed to do it, I won't change
my opinion about you so fast.
a0.1
Tn(Maciej)0
Radical merchant
I can be really mad, when you make me angry, but
I also forget about negative behaviours quickly.
Tn(Maciej)0
a0.8
Marcin.Merchant
35
TA(e) How Can It Look Like
  • Reservation time is tres, no-penalty time is
    tnop, reservation cancellation time is tcant
  • BA has finalized purchase at time t ?
    0,tres?TA(e) 1
  • BA has cancelled reservation at time
    tcan?0,tnop ? TA(e) 0
  • BA has cancelled reservation at time tcan ?
    (tnop, tres. Let us assume that the maximum
    penalty for cancellation at time tcan tres is
    ?, where 0  ? a, and the TA(e) is linear
    function, then TA(e) a tcan b, where a ? /
    (tres tnop) and b ? tnop /(tres tnop)
  • if BA has not responded in time t tres, then
    TA(e) a

36
Comments
  • Trust value as a part of CA's strategy
  • it will buy one item, while has multiple
    reservations
  • which to reject imediately?
  • which can expire?
  • where not to send agent back to negotiations?
  • etc.
  • knowing that over time good and bad behaviors are
    being forgotten and the incoming agent is treated
    as unknown

37
Agent-basedE-commerce System
  • 4. Price negotiations

38
Price Negotiation Overview
  • BJP framework
  • negotiation participants
  • host ? negotiation manager
  • buyer(s)
  • seller(s)
  • negotiation process has phases
  • proposal submission
  • agreement formation
  • Our system
  • admission to negotiations Gatekeeper agent (GA)
    not a part of negotiations
  • rules for admission to negotiations outside of
    the host

39
Negotiation Host Structured Into Subagents
40
Negotiation Rules
  • Enforce specific negotiation mechanism
  • for checking the validity of negotiation
    proposals ProposalValidator
  • for protocol enforcement ProposalEnforcer
  • for updating the negotiation status and informing
    participants InformationUpdater
  • for agreement formation AgreementMaker
  • for controlling the negotiation termination
    NegotiationTerminator

41
English Auction
  • single-item
  • ?rst-price
  • open-cry
  • ascending auctions
  • single seller and many buyers
  • time limit for ending the auction
  • seller reservation price
  • simple, well-known, !uninteresting!

42
Posting Rule
  • IF
  • There is a valid proposal Pr submitted by a
    participant with role Buyer on product A
  • AND
  • There is an active proposal submitted by a
    participant with role Seller on product A
  • THEN
  • Proposal Pr is posted

43
JESS representedrule
44
Dutch Auction
  • Single item Dutch auction
  • Seller begins with a high asking price which is
    lowered until buyer is willing to accept the
    price, or a predetermined minimum price is
    reached (no sale)
  • Multiple-item Dutch auction??

45
Dutch Auction Scenario (1)
  • Participants
  • Negotiation Host (location where the
    negotiations takes place)
  • Single Seller Agent (SeA)
  • Multiple Buyer Agents (BA)s
  • N units of product P are to be sold
  • Initial bid posted on the Blackboard

46
Dutch Auction Scenario (2)
  • SeA subsequently reduces the price
  • One of BAs (e.g. BA5) responds with an ACL
    message informing that it is ready to purchase M,
    M N, units of P at a price equal to the current
    bid
  • then number of available units is reduced by M
    and BA5 is removed from negotiations (each BA is
    allowed to submit at most one successful bid)
  • Process continues until (1) all N units are sold,
    or (2) minimal price of the SeA is reached, or
    (3) time of inactivity is over

47
Seller Rules
  • Seller is allowed to shout a new price when one
    of the following conditions holds
  • it is the ?rst shout
  • one of Buyers submitted a bid that was successful
  • no successful bids were received and at least Tm
    time units elapsed since the last shout

48
Improvement-Seller Rule
  • IF
  • participant with role Seller has posted
    proposal Pr
  • and
  • value of last offer posted by Seller is B
  • and
  • minimum decrement is H
  • and
  • X(Pr) B - H
  • THEN
  • proposal Pr is active

49
Experiments
  • JADE agent environment
  • JAVA Expert System Shell (JESS)
  • up to 20 machines in a single network
  • homogeneous environment (Windows or Linux)
  • heterogeneous environment (Windows Linux)
  • system is being re-implemented, so next slides
    represent what was (IT WORKED)

50
(No Transcript)
51
(No Transcript)
52
(No Transcript)
53
(No Transcript)
54
Agent-basedE-commerce System
  • 6. Logistics

55
Logistics
  • SDA controls supply and demand information
  • SDA sends product level prediction for a
    time-period (i.e. weekly prediction for 5 weeks)
  • WA analyses the status of the warehouse and
    decides how many to buy
  • Order (if necessary) is send to the Logistics
    Agent (LA)
  • LA utilizes a pool for Ordering Agents to process
    and order

56
Use Case of Logistics
57
(No Transcript)
58
(No Transcript)
59
END of Agent-basedE-commerce System
Write a Comment
User Comments (0)