Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
REAL-TIME ONE VERBAL INSTRUCTION BASED SERVICE ENGAGEMENT SYSTEM
Document Type and Number:
WIPO Patent Application WO/2019/245625
Kind Code:
A1
Abstract:
A real-time service engagement system assigns a service provider to a service receiver based on a single verbal instruction in real-time. The real-time system receives a geographic location of the service receiver from a mobile device, retrieves a textual instruction that is converted from a verbal instruction spoken by the service receiver and captured by the mobile device. The real-time system analyzes the textual instruction to determine a set of instructional elements and a service category, and determines a list of available service providers based on elements of the verbal instruction. The real-time system orders the list based on distances or factors associated with predetermined or dynamic weights. The real-time system selects one provider from the list that accepts the service request indicated by the verbal instruction. In the selection, the real-time system may further apply a periodic compensation limitation.

Inventors:
ABHISHEK RAO (US)
PATEL ASHOKKUMAR (US)
Application Number:
PCT/US2019/024853
Publication Date:
December 26, 2019
Filing Date:
March 29, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ABHISHEK RAO (US)
International Classes:
G06Q99/00
Foreign References:
US20180012151A12018-01-11
US20170235824A12017-08-17
Attorney, Agent or Firm:
BI, Depeng et al. (US)
Download PDF:
Claims:
laims

What is claimed is:

[C1] 1 A real-time service engagement system for engaging a service provider to a

service receiver based on a single verbal instruction in real-time, the service engagement system comprising:

i) a specialized real-time service engagement server having a processor, a memory, a network interface and a specialized server software

application for engaging a service provider to a service receiver based on a single verbal instruction in real-time;

ii) a database for storing and providing data, said database operatively

coupled to said specialized real-time service engagement server;

iii) said specialized server software application adapted to:

1 ) receive a geographic location of said service receiver from a service receiver mobile device operated by said service receiver;

2) retrieve a textual instruction indicating a service request, said textual instruction converted from a verbal instruction, said verbal instruction spoken by said service receiver and captured by said service receiver mobile device;

3) analyze said textual instruction to determine a set of instructional elements and a service category, said set of instructional elements including a service element, a location element and a time element, said service element indicating a service requested by said service receiver, said service category indicating a category of said service requested by said service receiver, said location element indicating a location of said service, said time element indicating a time of said service;

4) determine a list of available service providers within a predetermined radius from said location of said service, each service provider within said list of available service providers being available to perform said service at said location and said time of said service;

5) rank said list of available service providers;

6) select a next highest ranked service provider within said list of

available service providers;

7) determine a total compensation paid from said service receiver to said service provider within a predetermined time period, said total compensation including a compensation for performing said service;

8) where said total compensation is less than a predetermined limit, send a notification message to a service provider mobile device operated by said selected service provider, said notification message causing said service provider mobile device to inquire whether said selected service provider accepts or denies said service;

9) when said service provider accepts said service, receive an

acceptance notification from said service provider mobile device; and

10) responsive to said acceptance notification, notify said service

receiver mobile device that said service provider has been engaged to perform said service in real-time by sending a real-time service engagement notification to said service receiver mobile device, said service receiver mobile device adapted to display said real-time service engagement notification on a screen

[C2] 2. The real-time service engagement system of claim 1 wherein:

i) said textual instruction only includes said service element; ii) said location of said service is said geographic location of said service receiver; and

iii) said time of said service is a present time;

[C3] 3 The real-time service engagement system of claim 1 wherein said textual

instruction includes said price element.

[C4] 4. The real-time service engagement system of claim 3 wherein said textual

instruction includes said time element

[05] 5. The real-time service engagement system of claim 4 wherein said textual

instruction includes said location element.

[C6] 6. The real-time service engagement system of claim 4 wherein said textual

instruction includes an experience element.

[C7] 7. A real-time service engagement system for engaging a service provider to a service receiver based on a single verbal instruction in real-time, the service engagement system comprising:

i) a specialized real-time service engagement server having a processor, a memory, a network interface and a specialized server software application for engaging a service provider to a service receiver based on a single verbal instruction in real-time; ii) a database for storing and providing data, said database operatively coupled to said specialized real-time service engagement server;

ill) said specialized server software application adapted to:

1 ) receive a geographic location of said service receiver from a service receiver mobile device operated by said service receiver;

2) retrieve a textual instruction indicating a service request, said textual instruction converted from a verbal instruction, said verbal instruction spoken by said service receiver and captured by said service receiver mobile device;

3) analyze said textual instruction to determine a set of instructional elements and a service category, said set of instructional elements including a service element, a location element and a time element, said service element indicating a service requested by said service receiver, said service category indicating a category of said service requested by said service receiver, said location element indicating a location of said service, said time element indicating a time of said service;

4) determine a list of available service providers within a predetermined radius from said location of said service, each service provider within said list of available service providers being available to perform said service at said location and said time of said service;

5) rank said list of available service providers; 6) select a next highest ranked service provider within said list of

available service providers;

7) send a notification message to a service provider mobile device

operated by said selected service provider, said notification message causing said service provider mobile device to inquire whether said selected service provider accepts or denies said service;

8) when said service provider accepts said service, receive an

acceptance notification from said service provider mobile device; and

9) responsive to said acceptance notification, notify said service

receiver mobile device that said service provider has been engaged to perform said service in real-time by sending a real-time service engagement notification to said service receiver mobile device, said service receiver mobile device adapted to display said real-time service engagement notification on a screen.

[C8] 8. The real-time service engagement system of claim 7 wherein:

i) said textual instruction only includes said service element; ii) said location of said service is said geographic location of said service receiver; and

