Ứng dụng Công nghệ phần mềm hướng tác tử trong Thương mại điện tử (Phần 2 - tiếp theo)

Trong phần trước, tôi đã thực hiện tìm hiểu về Đàm phán trong Thương mại điện tử, các bạn có thể xem tại: https://viblo.asia/dang.thi.my.dung/posts/eXoKWkMoKLO Nội dung tiếp theo của tuần này sẽ là Ứng dụng để xây dựng mô hình đàm phán trong Thương mại điện tử.

5. Xây dựng mô hình một hệ thống đa tác tử hỗ trợ đàm phán trong Thương mại điện tử

Với mục tiêu hỗ trợ Thương mại điện tử, tôi hướng đến việc xây dựng một thị trường điện tử hỗ trợ việc mua bán hàng hóa thông qua các cuộc đàm phán. Quá trình tìm kiếm các đối tác kinh doanh và đàm phán về các điều kiện chi tiết của giao dịch thường làm tốn nhiều thời gian của người dùng. Công nghệ agent được áp dụng để tự động hoá công việc này. Các agent có thể kiểm tra một số lượng lớn hàng hóa trước khi ra quyết định mua hoặc bán, đàm phán đồng thời với nhiều đối tác để lựa chọn cuộc giao dịch tốt nhất cho người dùng.

5.1. Kiến trúc của thị trường điện tử Agent

Kiến trúc thị trường

Thị trường điện tử dựa trên công nghệ agent (Agent-based Electronic Marketplace) là một thị trường điện tử bao gồm nhiều agent tự trị có nhiệm vụ mua bán hàng hóa thay mặt cho chủ nhân của chúng.
Trong kiến trúc được mô tả ở hình trên, thị trường bao gồm 3 loại agent: agent giao diện, agent tác vụ và agent trung gian.

  • Agent giao diện: thực hiện việc giao tiếp giữa người dùng và thị trường.
  • Agent tác vụ: thực hiện các nhiệm vụ do người dùng ủy quyền. Với mục đích tự động hóa giai đoạn Thỏa thuận của các giao dịch thương mại, nhiệm vụ chủ yếu của các agent tác vụ trong thị trường này là đàm phán hợp đồng. Ta phân biệt hai loại agent tác vụ:
    • Agent có nhiệm vụ đàm phán để mua hàng hóa, gọi tắt là agent mua.
    • Agent có nhiệm vụ đàm phán để bán hàng hóa, gọi tắt là agent bán.
  • Agent trung gian (facilitator): là một agent của hệ thống có nhiệm vụ quản lý và cung cấp thông tin cho các agent tác vụ và agent giao diện.

Kịch bản hoạt động

Các bước thực hiện trong quá trình mua hàng hóa của một khách hàng như sau:

  • Đăng ký người dùng: Người dùng (người bán và người mua) muốn tham gia vào thị trường phải có một chỉ danh (username) và mật khẩu (password). Ngoài ra họ cũng nên cung cấp địa chỉ email để có thể liên hệ sau khi cuộc đàm phán được hoàn tất.
  • Xác định yêu cầu mua bán: Khi có nhu cầu mua hàng hóa, người mua dùng một trình duyệt Web để truy cập vào địa chỉ Web của thị trường. Một applet đại diện cho agent giao diện sẽ được gửi đến cho người mua. Giả sử như loại hàng muốn mua là sách và điều kiện mua bán bao gồm hai vấn đề là giá cả và thời hạn giao hàng. Khách hàng sẽ đưa ra yêu cầu mua hàng bao gồm các thông tin như : tựa sách, phạm vi giá cả và thời gian giao hàng, tầm quan trọng và chiến thuật thay đổi giá trị của mỗi điều kiện mua bán đó.
  • Tìm kiếm thông tin: Agent giao diện sẽ chuyển các thông tin do khách hàng cung cấp vào thị trường để khởi tạo một agent tác vụ tương ứng (agent mua). Ban đầu, agent mua không biết thông tin về các agent bán có thể đáp ứng về yêu cầu của mình, nên nó gửi cho agent trung gian một thông điệp chứa tựa sách muốn mua. Vì agent trung gian biết thông tin về các agent khác, agent trung gian sẽ chuyển thông điệp này cho những agent đang bán quyển sách này trong thị trường. Khi nhận được thông tin do agent trung gian chuyển đến, các agent bán sẽ gửi thư chào hàng đầu tiên đến agent mua. Sự chào hàng này sẽ bắt đầu quá trình đàm phán giữa agent bán và agent mua. Từ đây, các agent bán và agent mua sẽ liên lạc trực tiếp với nhau.
  • Thỏa thuận điều kiện mua bán: Trong mỗi cuộc đàm phán, các agent phải cố gắng đạt được một sự thỏa thuận về giá cả và điều kiện mua bán. Cuộc đàm phán là quá trình các bên thực hiện trao đổi những thư chào hàng và thư hoàn giá cho nhau. Lời chào hàng của bên bán và bên mua thường có các đòi hỏi trái ngược nhau (như người bán muốn bán được giá cao trong khi người mua muốn mua với giá thấp). Trong quá trình đàm phán, hai bên cùng tiến về một sự thỏa thuận bằng cách nhượng bộ nhau dần dần. Kỹ thuật đàm phán giữa các agent sẽ được trình bày ở phần tiếp theo sau. Mỗi agent mua có thể đồng thời đàm phán với nhiều agent bán để có thể chọn ra cuộc giao dịch tốt nhất cho mình (điều này đem lại tính cạnh tranh cho cả những người mua lẫn những người bán trong thị trường). Agent mua sẽ gửi yêu cầu xác nhận hợp đồng cho agent bán được chọn. Nếu agent bán đồng ý xác nhận, agent mua sẽ từ chối các cuộc đàm phán khác và tiến hành giao dịch đã được thỏa thuận. Ngược lại, nó sẽ lựa chọn một agent bán khác.
  • Thực hiện giao dịch: Giao dịch sẽ được thực hiện tự động nếu hệ thống thị trường điện tử được liên kết với một ngân hàng điện tử có khả năng chấp nhận giao dịch được tiến hành bởi các agent. Đơn giản hơn, có thể dùng cơ chế thư điện tử để thông báo sự thỏa thuận đã đạt được cho người sở hữu agent và thông tin của quá trình đàm phán có thể được thể hiện trên Web thông qua agent giao diện.