iii) said time of said service is a present time;

[C9] 9. The real-time service engagement system of claim 7 wherein said textual

instruction includes said price element.

[C10] 10. The real-time service engagement system of claim 9 wherein said textual

instruction includes said time element. [C11] 11. The real-time service engagement system of claim 10 wherein said textual instruction includes said location element.

[C12] 12. The real-time service engagement system of claim 10 wherein said textual instruction includes an experience element.

[C13] 13. The real-time service engagement system of claim 7 wherein said specialized server software application is further adapted to:

i) after said selected service provider is selected, determine a total

compensation paid from said service receiver to said service provider within a predetermined time period, said total compensation including a compensation for performing said service; and

ii) where said total compensation is over a predetermined limit, skip said selected service provider.

[C14] 14. The real-time service engagement system of claim 7 wherein said specialized server software application is further adapted to log a service engagement transaction into said database, said transaction indicating said service.

[C15] 15. The real-time service engagement system of claim 7 wherein said service

receiver mobile device converts said verbal instruction into said textual instruction, and sends said textual instruction to said specialized service engagement server.

[C16] 16. The real-time service engagement system of claim 7 wherein said service

receiver mobile device sends said verbal instruction to a conversion server and said conversion server converts said verbal instruction into said textual instruction.

[C17] 17. The real-time service engagement system of claim 7 wherein said specialized server software application is adapted to analyze said textual instruction by: i) classifying individual phrases of said textual instruction using named entity recognition to generate classified phrases;

ii) determining a set of instructional elements based on said classified phrases;

iii) deriving a set of sentence embeddings for said textual instruction; and iv) deriving said service category from said set of sentence embeddings using a machine learning model.

[C18] 18. A method for engaging a service provider to a service receiver based on a single verbal instruction in real-time, said method performed by a real-time service engagement system server and comprising:

1 ) receiving a geographic location of said service receiver from a service receiver mobile device operated by said service receiver;

2) retrieving a textual instruction indicating a service request, said textual instruction converted from a verbal instruction, said verbal instruction spoken by said service receiver and captured by said service receiver mobile device;

3) analyzing said textual instruction to determine a set of instructional elements and a service category, said set of instructional elements including a service element, a location element and a time element, said service element indicating a service requested by said service receiver, said service category indicating a category of said service requested by said service receiver, said location element indicating a location of said service, said time element indicating a time of said service; 4) determining a list of available service providers within a predetermined radius from said location of said service, each service provider within said list of available service providers being available to perform said service at said location and said time of said service;

5) ranking said list of available service providers;

6) selecting a next highest ranked service provider within said list of

available service providers:

7) determining a total compensation paid from said service receiver to said service provider within a predetermined time period, said total

compensation including a compensation for performing said service;

8) where said total compensation is less than a predetermined limit, sending a notification message to a service provider mobile device operated by said selected service provider, said notification message causing said service provider mobile device to inquire whether said selected service provider accepts or denies said service;

9) when said service provider accepts said service, receiving an acceptance notification from said service provider mobile device; and

10) responsive to said acceptance notification, notifying said service receiver mobile device that said service provider has been engaged to perform said service in real-time by sending a real-time service engagement notification to said service receiver mobile device, said service receiver mobile device adapted to display said real-time service engagement notification on a screen. [C19] 19. A method for engaging a service provider to a service receiver based on a single verbal instruction in real-time, said method performed by a real-time service engagement system server and comprising:

1 ) receiving a geographic location of said service receiver from a service receiver mobile device operated by said service receiver;

2) retrieving a textual instruction indicating a service request, said textual instruction converted from a verbal instruction, said verbal instruction spoken by said service receiver and captured by said service receiver mobile device;

3) analyzing said textual instruction to determine a set of instructional

elements and a service category, said set of instructional elements including a service element, a location element and a time element, said service element indicating a service requested by said service receiver, said service category indicating a category of said service requested by said service receiver, said location element indicating a location of said service, said time element indicating a time of said service;

4) determining a list of available service providers within a predetermined radius from said location of said service, each service provider within said list of available service providers being available to perform said service at said location and said time of said service;

5) ranking said list of available service providers;

6) selecting a next highest ranked service provider within said list of

available service providers; 7) sending a notification message to a service provider mobile device operated by said selected service provider, said notification message causing said service provider mobile device to inquire whether said selected service provider accepts or denies said service;

8) when said service provider accepts said service, receiving an acceptance notification from said service provider mobile device; and

9) responsive to said acceptance notification, notifying said service receiver mobile device that said service provider has been engaged to perform said service in real-time by sending a real-time service engagement notification to said service receiver mobile device, said service receiver mobile device adapted to display said real-time service engagement notification on a screen.

Description:
REAL-TIME ONE VERBAL INSTRUCTION BASED SERVICE ENGAGEMENT

SYSTEM

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit and priority of United States Patent

Application Number 16/039,576, entitled“REAL-TIME ONE VERBAL INSTRUCTION BASED SERVICE ENGAGEMENT SYSTEM,” filed July 19, 2018, which is hereby incorporated by reference in its entirety. This application also claims the benefit and priority of United States Patent Application Number 62/686,687, entitled“REAL-TIME WORK FINDING SYSTEM,” filed June 19, 2018, which is hereby incorporated by reference in its entirety.

FIELD OF THE DISCLOSURE

[0002] The present invention generally relates to a system and method for service engagement, and more particularly relates to a low-cost and convenient service engagement system. More particularly still, the present disclosure relates to a system and method for assigning a service provider to a service receiver in real-time based on one verbal instruction from the service receiver entered via a mobile device.

DESCRIPTION OF BACKGROUND [0003] Finding service providers (also referred to herein as workers) on a timely basis can be challenging and fraught with difficulty. For example, finding a worker to mow one’s lawn or plow one’s drive snow may include contacting a number of third parties, from quote-hunting on Craigs!ist™ com to searching on Amazon Services™. Amazon Services™ assigns a rate that is an average for each particular industry, and all providers must work at that same rate. Craigiist™, on the other hand, needs extensive quote-hunting. Amazon Services™ lists different services like lawn mowing,” and a service receiver has to check out the service from her/his shopping cart. Then, the service receiver must schedule an appointment; and all service providers who can service the service request at the requested time will be notified.

[0004] The lawn owner may also need to call various mowing service companies to locate a service provider. Many of the workers available through these third parties are experienced professionals, which raises the overall cost of the services. Moreover, the availabilities of many of the workers are varied, and thus getting a work (also referred to herein as a project and a job, such as mowing a lawn) done entails scheduling interviews, scheduling appointments and waiting for the appointment date via third party systems.

[0005] Meanwhile, on the side of the service providers, surviving in the harshly competitive landscape involves extensive marketing and sales efforts, such as promoting deals on Groupon™, advertising on social networks like Facebook™ and Twitter™, and engaging in constant communication with potential clientele. The conventional job placement system increases costs and demands more time. When they are available to provide services, they may have to idly wait if there is not a real- time service engagement system to connect them with the service receivers who are currently in need of the services. Therefore, a need exists for a low cost and convenient system and method that matches workers to service receivers. The matching is desired to be in real-time without extended waiting time and initiated with a single verbal instruction by the service receiver. Moreover, the real-time service engagement system does not use or require a shopping cart or quote hunting.

[0006] Furthermore, businesses and individuals oftentimes desire to find and engage service providers (also referred to herein as workers) to provide certain services whenever they need the services be performed. Similarly, service providers desire to find projects they can start immediately. The matching is desired to be in real-time; and the engagement between the two sides is also desired to be in real-time. For instance, when a home owner tries to find a lawn service provider to mow the home owner’s lawn, the available lawn service provider is desired to be found in real-time, and engage itself to immediately provide service in real-time by heading to the home for mowing the lawn. Depending on the type of services, the service provider may take a different action to immediately engage itself to provide the service. For instance, an engaged plumber may immediately drive to a supplier or warehouse of plumbing parts to obtain certain parts before he drives to the service receiver to repair her leaking toilets. Accordingly, there is a need for a new system and method to provide the real time matching and engagement between service providers and service receivers. The real-time engagement engages a service provider who can perform the requested service now, and entails taking immediate actions by the service providers for the purpose of the providing the desired services. [0007] To reduce overhead cost and managerial cost, businesses oftentimes desire to limit their monthly compensation (such as total payments in U.S. dollar for provided services) to service providers. When the compensation paid to a service provider during any month (or otherwise a predetermined period) is over a predetermined threshold, such as $800, the corresponding service receiver desires to terminate the service relationship between the parties. Therefore, there is a need for a job engagement system and method that limits the service relationship based on the amount of periodic total compensation.

OBJECTS OF THE DISCLOSED SYSTEM, METHOD, AND APPARATUS

[0008] Accordingly, it is an object of this disclosure to provide a specialized system and method for assigning a service provider to a service receiver in real-time based on a single verbal instruction from the service receiver entered via a mobile device.

[0009] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction captured by a service receiver mobile device.

[0010] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction indicating only a requested service.

[0011] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction indicating a requested service and a price element.

d [0012] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction indicating a requested service, a price element and a location element.

[0013] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction indicating a requested service, a price element, a time element and a location element.

[0014] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction and determining a service provider based on a set of factors.

[0015] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction and determining a service provider based on a set of factors with predetermined weights.

[0016] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction and determining a service provider based on a set of factors with dynamic weights.

[0017] Another object of this disclosure is to provide a real-time service engagement system triggered by a single verbal instruction and selecting an available service provider based on a distance from the location of the service receiver.

[0018] Other advantages of this disclosure will be clear to a person of ordinary skill in the art. It should be understood, however, that a system, an apparatus or a method could practice the disclosure while not achieving all of the enumerated advantages, and that the protected disclosure is defined by the claims. SUMMARY OF THE DISCLOSURE

[0019] Generally speaking, pursuant to the various embodiments, the present disclosure provides a real-time service engagement system for engaging a service provider to a service receiver based on a single verbal instruction in real-time. The service engagement system includes a specialized real-time service engagement server having a processor, a memory, a network interface and a specialized server software application for engaging a service provider to a service receiver based on a single verbal instruction in real-time. The service engagement system also includes a database for storing and providing data. The database is operatively coupled to the specialized real-time service engagement server. The specialized server software application is adapted to receive a geographic location of the service receiver from a service receiver mobile device operated by the service receiver, and retrieve a textual instruction indicating a service request. The textual instruction is converted from a verbal instruction. The verbal instruction is spoken by the service receiver and captured by the service receiver mobile device.

[0020] The specialized server software application is also adapted to analyze the textual instruction to determine a set of instructional elements and a service category. The set of instructional elements includes a service element, a location element and a time element. The service element indicates a service requested by the service receiver. The service category indicates a category of the service requested by the service receiver. The location element indicates a location of the service. The time element indicates a time of the service. The specialized server software application is further adapted to determine a list of available service providers within a predetermined radius from the location of the service. Each service provider within the list of available service providers is available to perform the service at the location and the time of the service. In addition, the specialized server software application is adapted to rank the list of available service providers, select a next highest ranked service provider within the list of available service providers, and determine a total compensation paid from the service receiver to the service provider within a predetermined time period. The total compensation includes a compensation for performing the service.