Ngôn ngữ truyền thông giữa các agent

Các agent trao đổi với nhau thông qua các thông điệp. Khác với hệ hướng đối tượng, thông điệp trong hệ đa agent không chỉ biểu diễn các lời gọi hàm mà còn phải biểu diễn thông tin và tri thức cần trao đổi giữa các agent. Các thông điệp này được biểu diễn theo các ngôn ngữ truyền thông agent (ACL: Agent Comminucation Language) nhằm mục đích:

  • Định nghĩa khuôn dạng các thông điệp để trao đổi giữa các agenttrong hệ thống.
  • Thiết lập một giao thức trao đổi giữa các agentbao gồm: định nghĩa các kiểu thông điệp gửi và nhận, các mô hình trao đổi thông điệp giữa các agent.

Các ngôn ngữ truyền thông đều dựa trên lý thuyết hành động - lời nói (speech-act). Mỗi thông điệp bao giờ cũng phải mô tả đầy đủ người gửi, người nhận, mục đích của lời nói và ngữ nghĩa của lời nói. Một hành động - lời nói đầy đủ không chỉ định nghĩa cấu trúc lời nói mà còn xác định hành động liên quan đến lời nói đó. Có nhiều ngôn ngữ truyền thông đa agent đã được đưa ra trong đó hai ngôn ngữ truyền thông được sử dụng rộng rãi nhất nhất là KQML (Knowledge Query and Manipulation Language) và FIPA-ACL (Foudation for Intelligent Physical Agent).

Cấu trúc của thông điệp:

  • KQML:

    (performative-name
      :sender	    <người gửi>
      :receiver	<người nhận>
      :language	<ngôn ngữ>
      :ontology	<bản thể học>
      :content	(<nội dung>))
    
  • FIPA-ACL:

    <fipa-message act - " ">
    <sender>	          </sender>
    <receiver>	      </receiver>
    <content>	          </content>
    <language>	      </language>
    <ontology>	      </ontology>
    <conversation-id>  </conversation-id>
    </fipa-message>
    

5.2. Kỹ thuật đàm phán của các Agent

Cấu trúc của thông tin đàm phán

Để các agent đàm phán có thể hiểu được yêu cầu của nhau, các thông tin trao đổi phải được biểu diễn theo cú pháp chung. XML được chọn là ngôn ngữ biểu diễn thông tin trong hệ thống. Thông tin được trao đổi phải phù hợp với cú pháp của các tập tin DTD được định nghĩa sẵn. Trong quá trình hoạt động của thị trường điện tử, có hai loại thông tin được trao đổi là: yêu cầu mua bán hàng hóa và các thư chào hàng/ thư hoàn giá. Tùy vào các đặc điểm của mỗi loại hàng hóa và các vấn đề cần đàm phán mà thông tin có thể được cấu trúc khác nhau.

Ví dụ minh họa về một yêu cầu mua sách đơn giản, các vấn đề được đàm phán là giá cả và thời gian giao hàng.

Giá trị
Tên sách Steve Job Life
Số lượng 1 quyển
Loại yêu cầu MUA
Người yêu cầu DUNG
Đơn giá [10$, 15$] - Trọng số đàm phán: 71%
Thời gian giao hàng [4 ngày, 10 ngày] - Trọng số đàm phán: 29%

Giả sử agent bán PHUONG NAM có thể đáp ứng yêu cầu mua sách này, nó sẽ gửi thư chào hàng cho agent mua DUNG với cấu trúc:

Giá trị
Tên sách Steve Job Life
Số lượng 1 quyển
Người gửi PHUONG NAM
Người nhận DUNG
Giá cả 15$
Thời gian giao hàng 7 ngày

Kỹ thuật lựa chọn thư chào hàng

Khi một agent gửi thông điệp chấp nhận thư chào hàng hoặc thư hoàn giá từ đối thủ đàm phán, có nghĩa là nó đồng ý với điều kiện mua bán được đề nghị. Khi đó, agent mua sẽ không chấp nhận thư chào hàng của đối thủ khác nữa, còn agent bán sẽ không dùng số lượng hàng hóa đó để chào bán với agent khác. Tuy nhiên, thỏa thuận chỉ đạt được thật sự khi đối thủ đàm phán gửi ngược lại cho nó một thông điệp đồng ý xác nhận hợp đồng. Trong trường hợp đối thủ từ chối xác nhận, nó phải chấp nhận thư chào hàng của một đối thủ khác. Các agent mua đàm phán đồng thời với nhiều agent bán nhưng chỉ thực hiện giao dịch mua bán với một agent bán mà thôi. Đối với agent bán, nó sẽ chấp nhận mọi yêu cầu mua hàng. Tuy nhiên, trong trường hợp số lượng hàng hóa của nó còn lại không đủ đáp ứng cho tất cả khách hàng thì nó sẽ lựa chọn giao dịch với những khách hàng tiềm năng nhất.

Lựa chọn của agent mua: Sau khi kết thúc các cuộc đàm phán, agent mua sẽ chọn agent bán đưa ra thư chào hàng mang lại lợi ích nhiều nhất cho mình để tiến hành giao dịch. Agent mua sẽ gửi một thông điệp chấp nhận thư chào hàng và yêu cầu bên bán xác nhận hợp đồng. Đồng thời, nó cũng gửi các thông điệp phản đối thư chào hàng của các agent bán khác. Nếu agent bán được chọn đồng ý xác nhận hợp đồng, thư chào hàng mới thật sự được chấp nhận và hai bên tiến hành thực hiện giao dịch. Ngược lại nếu agent bán từ chối xác nhận (có thể do agent bán đã hết hàng hóa), thì agent mua phải thực hiện lại công việc lựa chọn thư chào hàng một lần nữa với một agent bán khác. Quá trình lại diễn ra tương tự cho đến khi có một agent bán đồng ý xác nhận hợp đồng. Mặc dù đã nhận được thông điệp phản đối thư chào hàng trước đó, nhưng nếu agent bán được chọn kế tiếp vẫn chưa bán được hàng hóa thì nó sẽ vui lòng xác nhận hợp đồng với agent mua.

Lựa chọn của agent bán: Agent bán thường có lượng hàng hóa khá lớn, vì thế nó cần phải cố gắng bán càng nhiều hàng hóa càng tốt. Agent bán không cần đợi các cuộc đàm phán kết thúc để lựa chọn điều kiện có lợi nhất, ngay khi nhận được thư hoàn giá của agent mua mà có lợi ích cao hơn thư hoàn giá sắp gửi đi, nó sẽ chủ động gửi ngay thông điệp chấp nhận cho agent mua. Trong trường hợp agent mua gửi thông điệp chấp nhận trước, nó lập tức gửi thông điệp xác nhận hợp đồng cho agent mua đó. Tuy nhiên, khi số lượng hàng hóa còn lại của agent bán không đủ đáp ứng cho mọi yêu cầu mua hàng thì nó sẽ lựa chọn những khách hàng nào chấp nhận điều kiện mua bán thuận lợi hơn để tiến hành giao dịch.

Kết thúc Phần 2, chúng ta đã có nền tảng cho việc xây dựng một mô hình đàm phán trong Thương mại điện tử. Tiếp theo Phần 3, tôi sẽ thực hiện thiết kế hệ thống và cài đặt thử nghiệm một mô hình đàm phán đơn giản, mời các bạn đón đọc.