[0021] Where the total compensation is less than a predetermined limit, the specialized server software application is adapted to send a notification message to a service provider mobile device operated by the selected service provider. The notification message causes the service provider mobile device to inquire whether the selected service provider accepts or denies the service. Moreover, the specialized server software application is adapted to, when the service provider accepts the service, receive an acceptance notification from the service provider mobile device, and responsive to the acceptance notification, notify the service receiver mobile device that the service provider has been engaged to perform the service in real-time by sending a real-time service engagement notification to the service receiver mobile device. The service receiver mobile device is adapted to display the real-time service engagement notification on a screen. Where the total compensation is more than the predetermined limit, the specialized server software application is adapted to skip the selected service provider, and then select the next highest ranked service provider. [0022] When the textual instruction only includes the service element, the location of the service is the geographic location of the service receiver; and the time of the service is the present time. The textual instruction can further include the price element, the time element, the location element or an experience element. The specialized server software application is further adapted to log a service

engagement transaction into the database. The service engagement transaction indicates the service. The specialized server software application is also adapted to analyze the textual instruction by classifying individual phrases of the textual instruction using named entity recognition to generate classified phrases; determining a set of instructional elements based on the classified phrases; deriving a set of sentence embeddings for the textual instruction; and deriving the service category from the set of sentence embeddings using a machine learning model.

BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Although the characteristic features of this disclosure will be particularly pointed out in the claims, the invention itself, and the manner in which it may be made and used, may be better understood by referring to the following description taken in connection with the accompanying drawings forming a part hereof, wherein like reference numerals refer to like parts throughout the several views and in which:

[0024] Figure 1 is an illustrative screenshot of a service receiver mobile device allowing a service receiver to engage a service provider in real-time using a single verbal instruction in accordance with this disclosure. [0025] Figure 2 is an illustrative screenshot of a service receiver mobile device notifying a service receiver that a service provider has been engaged in real-time to provide a service for the service receiver in accordance with this disclosure.

[0026] Figure 3 illustrates four different verbal instructions for a service receiver to engage a service provider in real-time in accordance with this disclosure.

[0027] Figure 4 is a simplified block diagram illustrating a communication system allowing a service receiver to engage a service provider to provide a service to the service receiver in real-time using a single verbal instruction in accordance with this disclosure.

[0028] Figure 5A is a flowchart diagram illustrating a process by which a service receiver mobile device provides a verbal instruction and its geographic location data to a specialized real-time service engagement server in accordance with this disclosure.

[0029] Figure 5B is a flowchart diagram illustrating a process by which a specialized server system retrieves the geographic location data of a service receiver mobile device and verbal instructions captured via the service receiver mobile device in accordance with this disclosure.

[0030] Figure 6 is a flowchart diagram illustrating a process by which specialized real time service engagement server system assigns a service provider to provide a service for a service receiver in real-time when the service receiver provides a single verbal instruction via a service receiver mobile device in accordance with this disclosure.

[0031] Figure 7 is an illustrative screenshot of a service provider mobile device allowing a service provider to indicate the service provider’s availability for immediately performing a service in accordance with this disclosure. [0032] Figure 8 is an illustrative screenshot of a service provider mobile device allowing the service provider to accept a service request in accordance with this disclosure.

[0033] Figure 9 is a simplified block diagram showing a location of a service receiver and three different service providers currently available to perform a service for the service receiver in accordance with this disclosure.

[0034] Figure 10A is a flowchart diagram illustrating a process by which a specialized real-time service engagement server system ranks a list of service providers currently available to perform a service for a service provider based on a set of weighting factors in accordance with this disclosure.

[0035] Figure 10B is a flowchart diagram illustrating a process by which a specialized real-time service engagement server system ranks a list of service providers currently available to perform a service for a service provider based on a set of dynamic weighting factors in accordance with this disclosure.

[0036] Figure 11 is a flowchart diagram illustrating a process by which the geographic location data of a service provider is uploaded in accordance with this disclosure.

[0037] Figure 12A is a flowchart diagram illustrating a process by which a verbal instruction for engaging a service provider by a service receiver is analyzed to generate instructional elements from it in accordance with this disclosure.

[0038] Figure 12B is a flowchart diagram illustrating a process by which a model is derived, applied and improved in accordance with this disclosure.

[0039] Figure 13 is a flowchart diagram illustrating a process by which a specialized real-time service engagement server system retrieves the categories of services and pricing data of a service provider in accordance with this disclosure. [0040] A person of ordinary skills in the art will appreciate that elements of the figures above are illustrated for simplicity and clarity, and are not necessarily drawn to scale. The dimensions of some elements in the figures may have been exaggerated relative to other elements to help understanding of the present teachings. Furthermore, a particular order in which certain elements, parts, components, modules, steps, actions, events and/or processes are described or illustrated may not be actually required. A person of ordinary skills in the art will appreciate that, for the purpose of simplicity and clarity of illustration, some commonly known and well-understood elements that are useful and/or necessary in a commercially feasible embodiment may not be depicted in order to provide a clear view of various embodiments in accordance with the present teachings.

DETAILED DESCRIPTION

[0041] Turning to the Figures and to Figures 1 and 2 in particular, illustrative

screenshots of a service receiver mobile device running a specialized service receiver mobile app are shown and generally indicated at 100 and 200 respectively. The specialized service receiver mobile app displays a user input field 102 displaying an input hint text that reads“Speak Your Instruction.” When a service receiver searches for a service provider who are currently available to perform a service (such as mowing the lawn of the service receiver) immediately for the service receiver, the service receiver speaks a single verbal instruction to the service receiver mobile device. Illustrative verbal instructions are shown in Figure 3 and indicated at 302,

304, 306 and 308 respectively. [0042] The specialized service receiver mobile app captures the audio input, i.e. , the verbal instruction. In one implementation, the specialized service receiver mobile app converts the verbal instruction into a textual representation (also referred to herein as textual instruction) of the service receivers instruction, and sends the textual instruction to a specialized server system. Alternatively, the specialized service receiver mobile app sends the verbal instruction to a server, such as a third-party cloud server or a specialized real-time service engagement server system, which then converts the verbal instruction into the textual instruction.

[0043] In real-time, the specialized real-time service engagement server system analyzes the textual instruction and engages an available service provider to perform the service for the service provider in real-time. The specialized server system then sends a notification to the service receiver mobile device indicating that a service provider has been engaged and taken actions (such as driving toward the location of the service provider) to provide the service. When any action is taken by the service provider to perform the service, it is said herein that the service has been

commenced and the service provider has commenced the service. The specialized service receiver mobile app displays the notification in the screen 200.

[0044] The screen 200 includes an action indicator 202, a service provider profile 204, and a message input field 206 with a message input hint text 205. The message input field 206 allows the service receiver to send a message to the service provider. The engagement is performed within seconds from the time the service receiver enters the single verbal instruction (such as the instruction 302). When the service provider promptly accepts a request from the specialized server system for performing the service, the engagement is established and the service is commenced within a few seconds (such as one or two) from the time when the verbal instruction is made by the service receiver. It is thus said herein that the specialized service receiver mobile app, the service receiver mobile device and the specialized server system engage a service provider to perform the desired service in real-time for the service receiver.

[004S] The service receiver mobile device and the specialized real-time service engagement server system are further illustrated by reference to Figure 4. Turning now to Figure 4, a block diagram of a communication system is shown and generally indicated at 400. A service receiver mobile device (such as a smartphone or a tablet computer) is indicated at 402 operated by a service receiver 412 The service receiver mobile device 402 runs a specialized service receiver mobile app. Two service provider mobile devices (such as smartphones or tablet computers) are indicated at 404 and 408 operated two service providers 414 and 416 respectively. Each of the service provider mobile devices 404-406 runs a specialized service provider mobile app

[0046] The specialized real-time service engagement server system for the service receiver 412 to engage a service provider (such as 414 or 418) in real-time is indicated at 432. The specialized server system 432 (also referred to herein as a specialized service engagement system and a specialized service engagement server) runs a specialized server software application for the service receiver 412 to engage a service provider in real-time. The specialized server system 432 can be a cloud server system, a server farm or a standalone server. The specialized server system 432 includes at least one server computer having a processor (such as a central processing unit), some amount of memory and one or more network interfaces. The one or more network interfaces are operatively coupled to the processor, the database 440, and the Internet 420. The specialized server system 432 is operatively coupled to a database 440, such as a relational database system that can be cloud based or otherwise. The database system 440 stores various data, such as user profile data of the service providers 414-416 and the service receiver 412, transaction logs for services that have been performed, and other types of data. The communication system 400 also includes third party servers 434, 435 and 436.

[0047] The mobile devices 402-406 communicate with the servers 432-436 via the Internet 420. They access the Internet 420 via, for example, WiFi networks (not shown) or a cellular service network 422.

[0048] Referring now Figures 5A and 5B, two flowcharts illustrating two respective processes by which a textual instruction and geographic location data are provided to the specialized server system 432 are shown and generally indicated at 500 and 550 respectively. At 502, the service receiver mobile device 402 retrieves the voice input of the verbal instruction (such as the instruction 302) spoken by the service receiver 412. The specialized service receiver mobile app running on the device 402 retrieves the verbal instruction in the form of audio data. At 504, the specialized service receiver mobile app converts the verbal instruction in the form of audio data into a textual representation of the verbal instruction. At 506, the specialized service receiver mobile app sends the textual instruction to the specialized real-time service engagement server 432. In addition, the specialized service receiver mobile app sends the geographic location of the service receiver mobile device 412 to the server 432.

[0049] The geographic location of the service receiver mobile device 402 is also the geographic location of the service receiver 412. In one implementation, the

geographic location is a Global Positioning System (“GPS”) location. The textual instruction and the GPS location can be sent in one or multiple messages.

[0060] In an alternate implementation, the conversion from the verbal instruction is performed by a server, such as the specialized server 432 or a third-party server. For instance, the specialized service receiver mobile app embeds a third-party assistant program, which retrieves the verbal instruction and sends it to a third-party server 434 for conversion. The alternate approach is further illustrated by reference to Figure 5B. At 552, the service receiver mobile device retrieves the audio input of the verbal instruction. At 554, the audio data is then sent to the server (such as the server 432 or 434). At 556, the server performs the conversion of 504. At 558, the specialized server 432 receives the textual instruction from the server 434 when the server 434 is the conversion server. At 560, the specialized service receiver mobile app sends the geographic location of the service receiver to the specialized server system 432.

[0051] Turning now to Figure 6, a flowchart depicting a process by which the

specialized real-time service engagement server system 432 engages a service provider for a service receiver in real-time is shown and generally indicated at 600 At 602, the specialized server software application running on the specialized server system 432 retrieves the geographic location of the service receiver 412. The specialized server software application may store the location into the database 440, and/or keep it in memory. The specialized server software application is coded using a computer programming language, such as C#, Java, etc. At 604, the specialized server software application receives the textual instruction, such as 302, 304, 306, and 308.

[0052] At 606, the specialized server software application analyzes the textual instruction to determine a set of instructional elements of the verbal instruction. For example, the instruction 302 includes a service element that indicates a lawn mowing service request. The instruction 304 includes two elements. One indicates the lawn mowing service and the other one indicates a price, i.e., less than thirty dollars. The instruction 306 further includes a time element, i.e., Saturday afternoon. The instruction 308 includes an additional element, i.e., the location of the service. The location is“205 Park Street, New Village.” When the instruction (such as 302) does not include a price element, the specialized server software application associates a price to the service. In one implementation, the assigned price is preconfigured. In a different implementation, the assigned price is a previous price of the same service. When the time element is not present in the instruction (such as 302 and 304), the time of the request service is the present time and the service is desired to be performed immediately. When a location element is present in the instruction (such as 308), it is regarded as the place of service. Otherwise, the place of service is the geographic location retrieved at 602.

[0053] At 606, the specialized server software application further determines a service category, such as lawn maintenance, garden, plumbing, home security, snow plowing, etc. Each service providers profile indicates one or more categories of services that the service provider provides. The profile is created and configured during a setup process or an updating process. Each service providers profile also includes an availability status indicating whether the service provider is currently available to perform a service or not. When the service provider accepts a service request and commences the service, her/his status is set to off indicating that she/he is not available now. Once the service provider finishes a service, she/he may, via a service provider mobile device, notify the specialized server software application that she/he is available now. In such a case, the status is set to on.

[0054] In one implementation, a service provider mobile app running on a service provider mobile device displays an input field to allow the service provider to notify the specialized server system 432 that she/he is available now. One illustrative screenshot of the service provider mobile app is shown and generally indicated at 700 in Figure 7. The screen 700 includes an input field 702 allowing the service provider to indicate that she/he is available now. The field 702 can be a button and/or a voice input field. The service provider mobile app retrieves the user input and sends it to the specialized server software application. The status is maintained in the database 440 and/or the memory of the server 432.

[0055] Returning to Figure 8, at 610, for the service requested by the service receiver 412, the specialized server software application determines a list of service providers who are available at the time of the request and can offers the requested service. The determination is based on the service category and other instructional elements, such as the service location, time and service price. In one implementation, each service provider has to be within a predetermined radius from the geographic location of the service receiver 412. The predetermined radius can be, for example, five miles, twenty miles, etc. In a further implementation, the predetermined radius is dependent on the service categories. For instance, the predetermined radius for lawn

maintenance is set to a smaller number than that for home security category since home security services usually serve a larger radius of customers than lawn services. The dependency is maintained in the database 440, and referenced by the

specialized server software application at 610.

[0056] At 612, the specialized server software application determines a rank for each service provider in the list, and thus ranks the list of available service providers. At 620, the specialized server software application selects the next highest ranked service provider in the list. When the specialized server software application first performs the element 620, the highest ranked service provider in the list is selected. When the list has been exhausted, the specialized server software application performs the element 610 again. For example, the specialized server software application increases the predetermined radius. In a different implementation, the specialized server software application may send a message to the service receiver device 402 indicating to the service receiver 412 that no service provider is found for the service receivers 412 service request. The reason can be that, for example, no service provider is available or no available service providers meet the price requirement. The service receiver may then issue another verbal instruction with an increased price.

[0057] In one implementation, at 622, the specialized server software application checks whether the total compensation paid by the service provider 412 to the selected service provider during a predetermined time frame, such as monthly, is over a predetermined limit. The total compensation includes the compensation for the presently requested service by the service receiver 412 and all other services that have been provided by the selected service provider to the service provider 412 within the current predetermined time frame (such as the current month). If the total compensation is over the predetermined limit, the specialized server software application skips the selected service provider, and goes back to 620 to select another service provider. It should be noted that the element 622 can be configured not to be performed. If the total compensation is under the predetermined limit or the element 622 is not performed, the specialized server software application then performs element 624.

Ό058] At 624, the specialized server software application sends a notification to the service provider mobile device of the selected service provider. The notification can be a push notification, an in-app message, or a different message. The message indicates to the selected service provider whether she/he accepts the service request, and is further illustrated by reference to Figure 8.

Ό059] Referring to Figure 8 now, a screenshot of the service provider mobile app is shown and generally indicated at 800. The screen 800 includes a message 802 indicating the instruction from the service provider 412, an acceptance input field 804 (such as a button), and a denial input field 806 Touching the button 804 or 806 causes the service provider mobile app to send a message to the specialized server software application indicating that the selected service provider accepts or denies the service request. In one implementation, the message 802 is displayed along with a different feedback, such as a vibration, beeps, an audio tone, or a sound playback. As used herein, all these feedbacks are collectively referred to as a service request indicator

Ό060] Turning back to Figure 8, at 626, the specialized server software application waits for a response from the selected service provider’s service provider mobile device. At 626, the specialized server software application further checks whether the waiting has timed out or a denial message has been received. If so, the specialized server software application goes back to 620. Otherwise, at 628, the specialized server software application receives an acceptance notification from the service provider mobile device (such as the device 404 or 406). In one implementation, the timeout is thirty (30) seconds. At 630, the specialized server software application notifies the service receiver 412 that a service provider has been engaged in real time to perform the service for the service receiver 412. The real-time service engagement notification can be a push notification, an in-app message, or a different type of messages. The notification is then displayed on the service receiver device 402. An illustrative notification is shown in the screen 200.

Ό061] The 632, the specialized server software application logs the transaction into the database 440. The transaction log indicates the service, the time of service, the service provider (such as 414 or 416__, the service receiver 412, the compensation for the service, and other related information. The process 600 is performed the moment the verbal instruction is captured by the device 402. Except the time between when the service request indicator 802 is presented and when the service provider touches the input field 804, the processing time of the process can be less than one second. When the service provider promptly (such as within five seconds) accepts the service request, the service receiver’s 412 experience between the screen 100 and the screen 200 is real-time. Accordingly, the service engagement process 600 is a real time process. The process 600 is a specialized process for engaging service providers to service receivers in real-time. It is triggered by a single verbal instruction. The output is a real-time engagement between a service receiver and a service provider. The specialized server software application runs on the server 432, performs the process 600, and turns the server 432 into a specialized real-time service engagement server.

[0062] The ranking of the available service providers in the list is further by reference to Figures 9, 10A and 10B. Turning first to Figure 9, the geographic locations of the service receiver 412, and three available service providers are indicted at 904, 906 and 908 respectively. In one implementation, at 612, the specialized server software application assigns the highest rank to the service provider closest to the service receiver location 902, and the lowest rank to the service provider farthest from the service receiver location 902. In such a case, the service provider 904 has the highest rank; the service provider 906 has the second highest rank; and the service provider 908 has the lowest rank.

[0663] Referring now to Figure 10A, a flowchart depicting a process by which the specialized server software application ranks the service providers in the list of service providers available for performing the service requested by the service receiver 412. At 1002, the specialized server software application determines a set of weighting factors, such as the distance of between a service provider and the service receiver 412, the service fee demand of the service provider, the estimated travel time of the service provider to the service receiver’s 412 location, the customer ratings of the service providers, the service providers past service to the service receiver 412, the experience of the service provider, etc. Indication of the factors can be stored in the database 440, and retrieved from the database 440 at 1002.

[0064] At 1004, the specialized server software application determines a set of corresponding weights of the set of weighting factors. In one implementation, the weight for each factor is preconfigured and stored in the database 440, and retrieved from the database 440 at 1004. At 1006, the specialized server software application calculates a weighted average sum of the factors as a rank for each available service provider in the list. At 1008, the specialized server software application orders the list based on the ranks

[066SJ An alternate implementation is illustrated and shown in Figure 10B. Instead of relying the set of preconfigured weights determined at 1004, at 1010, the specialized server software application determines a set of dynamic weights for the set of weighting factors. As used herein, a set of weights is termed as a set of dynamic weights when there is at least one weight that is dynamically determined. The calculated weighted average sum is thus referred to herein as dynamic weighted average sum. It is determined at the time when the process 600 is performed.

[0066] For example, the specialized server software application increases the weight for distance when gasoline price goes up. It means that shorter distance is favored over a longer distance. As another example, the specialized server software application increases the weight for experience when the service receiver 412 configures her/his profile to indicate that she/he prefers experienced service providers. To determine the dynamic weighted average sum, the specialized server system 432 retrieves dynamic data, such as gas price and traffic data, from third- party data servers or databases. The dynamic data is retrieved when the sum is calculated. In a different implementation, the dynamic data is retrieved periodically, such as daily for gas price, every ten minutes for traffic data, etc.

[0067] Referring to Figure 11 , a flowchart depicting a process by which the

geographic location data of a service provider mobile device (such as 404 or 406) is retrieved and maintained is shown and generally indicated at 1100. At 1102, the service provider mobile app retrieves the geographic location (such as GPS location) of the corresponding service provider device. The location is also termed as the location of the service provider operating the service provider mobile device. At 1104, the service provider mobile device uploads the location to a location server. For example, the service provider mobile app registers with a publish-subscription service which causes the service provider mobile device publishes its location to a location server. The publication of the location data is continuous and periodic. Alternatively, the service provider mobile app periodically sends the location to the specialized server system 432.

[0668] In one implementation, at 1106, the location server forwards the location data to a location database. For example, a Google™ pub/sub server streams service providers’ location data to a BigQuery™ database. Alternatively, the specialized server system 432 receives the location data and stores it into the database 440. [0069] The analysis of the textual instruction to derive instructional elements is further illustrated by reference to Figure 12A. Turning to Figure 12, a flowchart depicting a process by which the analysis is performed is shown and generally indicated at 606. At 1202, the specialized server software application performs named entity

recognition on the textual instruction to classify individual phrases and words

(collectively referred to herein as phrases) in the textual instruction to generate classified phrases. The individual phrases can be classified using a sequence model, such as conditional random fields (“CRF"), maximum-entropy Markov models

(“MEMMs”), or recurrent neural network models.

[0676] Each model is derived from a set of training data. Once a model is derived from the training data, it is applied to some input data to generate output data, and improved based the output data. The iterative modeling process is further illustrated in Figure 12B and generally indicated at 1250. At 1252, a model is derived from a set of training data. At 1254, the model is applied to a set of input data. The application produces output data. At 1256, the output data is examined to determine whether the model has produced expected output. The result of the exa ination is then used to improved the model. The improved model replaces the present model applied at 1254. When new input data is available, the improved model is applied to the new input data at 1254.

[6671] Turning back to Figure 12A, at 1202, the phrases are classified. For instance, for the textual instruction“lawn mowing under thirty dollars,” the phrase“lawn mowing” is labeled as a service, the word“under” is labeled as a range operation, and the phrase“thirty dollars” is labeled as a pricing quantity. At 1204, based on the classified phrases created at 1202, the specialized server software application determines a set of instructional elements. For instance,“lawn mowing” is regarded as a service element and“under thirty dollars” is a price element. At 1206, the specialized server software application derives a set of sentence embeddings for the textual instruction. At 1206, the textual instruction is an input to the specialized server software application. The set (meaning one or more) of sentence embeddings is derived using, for example, a sentence encoder (such as a Universal Sentence Encoder available). The set of sentence embeddings can also be created by calculating a vector of word embeddings (such as a word2vec) or be represented as 1 -hot vectors. At 1208, a machine learning model (such as an LSTM architecture or a deep neural network) is applied to the set of sentence embeddings to derive the service category.

[0072] The elements 1202 and 1204 are parts of a named entity recognition process, with the textual instruction as an input, to determine the instructional elements. The elements 1206 and 1208 are parts of a service categorization process to determine the service category. The textual instruction is also an input to the service

categorization process. In one implementation, the named entity recognition process and the service categorization process are performed independently. In a different implementation, the service categorization process is performed first. The output service category is used as an input to the named entity recognition process to improve the accuracy in determining the instructional elements. In an alternate implementation, the named entity recognition process is performed first !n such a case, the service element is used as an input to improve the accuracy in determining the service category.

[0073] Referring to Figure 13, a flowchart depicting a process by which the

specialized server system 432 retrieves a service provider’s profile data is shown and generally indicated at 1300. At 1302, the specialized server software application provides a list of categories of services to the service provider mobile device. For instance, the list is presented as part of a configuration web page displayed on the service provider mobile device or a different electronic device operated by the service provider (such as 414 or 416).

[0074] The service provider accesses the web page or mobile app and makes her/his selections of categories, inputs hourly rates for said categories, and inputs

experience in said categories. When submitted, the selections are received by the server 432. At 1304, the specialized server software application retrieves the selection. At 1306, the specialized server software application associates the selection with the service provider, and stores it into the database 440.

[0075] At 1308, the specialized server software application requests for the service fee demand for each selected category of service. For instance, the web page is provided for the service provider to configure her/his service fees for each service she/he offers. It should be noted that the pricing data may be obtained via 1302 and 1304 as well. At 1310, the specialized server software application receives the pricing data. At 1312, the specialized server software application associates the pricing data with the service provider and stores it into the database 440. Ό076] In an alternate implementation, the specialized server software application sends an estimated cost as a range to the service receiver mobile device 402 after more than one service provider has been found to be able to perform the service requested by the service receiver 412 The service receiver mobile device 402 displays the estimated price for the service receiver 412. The estimated cost is only provided when the verbal instruction does not include a price element. In one implementation, the estimated cost is a range between the service price of the highest ranked service provider and the service price of the third highest ranked service provider. If the service receiver 412 accepts the estimated price via the service receive mobile device 402 by, for example, touching an acceptance button or speaking an acceptance instruction, the specialized server software application then notifies the highest ranked service provider for acceptance. In another

implementation, the specialized server software application automatically engages a service receiver and a service provider upon the service receiver speaking the verbal instruction, and the service receiver can tap a button or speak an instruction to cancel the engagement.

Ό077] If the highest ranked service provider accepts the service request, the

specialized server software application then sends the engagement message to the service receiver mobile device 402 indicating the specific price of the highest ranked service provider. Otherwise, the specialized server software application moves to the second and third highest ranked service providers. If all three service providers deny the service request, the specialized server software application then offers the next three highest ranked service providers. The specialized server system 432 punishes service providers with unreasonably high prices by ranking them lower or even eliminating them for consideration. Accordingly, the specialized server system 432 automatically moderate prices of service providers. Furthermore, the prices within an estimate cost range needs to be within thirty percent of each other. Otherwise, only the lowest price of the selected three service providers is provided to the service receiver mobile device 402.

[0078] Obviously, many additional modifications and variations of the present disclosure are possible in light of the above teachings. Thus, it is to be understood that, within the scope of the appended claims, the disclosure may be practiced otherwise than is specifically described above. For example, a search instruction can be entered into the field 102 by a stylus, a keypad (physical or on-screen software implemented keypad), or a finger that writes on a touch pad of the service receiver mobile device 402. As an additional example, the desktop computer performs the functions of the service receiver mobile device 402. In such a case, the service receiver 412 uses the desktop computer 402 to engage a service provider in real-time. She/he can speak or types a single instruction via the field 102 to engage a service provider (such as 416) to provide a service at the present time.

[0079] As another example, the user verbal instruction entered via the input field 102 can include additional elements, such as an experience element of varied complexity. For example, an experience element is“a handyman with 5 years of experience” or“a general laborer with forklift experience.” The experience element is matched up to a service providers profile’s experience data using a search algorithm, such as TF-!DF, cosine similarity between phrase/sentence embeddings, etc. One benefit that the experience element provides is that, for each complex service request, a worker best capable of handling the request is engaged.

[0080] The foregoing description of the disclosure has been presented for purposes of illustration and description, and is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. The description was selected to best explain the principles of the present teachings and practical application of these principles to enable others skilled in the art to best utilize the disclosure in various embodiments and various modifications as are suited to the particular use contemplated. It should be recognized that the words“a” or“an” are intended to include both the singular and the plural. Conversely, any reference to plural elements shall, where appropriate, include the singular.

[0081] It is intended that the scope of the disclosure not be limited by the specification, but be defined by the claims set forth below. In addition, although narrow claims may be presented below, it should be recognized that the scope of this invention is much broader than presented by the ciaim(s). It is intended that broader claims will be submitted in one or more applications that claim the benefit of priority from this application. Insofar as the description above and the accompanying drawings disclose additional subject matter that is not within the scope of the claim or claims below, the additional inventions are not dedicated to the public and the right to file one or more lications to claim such additional inventions is reserved.