Language selection

Search

Patent 2979818 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2979818
(54) English Title: PROACTIVE KNOWLEDGE OFFERING SYSTEM AND METHOD
(54) French Title: SYSTEME ET PROCEDE D'OFFRE DE CONNAISSANCES PROACTIVES
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06Q 30/00 (2012.01)
  • G06Q 10/00 (2012.01)
(72) Inventors :
  • ARAVAMUDHAN, BHARATH (United States of America)
  • MCGANN, CONOR (United States of America)
  • NITIN, ANAND PAI KRISHNANAND (United States of America)
  • KLEPAR, BOHDAN (United States of America)
  • RYABCHUN, ANDRIY V. (United States of America)
  • BELL, GORDON (United States of America)
  • GUTIERREZ, FRANCISCO (United States of America)
  • EISNER, JOSEF ERIC (United States of America)
  • KOROLEV, NIKOLAY I. (United States of America)
  • RISTOCK, HERBERT WILLI ARTUR (United States of America)
  • LYPCHANSKYY, STANISLAV (United States of America)
(73) Owners :
  • GENESYS CLOUD SERVICES HOLDINGS II, LLC (United States of America)
(71) Applicants :
  • GREENEDEN U.S. HOLDINGS II, LLC (United States of America)
(74) Agent: SMART & BIGGAR LP
(74) Associate agent:
(45) Issued: 2021-08-17
(86) PCT Filing Date: 2016-02-22
(87) Open to Public Inspection: 2016-09-01
Examination requested: 2017-09-14
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2016/018983
(87) International Publication Number: WO2016/137903
(85) National Entry: 2017-09-14

(30) Application Priority Data:
Application No. Country/Territory Date
14/629,481 United States of America 2015-02-23
14/629,474 United States of America 2015-02-23

Abstracts

English Abstract

A system and method for proactively making knowledge offers. A processor is configured to gather information on interactions by a user with resources provided by an enterprise having a customer contact center. The processor anticipates need of the user based on the gathered information, and generates a query based on the anticipated need. Prior to the user expressly requesting knowledge relating to a particular topic, the processor proactively identifies and suggests the knowledge to the user based on the generated query. The processor receives feedback relating to the suggested knowledge and outputs based on the feedback, a relevance score for the suggested knowledge.


French Abstract

L'invention concerne un système et un procédé pour réaliser des offres de connaissances de manière proactive. Un processeur est configuré pour rassembler des informations sur des interactions par un utilisateur avec des ressources fournies par une entreprise ayant un centre de contacts de client. Le processeur anticipe le besoin de l'utilisateur sur la base des informations rassemblées, et génère une interrogation sur la base du besoin anticipé. Avant que l'utilisateur ne demande expressément des connaissances par rapport à un sujet particulier, le processeur identifie et suggère de manière proactive les connaissances à l'utilisateur sur la base de l'interrogation générée. Le processeur reçoit une rétroaction par rapport aux connaissances suggérées et délivre, sur la base de la rétroaction, une note de pertinence pour les connaissances suggérées.

Claims

Note: Claims are shown in the official language in which they were submitted.


EMBODIMENTS IN WHICH AN EXCLUSIVE PROPERTY OR PRIVILEGE IS
CLAIMED ARE DEFINED AS FOLLOWS:
1. A method for making engagement offers comprising:
monitoring, by a processor, a navigation path of a user navigating a
website;
making, by the processor, an offer for engagement with the user on a
first web page reached by the user upon following the navigation path,
wherein the offer for engagement is suggesting knowledge to the user;
monitoring, by the processor, interaction by the user with the
knowledge suggested on the first web page, wherein the knowledge is
associated with a particular user intent;
updating, by the processor, based on the interaction by the user with
the knowledge suggested on the first web page, tag data associated
with a second web page encountered by the user while traversing the
navigation path, wherein the tag data is further associated with the
particular user intent and includes a value correlated to a navigation
distance to the first web page;
detecting, by the processor, a second user landing on the second web
page, wherein the second user is detected to have followed at least a
portion of the navigation path;
calculating, by the processor, a confidence level as a function of the
value included as the tag data, wherein the confidence level decreases
as the navigation distance correlated to the value increases, the
confidence level being indicative of confidence that the second user
landing on the second web page has the particular user intent and will
-31-
Date Recue/Date Received 2020-10-20

accept, on the second web page, a same knowledge suggested on the
first web page;
anticipating, by the processor, intent of the second user landing on the
second web page based on the calculated confidence level;
generating, by the processor, a search query based on the anticipated
intent of the second user;
prior to the second user expressly requesting the knowledge suggested
on the first web page, proactively identifying and suggesting the
knowledge to the second user based on the generated search query,
wherein the proactively identifying and suggesting the knowledge
further includes:
retrieving a classifier model for the knowledge;
determining a relevance score based on the classifier model,
wherein the relevance score is indicative of a probability that the
search query is relevant to the knowledge; and
outputting the suggested knowledge based on the relevance
score;
receiving, by the processor, feedback relating to the suggested
knowledge;
updating, based on the feedback, the relevance score for the
suggested knowledge; and
adding, by the processor, the search query as one of a positive sample
or a negative sample for the classifier model, based on the feedback.
-32-
Date Recue/Date Received 2020-10-20

2. The method of claim 1, wherein the navigation path identifies a sequence
of
web pages visited by the user during a current web session.
3. The method of claim 1, wherein the offer for engagement is an offer for
a
knowledge article.
4. The method of claim 1, wherein the tag data includes information
relating to
user intent.
5. The method of claim 4, wherein the tag data includes a distance to the
first
web page where the offer for engagement was made, and outcome of the
offer for engagement.
6. The method of claim 1, wherein the confidence level is calculated based
on a
likelihood that the second user will follow the navigation path.
7. The method of claim 1, wherein the confidence level is based on
identification
of redirection to the website.
8. The method of claim 1, wherein the offer for engagement is paced based
on
the calculated confidence level.
9. The method of claim 8, wherein the pacing is based on availability of
agents
to handle requests for interactions based on transmitted offers for
engagement.
10. The method of claim 8, wherein the pacing includes transmitting, by the
processor, more invitations for offers for engagement than what are expected
to be accepted by users.
11. The method of claim 1, wherein the navigation path is processed for
determining user intent, and the offer for engagement is associated with the
determined user intent.
-33-
Date Recue/Date Received 2020-10-20

12. The method of claim 10 further comprising:
generating, by the processor, a query descriptive of the user intent,
wherein the offer for engagement is a knowledge article related to the
user intent.
13. The method of claim 1, wherein the generating of the search query
includes:
identifying, by the processor, terms for describing the anticipated need.
14. The method of claim 1, wherein the feedback is implied from actions by
the
second user.
15. The method of claim 1, wherein the classifier model includes query
samples
for which the suggested knowledge was tagged as being relevant or not
relevant.
16. A computer readable medium storing instructions that, when executed by
one
or more processors, direct the one or more processors to execute the method
of any one of claims 1-15.
17. A system comprising:
at least one processor; and
the computer readable medium of claim 16, wherein the at least one
processor and the computer readable medium are configured to cause
the at least one processor to execute the instructions stored on the
computer readable medium to cause the at least one processor to
execute the method of any one of claims 1-15.
-34-
Date Recue/Date Received 2020-10-20

Description

Note: Descriptions are shown in the official language in which they were submitted.


PROACTIVE KNOWLEDGE OFFERING SYSTEM AND METHOD
BACKGROUND
[0001]
In the field of customer contact centers, it is desirable to have customers
engage in self-service as much as possible, such as, for example, by browsing
an
enterprise's website and finding answers to questions that the customer may
have
via information provided by the website. This helps deflect calls to the
contact center
which uses up valuable agent time. Accordingly, it is desirable to provide
information to customers as early as possible to allow customers to engage in
such
self-service.
[0002]
It is also desirable to extend other offers for engagement to the customer,
but such offers should be paced based on availability of resources at the
contact
center as well as based on likelihood that the customers will accept the
offer.
BRIEF SUMMARY
[0003]
Embodiments of the present invention are directed to a system and
method for making engagement offers. A processor monitors a navigation path of
a
user navigating a website. The processor makes an offer for engagement with
the
user on a first web page reached by the user upon following the navigation
path.
The processor monitors a reaction of the user to the offer for engagement, and

updates tag data associated with a second web page encountered by the user
while
traversing the navigation path. The tag data is updated based on the reaction
of the
user to the offer for engagement.
[0004]
According to one embodiment, the navigation path identifies a sequence
of web pages visited by the user during a current web session.
[0005]
According to one embodiment, the offer for engagement is an offer for a
knowledge article.
[0006]
According to one embodiment, the offer for engagement is an offer for
interaction with a contact center agent.
-1-
CA 2979818 2019-12-17

[0007] According to one embodiment, the tag data includes information
relating
to user intent.
[0008] According to one embodiment, the tag data includes a distance to
the first
web page where the offer for engagement was made, and outcome of the offer for

engagement.
[0009] According to one embodiment, the processor is further configured
to
detect a second user landing on the second web page, where the second user is
detected to have followed at least a portion of the navigation path. The
processor
calculates a confidence level that the second user will accept the offer for
engagement on the second web page, and makes the offer for engagement on the
second web page based on the calculated confidence level.
[0010] According to one embodiment, the confidence level is calculated
as a
function of a distance to the first web page.
[0011] According to one embodiment, the confidence level is calculated
based
on a likelihood that the second user will follow the navigation path.
[0012] According to one embodiment, the confidence level is based on
identification of redirection to the website.
[0013] According to one embodiment, the offer for engagement is paced
based
on the calculated confidence level.
[0014] According to one embodiment, the pacing is based on availability of

agents to handle requests for interactions based on transmitted offers for
engagement.
[0015] According to one embodiment, the pacing includes transmitting,
by the
processor, more invitations for offers for engagement than what are expected
to be
accepted by users.
[0016] According to one embodiment, the navigation path is processed
for
determining user intent, and the offer for engagement is associated with the
determined user intent.
-2-
CA 2979818 2019-12-17

[0017] According to one embodiment, the processor is further configured
to
generate a query descriptive of the user intent, where the offer for
engagement is a
knowledge article related to the user intent.
[0018] In another embodiment, there is provided a computer readable
medium
storing instructions that, when executed by one or more processors, direct the
one or
more processors to execute any of the methods described above.
[0019] In another embodiment, there is provided a system. The system
includes
at least one processor, and the computer readable medium described above. The
at
least one processor and the computer readable medium are configured to cause
the
at least one processor to execute the instructions stored on the computer
readable
medium to cause the at least one processor, to execute any of the methods
described above.
[0020] In one embodiment, there is provided a method for making
engagement
offers. The method involves monitoring, by a processor, a navigation path of a
user
navigating a website and making, by the processor, an offer for engagement
with the
user on a first web page reached by the user upon following the navigation
path. The
offer for engagement is suggesting knowledge to the user. The method further
involves monitoring, by the processor, interaction by the user with the
knowledge
suggested on the first web page. The knowledge is associated with a particular
user
intent. The method further involves updating, by the processor, based on the
interaction by the user with the knowledge suggested on the first web page,
tag data
associated with a second web page encountered by the user while traversing the

navigation path. The tag data is further associated with the particular user
intent and
includes a value correlated to a navigation distance to the first web page.
The
method further involves detecting, by the processor, a second user landing on
the
second web page. The second user is detected to have followed at least a
portion of
the navigation path. The method further involves calculating, by the
processor, a
confidence level as a function of the value included as the tag data. The
confidence
level decreases as the navigation distance correlated to the value increases,
the
confidence level being indicative of confidence that the second user landing
on the
-3-
CA 2979818 2019-12-17

second web page has the particular user intent and will accept, on the second
web
page, a same knowledge suggested on the first web page. The method further
involves: anticipating, by the processor, intent of the second user landing on
the
second web page based on the calculated confidence level; generating, by the
processor, a search query based on the anticipated intent of the second user;
and
prior to the second user expressly requesting the knowledge suggested on the
first
web page, proactively identifying and suggesting the knowledge to the second
user
based on the generated search query. The proactively identifying and
suggesting the
knowledge further includes retrieving a classifier model for the knowledge and
determining a relevance score based on the classifier model. The relevance
score is
indicative of a probability that the search query is relevant to the
knowledge. The
proactively identifying and suggesting the knowledge further includes
outputting the
suggested knowledge based on the relevance score. The method further involves:

receiving, by the processor, feedback relating to the suggested knowledge;
updating,
based on the feedback, the relevance score for the suggested knowledge; and
adding, by the processor, the search query as one of a positive sample or a
negative
sample for the classifier model, based on the feedback.
[0021] The navigation path may identify a sequence of web pages visited
by the
user during a current web session.
[0022] The offer for engagement may be an offer for a knowledge article.
[0023] The tag data may include information relating to user intent.
[0024] The tag data may include a distance to the first web page where
the offer
for engagement was made, and outcome of the offer for engagement.
[0025] The confidence level may be calculated based on a likelihood
that the
second user will follow the navigation path.
[0026] The confidence level may be based on identification of
redirection to the
website.
[0027] The offer for engagement may be paced based on the calculated
confidence level.
-3a-
CA 2979818 2019-12-17

[0028] The
pacing may be based on availability of agents to handle requests for
interactions based on transmitted offers for engagement.
[0029] The
pacing may include transmitting, by the processor, more invitations
for offers for engagement than what are expected to be accepted by users.
[0030] The
navigation path may be processed for determining user intent, and
the offer for engagement is associated with the determined user intent.
[0031] The
method may further involve generating, by the processor, a query
descriptive of the user intent. The offer for engagement may be a knowledge
article
related to the user intent.
[0032] The
generating of the search query may include identifying, by the
processor, terms for describing the anticipated need.
[0032a] The feedback may be implied from actions by the second user.
The classifier model may include query samples for which the suggested
knowledge
was tagged as being relevant or not relevant.
[0032b] In another embodiment, there is provided a computer readable medium
storing instructions that, when executed by one or more processors, direct the
one or
more processors to execute the method described above or any of its variants.
[0032c] In another embodiment, there is provided a system including at least
one
processor and the computer readable medium described above. The at least one
processor and the computer readable medium are configured to cause the at
least
one processor to execute the instructions stored on the computer readable
medium
to cause the at least one processor to execute the method described above or
any of
its variants.
[0033] These and
other features, aspects and advantages of the present
invention will be more fully understood when considered with respect to the
following
detailed description, appended claims, and accompanying drawings. Of course,
the
actual scope of the invention is defined by the appended claims.
-3b-
CA 2979818 2019-12-17

BRIEF DESCRIPTION OF THE DRAWING
[0034] FIG. 1 is a block diagram of a proactive offer management system

according to one embodiment of the invention;
[0035] FIG. 2 is a block diagram of a contact center system according
to one
embodiment of the invention;
[0036] FIG. 3 is a block diagram of a knowledge management system
according
to one embodiment of the invention;
[0037] FIG. 4 is a flow diagram of a process for proactively making
knowledge
offers according to one embodiment of the invention;
[0038] FIG. 5 is a conceptual layout diagram of a step for preprocessing an
initial
query according to one exemplary embodiment of the invention;
[0039] FIG. 6A is a conceptual layout diagram of an exemplary FAQ
document
that may be stored as a knowledge article according to one embodiment of the
invention;
[0040] FIG. 6B is a conceptual layout diagram of terms that are extracted
from a
knowledge document based on a preprocessing step which may be similar to the
preprocessing step conducted for input queries according to one embodiment of
the
invention;
[0041] FIGS. 7A-7B are screen shots of a web page providing access to
the
knowledge management system to a visitor of the website according to one
embodiment of the invention;
[0042] FIGS. 8A-8B are screen shots of an agent GUI that may be invoked

during an interaction with a customer according to one embodiment of the
invention;
[0043] FIG. 9 is a screen shot of a reporting screen depicting
performance of the
knowledge documents;
[0044] FIG. 10 is a layout diagram of exemplary intent tags that may be

maintained for a particular web page;
[0045] FIG. 11A is a block diagram of a computing device according to
an
embodiment of the present invention;
-4-
CA 2979818 2019-12-17

[0046] FIG. 11B is a block diagram of a computing device according to
an
embodiment of the present invention;
[0047] FIG. 11C is a block diagram of a computing device according to
an
embodiment of the present invention;
[0048] FIG. 11D is a block diagram of a computing device according to an
embodiment of the present invention; and
[0049] FIG. 11E is a block diagram of a network environment including
several
computing devices according to an embodiment of the present invention.
DETAILED DESCRIPTION
[0050] Embodiments of the present invention are directed to a system
and
method for proactively making knowledge offers to users in response to
perceived
intent, need, or interest (collectively referred to as intent or need) of the
users. The
users may be, for
-4a-
CA 2979818 2019-12-17

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 example, customers of an enterprise browsing the enterprise's website for
information. The
users may also be agents of a contact center supporting the enterprise. The
knowledge
offer may be, for example, links to articles, blogs, posts, comments, and the
like, identified
as relevant in satisfying the perceived need of the user. Although links to
knowledge is used
as a main example throughout the specification, embodiments of the present
invention also
contemplate other mechanisms for presenting knowledge to a user, such as, for
example,
orally, via text messages, via email messages, or via any other multimedia
communication
conventional in the art.
[0051] By proactively offering knowledge to a user, the user need not
waste time and
effort actively searching for the knowledge or contacting the contact center
to receive the
knowledge. In one example, a user seeking an answer on what to do with battery
problems
with his current phone may, while browsing the enterprise's website for an
answer,
automatically have the answer surfaced to him. Such proactive knowledge offers
allow
users the opportunity for self-service and help deflect calls to the contact
center. Also, the
ability to quickly anticipate customer intent and offer knowledge in response
to the
anticipated intent allows problems to be addressed in a quicker manner. Quick
resolution to
problems helps to increase customer satisfaction.
[0052] Embodiments of the present invention are also directed to
determining a user's
intent as the user navigates pages of an enterprise's website by comparing
similar
navigation paths followed by other users that exhibited similar intent.
Proactive engagement
offers/invitations may be made to the user based on the determined intent. The
proactive
engagement invitations may be, for example, proactive knowledge offers as
discussed
above that prompt or encourage users to click or otherwise interact with the
knowledge
offers. The invitations may also be other offers for engagement such as, for
example, offers
to engage in an interaction with an agent, such as via chat, text, voice, or
the like.
[0053] Embodiments of the present invention may be exemplified via the
following two
use cases. For both use cases, embodiments of the present invention try to
deduce user
intent as early as possible and make a proactive offer in response to the
deduced intent.
[0054] In a first use case, assume that while a user is filling an email
form provided on
the enterprise's website, the system analyzes content of the form and
correlates the content
with context surrounding the generating of the form. The context may relate to
content of the
visited website, how the user got there, the user's profile, engagement and
interaction
history while browsing the website, social media interactions by the user,
current talk-of-the-
town, news, public events, and the like. User intent may be deduced based on
analysis of
the form and context. A confidence level of the deduced intent may be computed
for
determining whether a matching answer should be proactively offered to the
user, such as,
for example, prior to the user sending the email. If the computed confidence
level satisfies a
given threshold, a knowledge offer may be made to the user.
-5-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 [0055] If the knowledge offer satisfies the customer's need, the user
may decide to not
send the email after all. This helps offload agents from manually processing
the email and
helps improve user experience by providing a faster response than would
otherwise be
provided after sending the email request. If the user sends the email anyway
because
suggested answer was not shown fast enough, the system may be configured to
use the
identified answer in an automated response email back to the user, or as help
for guiding the
agent in drafting the response email.
[0056] If, however, the response was timely submitted, but the user
decides to send the
email anyway, an assumption may be made that the answer did not satisfy the
user's need.
This information may also be useful in formulating a response back to the
user. For
example, the system may, in this scenario, disable an automated email response
that would
otherwise insert the same unsatisfying answer back to the user, and instead,
route the email
to an agent for generating a manual response. By retrieving and viewing the
interaction
history of the user as well as knowledge information offered to the user, the
agent may
understand that the knowledge information was timely displayed to the user and
proceed
accordingly.
[0057] In a second use case, the system is configured to monitor a
user's interaction
with the enterprise's web site in order to determine user intent. In this
regard, the system
may be configured to monitor information such as, for example, searches
conducted on the
website, navigation paths taken while browsing the website, attempts to
contact the
enterprise on a particular topic, and/or the like. The website interactions
may be correlated
to context information, such as the context information discussed above, to
help determine
user intent more accurately. If the system deduces the user's intent within a
certain level of
confidence, an engagement invitation is displayed for user selection. The
engagement
invitation may be, for example, invitation to click on a knowledge document.
The
engagement invitation may also be an invitation to interact with a live agent,
such as, for
example, a pop-up message asking "do you want to chat/talk to an agent?"
According to
one embodiment, the invitations are paced based on the level of confidence of
the deduced
intent. If the invitations are for live conversations with contact center
agents, the invitations
are also aligned with the ability of the contact center to actually conduct
the conversations.
That is, the invitations take into account the probability that the users will
accept the
invitations (referred to as hit rate logic). According to one embodiment, as
soon as user
intent is identified, the contact center prepares for an anticipated
interaction, such as, for
example, by making agent selection, retrieving interaction history for the
user, determining a
business strategy (matching offerings, eligibility, cross-/up-sell, etc.), and
the like.
[0058] FIG. 1 is a block diagram of a proactive offer management system
according to
one embodiment of the invention. The system includes a web server 10 coupled
to a
knowledge management system 12 and a contact center system 14 over a data
-6-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 communications network 16. The data communications network 16 may a local
area
network (LAN) (e.g. a private network such as a company Intranet, a
metropolitan area
network (MAN), or a wide area network (WAN) (e.g. the Internet), or a
combination thereof.
[0059] The web server 10 includes hardware and software for storing,
processing, and
delivering web pages to requesting end user devices. The web pages may be web
pages of
a website maintained on behalf of a business enterprise which my market
products and
services to consumers via the website. The web pages may be accessed via, for
example,
web browser software installed at the end user devices. The end users browse
the web
pages and get information about the enterprise's products and services. The
web pages
may also provide a mechanism for contacting the contact center, via, for
example, web chat,
support forum (whether specific to a certain product or service, or general in
nature), voice
call, email, web real time communication (WebRTC), or the like.
[0060] According to one embodiment, the web server 10 hosts a web
monitoring module
18 configured to monitor behavior of visitors to the website. Such behavior
may include, but
is not limited to, material that is being browsed by the visitors, searches
being conducted on
the website, posts or other knowledge materials that are being accessed by the
visitors,
navigation path of the visitors, engagement offers provided to the visitors,
outcome of the
engagement offers, and/or the like. The web monitoring module 18 may also
receive
information on user actions from social media sites such as Facebook, Twitter,
and the like.
[0061] The web monitoring module 18 may include tracking code that is
embedded in
each web page of the website that is being monitored for visitor activity. The
tracking code
may be, for example, a Java Script code. In other embodiments where Flash Web
pages
are provided, the tracking code may also be an Action Script. According to one

embodiment, the script defines what type of activity is being monitored, such
as, for
example, access of site features, navigation on web pages and between web
pages, search
activity, and any interaction with product ads, price comparison widgets,
electronic shopping
tools, electronic forms, and the like.
[0062] According to one embodiment, the enterprise for which the website
is maintained
is also supported by a customer contact center. The customer contact center
may serve the
enterprise in performing the functions of sales and service relative to the
products and
services available through the enterprise and via the website. According to
one exemplary
embodiment, the contact center system 14 provides the necessary software and
hardware
(e.g. computers, telecommunication equipment, and other infrastructure) that
enables the
contact center to deliver services to customers via telephone or other
communication
mechanisms. Such services may vary depending on the type of contact center,
and may
range from customer service to help desk, emergency response, telemarketing,
order taking,
and the like. The contact center system 14 may be located in-house to the
enterprise,
hosted in equipment provided by a third-party service provider, or deployed in
equipment
-7-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 provided in a remote computing environment such as, for example, a
private or public cloud
environment.
[0063] According to one embodiment, the web server 10 and contact center
system 14
provide interaction information and context surrounding the interactions to
the knowledge
management system 12. The knowledge management system 12 may use this
information
to determine user intent and provide knowledge articles or other offers for
engagement
based on the determined intent. The knowledge management system 12 may
determine a
user's intent by correlating user actions during a given session, accessing
user's history, and
considering other influential parameters. The knowledge management system 12
may also
serve the knowledge in accordance to the determined intent.
[0064] The context information may relate to a navigation path followed
by the user as
the user surfs the web pages provided by the web server, a history of prior
engagements
and interactions, user profile information, current news, social media
postings, and/or the
like. According to one embodiment, the knowledge management system proactively
makes
an offer for engagement based on deduced user intent, preferably before the
user makes an
express request for the engagement. Of course, the offer for engagement may
also be in
response to an express request made by the user, such as, for example, an
express search
query submitted by the user, a request made during a chat session with a
contact center
agent, or an email Web form submitted by the user.
[0065] According to one embodiment, the offer for engagement provided by
the
knowledge management system 12 may be an offer for chat, call back, or the
like. The offer
for engagement may also be an offer of a knowledge article identified by the
knowledge
management system based on deduced need. In this regard, the knowledge
management
system is coupled to a mass storage device 20 that provides a general and/or
domain-
specific knowledge base (also referred to as corpus) for indexing by the
system 12. The
knowledge documents forming the knowledge base are dynamic by nature. That is,
if the
knowledge document becomes obsolete, it is replaced by updates.
[0066] According to one embodiment, the knowledge management system 12
also has
access to different information sources 22 over the data communication network
16 that may
be used to deduce/anticipate user intent and proactively make engagement
offers relevant to
the deduced intent. The information sources 22 may include, but are not
limited to, social
media sites, news information sites, traffic/weather sites, advertisement
campaigns, event
information sites, reputation management systems, and the like.
[0067] In the embodiment of FIG. 1, the web server 10, knowledge
management system
12, and contact center system 14 are depicted as being separate
servers/systems. A
person of skill in the art should recognize, however, that the functionality
of one or more of
the servers/systems may be integrated together into a single server/system or
further
subdivided into sub-systems/servers without departing from the spirit of the
invention. For
-8-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 example, the functionality of the knowledge management system 12 may be
integrated into
the monitoring module 18 of the web server 10, or integrated into the contact
center system
14, as will be appreciated by a person of skill in the art.
[0068] FIG. 2 is a more detailed block diagram of the contact center
system 14
according to one embodiment of the invention. According to one exemplary
embodiment,
the system 14 includes a switch/media gateway 100 coupled to a communications
network,
such as, for example, a PSTN network or the communications network 16 of FIG.
1, for
receiving and transmitting telephony calls between customers and the contact
center. The
switch/media gateway 100 may include a telephony switch configured to function
as a
central switch for agent level routing within the center. In this regard, the
switch 100 may
include an automatic call distributor, a private branch exchange (PBX), an IF-
based software
switch, and/or any other switch configured to receive Internet-sourced calls
and/or telephone
network-sourced calls. According to one exemplary embodiment of the invention,
the switch
is coupled to a call server 102 which may, for example, serve as an adapter or
interface
between the switch and the remainder of the routing, monitoring, and other
call-handling
components of the contact center.
[0069] The call server 102 may be configured to process PSTN calls, VolP
calls, and the
like. For example, the call server 102 may include a session initiation
protocol (SIP) server
for processing SIP calls. According to some exemplary embodiments, the call
server 102
may, for example, extract data about the customer interaction such as the
caller's telephone
number, often known as the automatic number identification (ANI) number, or
the customer's
internet protocol (IP) address, or email address, and communicate with other
contact center
components in processing the call.
[0070] According to one exemplary embodiment of the invention, the
contact center
system 14 further includes an interactive media response (IMR) server 104,
which may also
be referred to as a self-help system, virtual assistant, or the like. The IMR
server 104 may
be similar to an interactive voice response (IVR) server, except that the IMR
server is not
restricted to voice, but may cover a variety of media channels including
voice. Taking voice
as an example, however, the IMR server may be configured with an IMR script
for querying
calling customers on their needs. For example, a contact center for a bank may
tell callers,
via the IMR script, to "press 1" if they wish to get an account balance. If
this is the case,
through continued interaction with the IMR, customers may complete service
without
needing to speak with an agent. The IMR server 104 may also ask an open ended
question
such as, for example, "How can I help you?" and the customer may speak or
otherwise enter
a reason for contacting the contact center.
[0071] The routing server 106 may be configured to take appropriate
action for
processing a call. For example, the routing server 106 may use data about the
call to
determine how the call should be routed. If the call is to be routed to a
contact center agent,
-9-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 the routing server 106 may select an agent for routing the call based,
for example, on a
routing strategy employed by the routing server 106, and further based on
information about
agent availability, skills, and other routing parameters provided, for
example, by a statistics
server 108.
[0072] In some embodiments, the routing server 106 may query a customer
database,
which stores information about existing clients, such as contact information,
service level
agreement (SLA) requirements, nature of previous customer contacts and actions
taken by
contact center to resolve any customer issues, and the like. The database may
be, for
example, Cassandra or any non-SQL database, and may be stored in a mass
storage
device 30. The database may also be a SQL database an may be managed by any
database management system such as, for example, Oracle, IBM DB2, Microsoft
SQL
server, Microsoft Access, PostgreSQL, MySQL, FoxPro, and SQLite. The routing
server 20
may query the customer information from the customer database via an ANI or
any other
information collected by the IMR server 34.
[0073] Upon identification of an agent to whom to route the call, a
connection is made
between the caller and an agent device of an identified agent, such as, for
example, the
agent device 28 of FIG. 2. Received information about the caller and/or the
caller's historical
information may also be provided to the agent device for aiding the agent in
better servicing
the call. In this regard, the agent device 28 may include a telephone adapted
for regular
telephone calls, VolP calls, and the like. The agent device 28 may also
include a computer
for communicating with one or more servers of the contact center system 14 and
performing
data processing associated with contact center operations, and for interfacing
with
customers via voice and other multimedia communication mechanisms.
[0074] According to one embodiment, the agent device 28 is configured
with a graphical
user interface (GUI) for interfacing with the knowledge management system 12.
The agent
GUI may provide a history of queries and answers provided by the knowledge
management
server 12 fora particular customer with whom the agent is now interacting. The
agent GUI
may also allow an agent to submit queries for receiving suggestions of
knowledge
documents that may be helpful to the agent while interacting with the
customer. The
knowledge documents retrieved for use by the agent may also be based on
deduced intent
of the customer.
[0075] The suggested knowledge documents may include information that
are approved
for exposing to the customer, or information on what not to expose to the
customer. For
example, assuming that the deduced intent of the customer is that he wants to
cancel
service, and the interaction is transferred to a skilled agent or supervisor
trying to preserve
the business relationship, the retrieved knowledge document may be information
on how to
preserve the business relationship and not information to guide the customer
in canceling
the service. In another example, the knowledge document may be to provide
guidance on
-10-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 how to respond to a customer question (e.g. customer question about
bending of
smartphones sold by the enterprise). Knowledge documents exposed to agents may
also be
subject of confidentiality (e.g. only agents with certain confidentiality
clearance may have
access), or subject to authorization (e.g. certain agent might be authorized
to offer particular
services while others are not). In this regard, the knowledge management
system may be
configured to retrieve profile data of the agents prior to suggesting
knowledge documents
that have been tagged with confidentiality levels and/or authorization levels.
[0076] The contact center system 14 further includes a reporting server
114 configured
to generate reports from data aggregated by the statistics server 108. Such
reports may
include near real-time reports or historical reports concerning the state of
resources, such
as, for example, average waiting time, abandonment rate, agent occupancy, and
the like.
The reports may be generated automatically or in response to specific requests
from a
requestor (e.g. agent/administrator, contact center application, and/or the
like).
[0077] The contact center system 14 may also include a multimedia/social
media server
116 for engaging in media interactions other than voice interactions with end
user devices
and the web server 10. The media interactions may be related, for example, to
email, vnnail
(voice mail through email), chat, video, text-messaging, web, social media
(whether entirely
within the domain of the enterprise or that which is monitored but is outside
the proprietary
enterprise domain), co-browsing, and the like.
[0078] According to one exemplary embodiment of the invention, in addition
to real-time
interactions, deferrable (also referred to as back-office or offline)
interactions/activities may
also be routed to the contact center agents. Such deferrable activities may
include, for
example, responding to emails, responding to letters, attending training
seminars, or any
other activity that does not entail real time communication with a customer.
In this regard,
an interaction (iXn) server 122 interacts with the routing server 106 for
selecting an
appropriate agent to handle the activity. Once assigned to an agent, the
activity may be
pushed to the agent, or may appear in the agent's workbin 120 as a task to be
completed by
the agent. The agent's workbin may be implemented via any data structure
conventional in
the art, such as, for example, a linked list, array, and/or the like. The
workbin may be
maintained, for example, in buffer memory of the agent device 28.
[0079] According to one exemplary embodiment of the invention, the mass
storage
device(s) 110 may store one or more databases relating to agent data (e.g.
agent profiles,
schedules, etc.), customer data (e.g. customer profiles), interaction data
(e.g. details of each
interaction with a customer, including reason for the interaction, disposition
data, time on
hold, handle time, etc.), and the like. According to one embodiment, some of
the data (e.g.
customer profile data) may be maintained in a customer relations management
(CRM)
database hosted in the mass storage device 110 or elsewhere. The mass storage
device
may take form of a hard disk or disk array as is conventional in the art.
-11-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 [0080] According to one embodiment, the knowledge management system 12
is a client
of the mass storage device(s) 110 that receives information stored in the mass
storage
device(s), such as, for example, engagement and interaction history data, user
profile data,
and the like. Such data may be provided to the knowledge management system 12
on a
periodic basis and/or in response to a request for such data from the
knowledge
management system 12.
I. Proactive Knowledge Offers
[0081] FIG. 3 is a more detailed block diagram of the knowledge management
system
12 according to one embodiment of the invention. The system includes a
preprocessing
module 200 coupled to a match scoring module 202 which in turn is coupled to a
query
relevance scoring module 204. According to one embodiment, the preprocessing
module
200 is configured to receive an initial query from, for example, the web
monitoring module
18, and transform the query as needed to generate an updated query. The
initial query may
be, for example, a natural language text that is input by a user on a web page
provided by
the web server. According to one embodiment, the query is submitted to the
preprocessing
module 200 even before the user has taken action to expressly submit the
query. In this
regard, when a threshold amount of text (which may be judged based on content)
is entered
by the user, an assumption is made that the user will eventually ask the
question.
[0082] In addition or in lieu of the text typed by the user, the initial
query may also
include keywords generated by the web monitoring module 18 based on, for
example,
contextual data. Such contextual data may relate to content of the website
being browsed
by the user, the navigation path that led the user to the current web page,
user identification
information, and/or the like. According to one embodiment, the preprocessing
module 200
may be configured to process the initial query to identify useful terms and
expand on those
terms to generate a list of topics that relate to user intent. According to
one embodiment, the
preprocessing module 200 may retrieve additional context data from the contact
center
system 14 and/or other information sources 22 to expand the query based on the
context
data.
[0083] The match scoring module 202 is configured to take the
updated/transformed
query and match the query against a set of indexed documents 208 stored, for
example, in
the mass storage device 20. Although the term document is used as a general
term to refer
to knowledge that is stored in the mass storage device, a person of skill in
the art should
recognize that knowledge may be any type of information to be conveyed to a
user, such as,
for example, articles, answers to frequently asked questions (FAQs), blogs on
expert sites,
social media postings, and the like. According to one embodiment, the scoring
module 202
may be implemented as a search engine that computes a degree of similarity
between the
-12-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 updated query and various fields of documents stored in the mass storage
device. The
scoring module 202 assigns a match score based on the computed degree of
similarity. The
documents are then ranked based on their match scores. The matching documents
output
by the match scoring module may be bound at an upper limit preset by the
knowledge
management system 12.
[0084] The query relevance scoring module 204 is configured to take the
match results
from the match scoring module 202 and score each of the match results against
a trained
document model that is maintained for the particular document. In this regard,
the
knowledge management system 12 maintains a binary classifier model in a model
database
210, for each indexed document 208. There are benefits of maintaining a per-
document
classifier, as opposed to a global classifier. For example, the per-document
approach allows
the classification problem to be modeled with a smaller and denser feature
space. Also, the
collision rate for incremental learning is generally smaller when there are
many classifiers,
and each is trained quickly. Documents may also be added and deleted from the
knowledge
base without affecting the classification of other documents already in the
knowledge base.
[0085] The model is trained based on feedbacks received from users
relating to
relevancy of the document to the user's intent, after the document has been
suggested to
the user. If the document is tagged by a user as being relevant, the query
that caused the
document to be suggested becomes a positive sample for the classifier. If the
document is
tagged as not being relevant, the query becomes a negative sample for the
classifier. The
tagging may be explicit as well as implicit as discussed in further detail
below. Over time,
each of the per-document classifiers is trained with positive and negative
samples from user
feedbacks. Then, given a new query, each classifier may predict the chances of
the new
query being relevant to the document.
[0086] According to one embodiment, the knowledge management system 12
further
includes a score combination module 206 that is configured to take, for a
candidate
document, the match score output by the match scoring module 202 and the
relevance
score output by the query relevance scoring module 204, and generates a
combined score
that is a function for the two scores. The combined score may be normalized to
be within a
fixed interval range like [0.0, 1.0]. According to one embodiment, the
normalized score is
treated as a value that reflects confidence that the knowledge document will
satisfy the
user's need. The documents are ranked by score and output as ranked results
212.
According to one embodiment, documents that have a confidence less than a
preset
confidence level are dropped from the result set. According to one embodiment,
a
knowledge lifecycle (if available for a particular document) is taken into
account in
determining whether a document should be kept or dropped from the result set.
For
example, if an answer is past its knowledge lifecycle and hence, obsolete, it
is deleted from
-13-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 the result set. In some embodiments, the check for lifecycle information
may also be
performed by the match scoring module 202 or query relevance scoring module.
[0087] FIG. 4 is a flow diagram of a process for proactively making
knowledge offers
according to one embodiment of the invention. In act 300, the preprocessing
module 200
receives an initial query from the web monitoring module 18 or the agent
device 28. The
initial query may include text typed by the user in certain monitored sections
of a web page
or agent GUI. A monitored section may be a search box, fillable email form,
chat box, or the
like. After the user has typed a certain amount of text, the web monitoring
module
anticipates need of the user relating to the topic input so far, and submits
the text as the
initial query, even before the user selects an option to expressly submit the
query. In
another embodiment, the web monitoring module waits until the user submits a
"search"
command prior to submitting the initial query.
[0088] According to one embodiment, the web monitoring module 18
correlates the
content of the text with context surrounding the typing of the text, and
submits the context
information as part of the initial query. In one embodiment, an initial query
with just context
data may be generated based on assumed user intent even if the user has not
typed any
text. In this regard, the web monitoring module 18 may anticipates the user's
need for
knowledge based on interactions with the website, and proactively generates
and submits
the initial query to allow early suggestions of knowledge that may be
ultimately desired by
the user.
[0089] The context information provided by the web monitoring module 18
may relate to
content of the visited website, navigation path, the user's profile, and the
like. For example,
if the web monitoring module 18 detects that a user is lingering longer than
average on a
particular portion of a web page, such as, for example, a portion of the web
page displaying
information on the newest iPhone to be released, the web monitoring module may
deduce
user intent that is related to the subject matter displayed on the particular
portion of the web
page. For example, the web monitoring module may be configured to deduce that
the user
is interested in the new iPhone. According to one embodiment the web
monitoring module
18 may retrieve and transmit tag data associated with the particular portion
of the web site
as the initial query. Other context information may also be transmitted as
part of the initial
query, such as, for example, the amount of time in which the user was
lingering, information
on other pages visited by the user prior to lingering on the current page, the
navigation path
taken by the user to reach the current page, user identification information
(if the user is
logged in), and the like.
[0090] In act 302, the preprocessing module 200 transforms the initial
query into an
updated query with terms that are useful in discriminating user intent. The
processing of the
initial query may involve, for example, tokenization, Part-Of-Speech (POS)
tagging,
lemmatization, and/or stop word removal. As a person skill in the art will
understand, POS
-14-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 tagging extracts terms that are nouns, verbs, or adjectives, as the
relevant terms in the text
which discriminate the user's true intention. After the relevant terms are
identified, the
preprocessing module 200 may be configured to expand each term with top-N
similar words
obtained, for example, from a library of synonyms accessible to the module. Of
course, any
other preprocessing mechanism conventional in the art may be used in addition
or in lieu of
the mechanisms mentioned herein, to generate an updated query that contain
terms that
identify user intent.
[0091] According to one embodiment, as part of query processing and
expansion, the
preprocessing module 200 may be configured to interact with the contact center
system 14
and other information sources 22 to retrieve information relevant to user
intent. For
example, assume that the initial query sent by the web monitoring module
relates to the new
iPhone 6. The preprocessing module may, upon retrieving information on past
interactions
with the contact center system 14, or based on analysis of posting on the
user's social media
site, understand that the user has been having problems with his WiFi. The
preprocessing
module may anticipate that the user needs help in setting up the WiFi for his
new iPhone 6,
and generate an updated/expanded query that includes the terms "iPhone 6,"
"WiFi," and
"setup." The terms "WiFi" and "setup" may be retrieved, for example, from a
summary of a
recent interaction with the customer which is generated by the agent upon
completion of the
interaction and stored as part of the user's interaction history. In another
example,
information on past interaction history and/or user profile information may
help further
determine intent of an initial query as relating to sales or a complaint. For
example, if the
user information indicates that he does not own an iPhone 6, the initial query
may be
interpreted as the user being interested in purchasing the new iPhone 6, as
opposed to
being a query for lodging a complaint about the new iPhone 6.
[0092] The updated query is transmitted to the match scoring module 202, in
act 304, to
search for a candidate set of knowledge documents that match the transformed
query.
According to one embodiment, each knowledge document includes a question and
an
answer to the question. Relevant terms found in the question and answer
portions are
respectively stored in question and answer fields associated with each
document. According
to one embodiment, question and answer vectors are generated based on
respectively the
question and answer fields by applying the same transform that is applied in
act 302 to
transform queries. According to one embodiment, the document also stores in a
feedback
field, terms that are not part of the original document, but that are present
in the query for
which the document was tagged as relevant during user feedback. A feedback
vector may
also be generated in response.
[0093] According to one embodiment, the match scoring module computes
match scores
for the documents in the mass storage device 20 by conducting a similarity
search of the
query over the question, answer, and feedback vectors corresponding to the
documents.
-15-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 According to one embodiment, one or more query terms may be given a
higher weight that
other query terms for conducting the similarity search. For example, if a user
is having
problems with connecting a printer to a wireless router, using specific
technical terms could
indicate that the user has advanced knowledge on the subject, and already
tried common
troubleshooting steps. In this example, the technical terms could be given
higher weight that
some other terms of the query, to cause a more detailed knowledge document on
the topic
to be retrieved than a basic knowledge document on the same topic.
[0094] The matching documents are then ranked according to their match
scores.
According to one embodiment, a ranking function such as, for example, Okapi
BM25, may
be used to rank matching documents according to their relevance to the updated
query.
[0095] In act 306, the match scoring module 202 outputs, up to an upper
limit, the
matched set of documents along with their corresponding match scores.
[0096] In act 308, the query relevance scoring module 204 receives the
candidate set of
matching documents from the matching scoring module 202 and retrieves a
classifier model
for each document in the candidate set. According to one embodiment, online
logistic
regression (OLR), as will be understood by a person of skill in the art, is
used as a per-
document binary classifier. The per-document classification is based on
feedback received
from users after the document is output as suggested knowledge in response to
a generated
query. According to one embodiment, the feedback is a binary feedback
indicating a
particular suggested document was useful or not. If the document is tagged as
relevant, the
query relevance scoring module 204 (or some other classification module) adds
the query
that resulted in the document from being suggested, as a positive sample for
the classifier
for the document. Similarly, if the document is tagged as not being relevant,
the query
relevance scoring module 204 (or some other classification module) adds the
query as a
negative sample for the classifier for the document. In this manner, the per-
document
classifier provides the probability of the current query being relevant for a
document, given
the past queries for which the document was found to be relevant or non-
relevant.
[0097] According to one embodiment, for positive feedbacks only, any new
terms of the
query not already part of the document are added into the feedback field for
the document,
and used for scoring matching documents by the match scoring module 202.
[0098] According to one embodiment, user feedbacks are provided
different weights.
Weights may be implemented by submitting repeated feedback in different
volumes. In one
embodiment, express feedbacks are given higher weight than implied feedbacks.
Weights
may also depend on the user providing the feedback. For example, agent
feedbacks may
be given more weight than customer feedbacks.
[0099] According to one embodiment, implied feedbacks are assumed based
on
particular action or inaction by a user. For example, a negative feedback may
be implied for
unselected documents that are ranked higher than a document that was selected
by the
-16-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 user. A positive feedback may be assumed for a document selected by a
user if sufficient
time was spent reviewing the document, the user referenced the document in a
post, the
user linked to the document, the user printed the document, the user emailed
the document,
and the like. In another example, if the user, while typing a query request or
filling out an
email form is presented with a knowledge article, the user's selection of a
suggested
knowledge article in conjunction with the user terminating the current session
without
expressly submitting the search query or the email form, may be interpreted as
a positive
feedback for the selected article. On the other hand, if the user, after
receiving the
suggested knowledge article submits the query anyway, or if the query was
already
submitted, the user initiates a new query or requests contact with a contact
center agent,
such actions may be interpreted as negative feedback for the suggested
knowledge
document.
[00100] According to one embodiment, feedbacks are weighted based on
reputation of
the users providing the feedback. Such reputation data may be retrieved from
reputation
management systems such as Badgeville or Bunchball.
[00101] In embodiments where agents receive suggestions of knowledge documents

while interacting with a customer, customer sentiment/satisfaction at the end
of the
interaction may be used to implicitly determine relevance of the document. For
example, a
high (or low) customer satisfaction after using the document may be used to
imply a positive
(or negative) feedback for the document that was used. According to one
embodiment,
customer profile information may be used in determining the weight of the
feedback to be
implied based on the customer satisfaction information. Thus, an advanced
approach
correlates knowledge with customer profile, rather than applying global
metrics only.
[00102] In act 310, the query relevance scoring module outputs a relevance
score for
each candidate document based on retrieved classifier model for the document.
In this
regard, the query relevance scoring module 204 translates the updated query
into a feature
space for the retrieved model by vectorizing the updated query. According to
one
embodiment, feature hashing, as will be understood by a person of skill in the
art, is used for
translating the updated query into the feature space for the classifier model.
A relevance
score is then assigned to the document for indicating a probability that the
document will be
relevant to the updated query based on the model.
[00103] In act 312, the score combination module 205 takes, for each
candidate
document, the match score output by the match scoring module 202 and the
relevance
score output by the query relevance scoring module 204, and generates a
combined score
that is a function for the two scores. The combined score may be normalized to
be within a
fixed interval range like [0.0, 1.0]. According to one embodiment, the
normalized score is
treated as a value that reflects confidence that the knowledge document is
relevant to the
deduced user intent.
-17-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 [00104] In act 314, the documents are ranked by score and output as
ranked results 212.
In this regard, documents that have confidence (a combined score) less than a
preset
confidence level are dropped from the result set. According to one embodiment,
links to the
documents from the result set are displayed by the web server (e.g. as a pop-
up page) as
suggested knowledge articles. The actual text of the documents may be viewed
upon
selection of the links.
[00105] According to one embodiment, the presentation of the suggested
knowledge may
depend on feedback received from users, preference of the users, and/or other
user profile
data. Different presentations may be available for a particular document where
each
presentation differs in the way that the document is worded. For example, one
presentation
option may present the document in a compact manner with simple words, while
another
presentation option may present the document in a verbose manner with
technical terms.
The type of presentation option to use for a particular document may depend on
the
popularity of the presentation option (e.g. measured based on clicks for
documents
presented according to the presentation option). The type of presentation
option to use may
also depend on the profile of the user, such as, for example, the education
level of the user.
[00106] A person of skill in the art should appreciate that the two-level
search algorithm
discussed with respect to FIG. 4 may be used outside of proactive
engagement/knowledge
offers. For example, the algorithm may apply to the following areas for
interaction
optimization:
agent routing ¨ where analysis of inbound interactions map to a query, and
models of agent skills, manually specified and/or learned, map to the document
representing
the agent;
agent assistance ¨ where implicit search from interactions, or explicit
searches
from agents, drive search against a corpus of prior interactions, or knowledge
articles;
offer-recommendation ¨ where event and text-based interaction inputs can be
applied for offer selection.
[00107] In using the search algorithm for agent routing, the documents
may be
documents representing skills of an agent. The per-document classifier is thus
a classifier of
the agent skills for each agent. Feedback in this instance may be based on
data relating to
the handling of the interaction, such as, for example, outcome of the
interaction, customer
satisfaction, and the like.
[00108] According to one embodiment, contact center infrastructure may be used
for
enterprise knowledge management. In this regard, an enterprise user looking
for certain
knowledge might be served by different output mechanisms that provide the
knowledge,
such as, for example, via explicit direct answer, list of related documents,
list of employees
with knowledge about the subject, references to related enterprise projects,
list of external
experts, references to related training courses, video, and/or the like. The
user's inquiry
-18-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 may be submitted through various media, including, for example, e.g. web
search portal,
voice (calling a reserved knowledge number), chat, enterprise social (e.g. the
enterprise's
Twitter or Facebook page), email (to knowledge alias), and the like. A query
is generated
based on the inquiry as described above. A voice-to-text processing device may
be invoked
for inquiries that are initially provided as voice.
[00109] According to one embodiment, the knowledge management system receiving
the
inquiry is configured to determine how to respond to the inquiry, including
when to respond
as well as the media channel to invoke. For example, the knowledge response
may be
immediate or deferred, through same media channel or different one (e.g. voice
inquiry
answered by email), and the like. In this regard, the knowledge management
system, or
some other server of the contact center system in communication with the
knowledge
management system (e.g. iXn server 122), may include an engine for intake,
prioritization,
routing, selection of appropriate response channel, and the like. Such
determinations may
be based, for example, on rules that are invoked, for example, based on
information
gathered on interactions between the user and resources of the contact center.
For
example, customer profile data, business objectives, subject matter of the
inquiry, medium
for transmitting the inquiry, and the like, may be used for selecting the
appropriate rules.
[00110] According to one embodiment, if a knowledge request is deemed to
require a
real-time response based on the invoked rule, information on
presence/availability of the
agents to answer questions in real time may be used for selecting agents to
which the
request is to be routed. If the knowledge request is deemed to be fit for a
deferred
response, the iXn server 122 may be invoked for categorization and
prioritization of the
knowledge request for generating a deferred task that is routed to an
appropriate contact
center agent.
[00111] FIG. 5 is a conceptual layout diagram of a step for preprocessing
an initial query
according to one exemplary embodiment of the invention. In this example, the
initial query
is: "Can I return a shirt I received as a gift?" After tokenization, part-of-
speech tagging, and
lemmatization, the updated query includes the terms "return, shirt, receive,
gift."
[00112] FIG. 6A is a conceptual layout diagram of an exemplary FAQ document
that may
be stored as a knowledge article in the mass storage device 20 according to
one
embodiment of the invention. The document includes a preferred query 400 as
well as an
answer 402 that is responsive to the query.
[00113] FIG. 6B is a conceptual layout diagram of terms that are extracted
from a
knowledge document based on a preprocessing step which may be similar to the
preprocessing step conducted for input queries. According to one embodiment,
the terms
are stored in question and answer fields. Although not shown in this example,
a separate
feedback field may also be maintained which includes terms extracted from
queries to which
the document was given a positive feedback.
-19-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 [00114] FIGS. 7A-7B are screen shots of a web page providing access to
the knowledge
management system to a visitor of the website according to one embodiment of
the
invention. As seen in FIG. 7A, the web page includes a search box 400 where a
user may
enter a natural language query relating to a topic of Interest. According to
one embodiment,
the user types the query and selects a search command 402 to retrieve a set of
most
relevant knowledge documents 404a-404c selected based on the process described
with
respect to FIG. 4. The relevant knowledge documents may also be proactively
offered as
the user types the query, but before the user actuates the search command 402,
and/or
based on interactions with the website and surrounding context information.
[00115] According to one embodiment, the knowledge documents are displayed
according to the combined score given to each document, with the highest
ranking
document appearing first. Selection of one of the suggested knowledge
documents by, for
example, selecting a "more" option 406, causes display of the full answer to
the query as
depicted in FIG. 7B. According to one embodiment, the user may provide express
feedback
on whether the document was relevant (helpful) in satisfying the user's need
by actuating a
positive or negative feedback option 410, 412. The user may always escalate to
an agent by
transmitting a request for interaction by actuating an interaction option 414.
[00116] According to one embodiment, a user transmitting a request for
interaction by
actuating the interaction option 414 is routed to an agent of the contact
center. The routing
strategy that is invoked to route the interaction may take into account the
query typed and/or
submitted by the user prior to invoking the interaction option 414. For
example, the content
of the query, after having undergone preprocessing, may be used to find an
agent with skills
that match the content. An agent who has answered the question previously may
be
identified as having skills that match the query. Such an agent may be
selected for routing
the interaction to the agent.
[00117] FIGS. 8A-8B are screen shots of an agent GUI that may be invoked
during an
interaction with a customer according to one embodiment of the invention. The
agent GUI
includes a history tab 420 for displaying a history of queries submitted by a
user. Selection
of a particular query 422 causes display of details pertaining to the query,
such as, for
example, a list of knowledge documents 424 that were suggested to the user in
response to
the query. Such information helps the agent get a better understanding of the
intent of the
user in requesting the interaction with the agent.
[00118] According to one embodiment, the agent may also conduct searches of
the
knowledge base by selecting a search tab 426. The search tab causes display of
a search
interface that allows the user to select a particular knowledge base 428 that
he is interested
in searching. An initial search term is typed in a search box 430, and
relevant knowledge
documents are retrieved according to the process described with respect to
FIG. 4. The
documents are then displayed in a results area 432 in an order of relevance.
Selection of a
-20-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 suggested knowledge document causes the full text of the document to be
displayed in area
434. The agent may provide express feedback of the relevancy of the document
to his
query by actuating options 436, 438. According to one embodiment, the agent
uses the text
of the knowledge document to assist the customer with whom the agent is
interacting. In
this regard, the agent actuates a "copy content" option 440 to use the text of
the document
in, for example, a response email or chat response back to the customer.
[00119] FIG. 9 is a screen shot of a reporting screen depicting
performance of the
knowledge documents. The report may provide information as to how many
documents
received feedback, what the feedback was like, and the like. A list of
unanswered questions
may also be tracked and a task may be generated for a knowledge worker to
review and
handle. For example, if the question did not have an answer, the knowledge
worker may
generate an answer and store it in the mass storage device 20. If, however, a
question is
unanswered because the question was not recognized, the question may be added
as an
alternate question to a corresponding question that is recognized.
II. Making Engagement Offers Based on Observed Navigation Path
[00120] Embodiments of the present invention are also directed to
determining user intent
as the user navigates pages of the enterprise's website for making engagement
offers to the
user. According to one embodiment, the web monitoring module keeps track of
interactions
with the website, including the navigation path of the user as the user
browses the website.
The web monitoring module further keeps track of engagement offers made to the
user
during the current browsing session, including information on whether the
offer for
engagement was accepted, rejected, or ignored.
[00121] By observing navigation behavior of users and results of engagement
offers
made to those users, the web monitoring module may correlate the navigation
behaviors to
user intent. For example, the web monitoring module may deduce, based on
observations
made so far, that customers navigating a particular way (e.g. P7, P11, P1,
P23, P4, P71)
where P7 is a starting web page and P71 is an ending web page, have an intent
related to
subject A; hence, have a high likelihood of accepting an engagement offer
relating to subject
A. If a user follows the observed navigation path but has not yet reached the
end of the
navigation path (e.g. has not yet reached P71), an engagement offer relating
to subject A
may still be made at a point prior to P71 based on confidence that the
customer is indeed
interested in subject A. Confidence may be based on various factors including
the
probability that the user will indeed continue on the path and other context
data other than
navigation path such as, for example, the range of topics associated with the
particular page,
user profile data, and the like. One benefit of deducing user intent as soon
as possible to
make engagement offers sooner than later is that it helps to provide earlier
satisfaction of
user need. If the offer for engagement is a knowledge document that may allow
the user to
-21-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 engage in self-help, the early offer of such knowledge document may help
deflect calls to the
contact center. At the same time, ills desirable to monitor the user behavior
long enough to
predict his intent more precisely. Thus, according to one embodiment, a
knowledge offer is
not made unless there is a threshold level of confidence that the user intent
has been
deduced.
[00122] According to one embodiment, in addition or in lieu of making the
engagement
offers, the web monitoring module 18 may interface with the contact center
system 14 to
prepare for a likely engagement by making agent selection, retrieving
interaction history for
the user, determining a business strategy (matching offerings, eligibility,
cross-/up-sell, etc.),
and the like.
[00123] According to one embodiment, one or more intent tags are maintained
for each
web page for calculating confidence of a user's intent. Unlike static metadata
that is used to
describe attributes of the web page, intent tags according to embodiments of
the present
invention are dynamic and may be updated based on the monitored user
interactions.
According to one embodiment, the intent tags may be maintained in association
with the web
page without, for example, modifying the actual web page itself.
[00124] FIG. 10 is a layout diagram of exemplary intent tags 500a-500c
(collectively
referenced as 500) that may be maintained for a particular web page. According
to one
embodiment, the intent tags 500 may be associated with a particular intent
topic (e.g.
mortgage contract, buying a camera, etc.) and/or content of the web page. If a
particular
web page is associated with multiple topics, separate intent tags may be
maintained for each
topic.
[00125] Each intent tag 500 may include values/weights for different tag
elements such
as, for example, navigation distance and engagement result. The navigation
distance is a
number of steps on a particular navigation path that have to be taken in order
to reach a web
page where engagement was offered. The engagement result identifies whether
the
engagement at that page was accepted, rejected, or ignored. The intent tag may
further
identify a particular navigation path to the current web page.
[00126] According to one embodiment, the web monitoring module 18 dynamically
updates the weights of the tag elements based on observations. For example,
assume that
an observed navigation path for a particular web page is as follows: (P7, P11,
P1, P23, P4,
P71), where P7 is a page were observed browsing started, and P71 is a last
page where
browsing ended. Assume that an engagement offer related to a particular user
intent is
made on P71, and the offer is accepted. The intent tag for P71 for this
observed navigation
path is updated by the web monitoring module to indicate a navigation distance
of 0 (since
this is the page in which the engagement offer was made), and to indicate an
engagement
result of 1 (since the engagement offer was accepted). If P71 is associated
with more than
one topic, the true topic of interest to the user may be identified during an
actual interaction
-22-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 with the user. The tag for that topic of interest is then modified with
the navigation distance
and engagement result.
[00127] The tag for P4, the web page just prior to reaching P71, may similarly
be updated
to reflect a navigation distance of -1 and engagement result of 1. The tag for
P4 may also
include statistics reflecting likelihood of following the given navigation
path based on
observed history. Such likelihood may be used to alter the confidence of the
user's intent.
[00128] The tags of other web pages P23, P1, P11, and P7 are updated in a
similar
manner.
[00129] When the system is in production long enough, the tag (associated
meaning and
aggregated value) may be used for assessing the likelihood of correctly
determining the
intent of a user at a particular web page. In this regard, the aggregated
values/weights of a
particular tag may be used for determining confidence that an engagement
offered on the
page will be accepted by the user. For example, a confidence value at each
page may be
calculated as a function of the weight provided by the associated tag. In the
above example,
the weights decrease the further the pages are on the navigation path from the
page where
the engagement offer was made and accepted. Thus, the weight of P23 is less
than the
weight of P4. Hence, according one embodiment, the confidence on page P23 for
a
particular user-intent is computed to be less than the confidence on page P4.
According to
one embodiment, the confidence value may be modified based on other context
information
as described herein.
[00130] According to one embodiment, the web engagement module 10 formulates
rules
for sending engagement offers. The rules may be based on confidence
computations based
on the intent tags as described above. Other rules may also be formulated to
work, for
example, in conjunction with rules that are based on confidence computation.
For example,
the web monitoring module 18 may be configured to detect "negative" web pages
with the
lowest hit rate. A rule may thus be created that prevents engagement offers to
be made
when a customer is located on one of these pages regardless of the confidence
value.
Similarly, the web monitoring module 18 may be configured to detect "positive"
web pages
with the highest hit rate. A rule may thus be created that causes the web
monitoring module
to send engagement offers if a customer lands on such a web page, regardless
of the
confidence value.
[00131] In another example, the web monitoring module may find dependency of
the
duration between opening a web page and positive/negative answer to an
engagement offer.
A rule may be generated based on such learned dependency.
[00132] Other data may also be considered in generating rules and/or computing

confidence values. For example, a customer's profile (if known) may be used as
a filter for
determining whether an offer for engagement will be made. For example, the
customer's
profile may indicate a likelihood that the user will continue on a particular
navigation path.
-23-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 Running advertisements may impact weight given to a particular
subject/topic. Past
historical data such as, for example, the time of day, day of week, season,
may also be used
to determine confidence values.
[00133] The origin of the navigation, if known, may be considered in
generating rules
and/or computing confidence values. For example, the user might start the web
session
from another site external to the vvebsite provided by the enterprise. For
example, the user
may start the web session from his home page where the user may be searching
for
something (product, service, enterprise brand, etc.) using a preferred search
engine.
Selecting a link from the search results may redirect the user to the
enterprise's landing
page. There could be different landing pages for different topics, or a
general enterprise
home page. In another example, the user may navigate directly to a particular
web page
through a URL provided to the user in, for example, an email, or auto-
generated when
scanning a product QR code or the like. The user may also navigate directly to
a particular
web page by typing the URL. Monitoring kicks in when the user lands on a web
page of the
enterprise. Knowing the user's navigation origin when arriving at the
enterprise's web page
may be helpful in deducing customer intent.
[00134] In another example, the enterprise may have a business relation
with other
commonly used web service companies, such as Google search, Amazon, eBay,
Newegg,
Yahoo, or the like. The web service companies may display the enterprise
advertisements,
including contact links. This could be either a direct engagement dialog, or a
link to the
enterprise site with a specific landing page. In the latter case, monitoring
of user behavior
starts after arrival at the enterprise landing page. The web server may
provide dedicated
landing pages for all available navigation possibilities, or the same landing
pages for
individual services regardless of where the user is navigating from. In any
case, knowing
how the user arrived at the landing site may help with intent determination
and potentially
faster engagement.
[00135] According to one embodiment, time spent by a user on the website or a
particular
web page may be considered in generating rules and/or computing confidence
values. An
analogy may be made to providing assistance to a customer in a food store. If
the customer
knows exactly what to buy, he does it quickly and decisively (e.g., he knows
to buy milk,
bread, meat, vegetables, fruits, and that's it). In this case the customer is
shopping in a do-
not-disturb mode, and may not accept an assistance offer. However, if the
customer stays
at a particular product for relatively long time, it is much more likely that
the assistance will
be accepted. A same approach may be applied in the web engagement scenario.
The
longer the user stays on the web site or on particular page, the higher
probability to accept
an engagement offer.
[00136] According to one embodiment, engagement offers are paced based on the
calculated confidence levels. In this regard, a number of engagement offers
that are sent to
-24-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 users at a particular point in time may be a function of the confidence
level and availability of
agents. For example, if at a particular point in time, 5 customers have
navigated to a web
page where the confidence level of deduced intent is 90%, and there are only 5
agents
available to handle the interaction, the web engagement module may be
configured to avoid
sending engagement offers other than engagement offers to the 5 customers. In
this case,
there is no over-inviting of customers to prompt them to engage. If, however,
there are 10
customers that have navigated to web pages where the confidence level is only
30%,
additional invitations for engagement may be transmitted in addition to the
invitations to the
customers. For example, invitations may be extended to customers landing on
web
10 pages with even a lower confidence level to give such customers the
opportunity to accept
the invitations. The number of over-invitation may depend on the confidence
level
associated with the other web pages.
[00137] Pacing may also be exercised in embodiments where the engagement
offers
relate to knowledge articles. In this scenario, over-invitation may be based
on the calculated
confidence level. Since showing off-topic answers fast will be likely annoying
and counter-
productive, the over-invitations may be carried out for situations where
confidence is above a
certain threshold.
[00138] According to one embodiment, if the offer for engagement is a
knowledge article,
the identification of such knowledge article may be based on a query that is
generated by the
web monitoring module based on the monitored user interaction. The query may
include, for
example, the deduced topic/intent, along with surrounding context data as
discussed above.
[00139] Each of the various servers, controllers, switches, gateways,
engines, and/or
modules (collectively referred to as servers) in the afore-described figures
may be a process
or thread, running on one or more processors, in one or more computing devices
1500 (e.g.,
FIG. 11A, FIG. 11B), executing computer program instructions and interacting
with other
system components for performing the various functionalities described herein.
The
computer program instructions are stored in a memory which may be implemented
in a
computing device using a standard memory device, such as, for example, a
random access
memory (RAM). The computer program instructions may also be stored in other
non-
transitory computer readable media such as, for example, a CD-ROM, flash
drive, or the like.
Also, a person of skill in the art should recognize that a computing device
may be
implemented via firmware (e.g. an application-specific integrated circuit),
hardware, or a
combination of software, firmware, and hardware. A person of skill in the art
should also
recognize that the functionality of various computing devices may be combined
or integrated
into a single computing device, or the functionality of a particular computing
device may be
distributed across one or more other computing devices without departing from
the scope of
the exemplary embodiments of the present invention. A server may be a software
module,
-25-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 which may also simply be referred to as a module. The set of modules in
the contact center
may include servers, and other modules.
[00140] The various servers may be located on a computing device on-site at
the same
physical location as the agents of the contact center or may be located off-
site (or in the
cloud) in a geographically different location, e.g., in a remote data center,
connected to the
contact center via a network such as the Internet. In addition, some of the
servers may be
located in a computing device on-site at the contact center while others may
be located in a
computing device off-site, or servers providing redundant functionality may be
provided both
via on-site and off-site computing devices to provide greater fault tolerance.
In some
embodiments of the present invention, functionality provided by servers
located on
computing devices off-site may be accessed and provided over a virtual private
network
(VPN) as if such servers were on-site, or the functionality may be provided
using a software
as a service (SaaS) to provide functionality over the internet using various
protocols, such as
by exchanging data using encoded in extensible markup language (XML) or
JavaScript
Object notation (JSON).
[00141] FIG. 11A and FIG. 11B depict block diagrams of a computing device
1500 as
may be employed in exemplary embodiments of the present invention. Each
computing
device 1500 includes a central processing unit 1521 and a main memory unit
1522. As
shown in FIG. 11A, the computing device 1500 may also include a storage device
1528, a
removable media interface 1516, a network interface 1518, an input/output
(I/O) controller
1523, one or more display devices 1530c, a keyboard 1530a and a pointing
device 1530b,
such as a mouse. The storage device 1528 may include, without limitation,
storage for an
operating system and software. As shown in FIG. 11B, each computing device
1500 may
also include additional optional elements, such as a memory port 1503, a
bridge 1570, one
or more additional input/output devices 1530d, 1530e and a cache memory 1540
in
communication with the central processing unit 1521. The input/output devices
1530a,
1530b, 1530d, and 1530e may collectively be referred to herein using reference
numeral
1530.
[00142] The central processing unit 1521 is any logic circuitry that
responds to and
processes instructions fetched from the main memory unit 1522. It may be
implemented, for
example, in an integrated circuit, in the form of a microprocessor,
microcontroller, or
graphics processing unit (GPU), or in a field-programmable gate array (FPGA)
or
application-specific integrated circuit (ASIC). The main memory unit 1522 may
be one or
more memory chips capable of storing data and allowing any storage location to
be directly
accessed by the central processing unit 1521. As shown in FIG. 11A, the
central processing
unit 1521 communicates with the main memory 1522 via a system bus 1550. As
shown in
FIG. 11B, the central processing unit 1521 may also communicate directly with
the main
memory 1522 via a memory port 1503.
-26-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 [00143] FIG. 11B depicts an embodiment in which the central processing
unit 1521
communicates directly with cache memory 1540 via a secondary bus, sometimes
referred to
as a backside bus. In other embodiments, the central processing unit 1521
communicates
with the cache memory 1540 using the system bus 1550. The cache memory 1540
typically
has a faster response time than main memory 1522. As shown in FIG. 11A, the
central
processing unit 1521 communicates with various I/O devices 1530 via the local
system bus
1550. Various buses may be used as the local system bus 1550, including a
Video
Electronics Standards Association (VESA) Local bus (VLB), an Industry Standard

Architecture (ISA) bus, an Extended Industry Standard Architecture (EISA) bus,
a
MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI)
bus, a
PCI Extended (PCI-X) bus, a PCI-Express bus, or a NuBus. For embodiments in
which an
I/O device is a display device 1530c, the central processing unit 1521 may
communicate
with the display device 1530c through an Advanced Graphics Port (AGP). FIG.
11B depicts
an embodiment of a computer 1500 in which the central processing unit 1521
communicates
directly with I/O device 1530e. FIG. 11B also depicts an embodiment in which
local busses
and direct communication are mixed: the central processing unit 1521
communicates with
I/O device 1530d using a local system bus 1550 while communicating with I/O
device 1530e
directly.
[00144] A wide variety of I/O devices 1530 may be present in the computing
device 1500.
Input devices include one or more keyboards 1530a, mice, trackpads,
trackballs,
microphones, and drawing tablets. Output devices include video display devices
1530c,
speakers, and printers. An I/O controller 1523, as shown in FIG. 11A, may
control the I/O
devices. The I/O controller may control one or more I/O devices such as a
keyboard 1530a
and a pointing device 1530b, e.g., a mouse or optical pen.
[00145] Referring again to FIG. 11A, the computing device 1500 may support one
or
more removable media interfaces 1516, such as a floppy disk drive, a CD-ROM
drive, a
DVD-ROM drive, tape drives of various formats, a USB port, a Secure Digital or
COMPACT
FLASHTM memory card port, or any other device suitable for reading data from
read-only
media, or for reading data from, or writing data to, read-write media. An I/O
device 1530 may
be a bridge between the system bus 1550 and a removable media interface 1516.
[00146] The removable media interface 1516 may for example be used for
installing
software and programs. The computing device 1500 may further comprise a
storage device
1528, such as one or more hard disk drives or hard disk drive arrays, for
storing an operating
system and other related software, and for storing application software
programs. Optionally,
a removable media interface 1516 may also be used as the storage device. For
example,
the operating system and the software may be run from a bootable medium, for
example, a
bootable CD.
-27-

CA 02979818 2017-09-14
WO 2016/137903
PCT/US2016/018983
1 [00147] In some embodiments, the computing device 1500 may comprise or be

connected to multiple display devices 1530c, which each may be of the same or
different
type and/or form. As such, any of the I/O devices 1530 and/or the I/O
controller 1.523 may
comprise any type and/or form of suitable hardware, software, or combination
of hardware
and software to support, enable or provide for the connection to, and use of,
multiple display
devices 1530c by the computing device 1500. For example, the computing device
1500 may
include any type and/or form of video adapter, video card, driver, and/or
library to interface,
communicate, connect or otherwise use the display devices 1530c. In one
embodiment, a
video adapter may comprise multiple connectors to interface to multiple
display devices
1530c. In other embodiments, the computing device 1500 may include multiple
video
adapters, with each video adapter connected to one or more of the display
devices 1530c. In
some embodiments, any portion of the operating system of the computing device
1500 may
be configured for using multiple display devices 1530c. In other embodiments,
one or more
of the display devices 1530c may be provided by one or more other computing
devices,
connected, for example, to the computing device 1500 via a network. These
embodiments
may include any type of software designed and constructed to use the display
device of
another computing device as a second display device 1530c for the computing
device 1500.
One of ordinary skill in the art will recognize and appreciate the various
ways and
embodiments that a computing device 1500 may be configured to have multiple
display
devices 1530c.
[00148] A
computing device 1500 of the sort depicted in FIG. 11A and FIG. 11B may
operate under the control of an operating system, which controls scheduling of
tasks and
access to system resources. The computing device 1500 may be running any
operating
system, any embedded operating system, any real-time operating system, any
open source
operating system, any proprietary operating system, any operating systems for
mobile
computing devices, or any other operating system capable of running on the
computing
device and performing the operations described herein.
[00149] The computing device 1500 may be any workstation, desktop computer,
laptop or
notebook computer, server machine, handheld computer, mobile telephone or
other portable
telecommunication device, media playing device, gaming system, mobile
computing device,
or any other type and/or form of computing, telecommunications or media device
that is
capable of communication and that has sufficient processor power and memory
capacity to
perform the operations described herein. In some embodiments, the computing
device 1500
may have different processors, operating systems, and input devices consistent
with the
device.
[00150] In other embodiments the computing device 1500 is a mobile device,
such as a
Java-enabled cellular telephone or personal digital assistant (FDA), a smart
phone, a digital
audio player, or a portable media player. In some embodiments, the computing
device 1500
-28-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 comprises a combination of devices, such as a mobile phone combined with
a digital audio
player or portable media player.
[00151] As shown in FIG. 11C, the central processing unit 1521 may comprise
multiple
processors P1, P2, P3, P4, and may provide functionality for simultaneous
execution of
instructions or for simultaneous execution of one instruction on more than one
piece of data.
In some embodiments, the computing device 1500 may comprise a parallel
processor with
one or more cores. In one of these embodiments, the computing device 1500 is a
shared
memory parallel device, with multiple processors and/or multiple processor
cores, accessing
all available memory as a single global address space. In another of these
embodiments, the
computing device 1500 is a distributed memory parallel device with multiple
processors each
accessing local memory only. In still another of these embodiments, the
computing device
1500 has both some memory which is shared and some memory which may only be
accessed by particular processors or subsets of processors. In still even
another of these
embodiments, the central processing unit 1521 comprises a multicore
microprocessor, which
combines two or more independent processors into a single package, e.g., into
a single
integrated circuit (IC). In one exemplary embodiment, depicted in FIG. 11D,
the computing
device 1500 includes at least one central processing unit 1521 and at least
one graphics
processing unit 1521'.
[00152] In some embodiments, a central processing unit 1521 provides
single instruction,
multiple data (SIMD) functionality, e.g., execution of a single instruction
simultaneously on
multiple pieces of data. In other embodiments, several processors in the
central processing
unit 1521 may provide functionality for execution of multiple instructions
simultaneously on
multiple pieces of data (MIMD). In still other embodiments, the central
processing unit 1521
may use any combination of SIMD and MIMD cores in a single device.
[00153] A computing device may be one of a plurality of machines connected by
a
network, or it may comprise a plurality of machines so connected. FIG. 11E
shows an
exemplary network environment. The network environment comprises one or more
local
machines 1502a, 1502b (also generally referred to as local machine(s) 1502,
client(s) 1502,
client node(s) 1502, client machine(s) 1502, client computer(s) 1502, client
device(s) 1502,
endpoint(s) 1502, or endpoint node(s) 1502) in communication with one or more
remote
machines 1506a, 1506b, 1506c (also generally referred to as server machine(s)
1506 or
remote machine(s) 1506) via one or more networks 1504. In some embodiments, a
local
machine 1502 has the capacity to function as both a client node seeking access
to
resources provided by a server machine and as a server machine providing
access to
hosted resources for other clients 1502a, 1502b. Although only two clients
1502 and three
server machines 1506 are illustrated in FIG. 11E, there may, in general, be an
arbitrary
number of each. The network 1504 may be a local-area network (LAN), e.g., a
private
-29-

CA 02979818 2017-09-14
WO 2016/137903 PCT/US2016/018983
1 network such as a company Intranet, a metropolitan area network (MAN), or
a wide area
network (WAN), such as the Internet, or another public network, or a
combination thereof.
[00154] The computing device 1500 may include a network interface 1518 to
interface to
the network 1504 through a variety of connections including, but not limited
to, standard
telephone lines, local-area network (LAN), or wide area network (WAN) links,
broadband
connections, wireless connections, or a combination of any or all of the
above. Connections
may be established using a variety of communication protocols. In one
embodiment, the
computing device 1500 communicates with other computing devices 1500 via any
type
and/or form of gateway or tunneling protocol such as Secure Socket Layer (SSL)
or
Transport Layer Security (TLS). The network interface 1518 may comprise a
built-in network
adapter, such as a network interface card, suitable for interfacing the
computing device 1500
to any type of network capable of communication and performing the operations
described
herein. An I/O device 1530 may be a bridge between the system bus 1550 and an
external
communication bus.
[00155] According to one embodiment, the network environment of FIG. 11E may
be a
virtual network environment where the various components of the network are
virtualized.
For example, the various machines 1502 may be virtual machines implemented as
a
software-based computer running on a physical machine. The virtual machines
may share
the same operating system. In other embodiments, different operating system
may be run
on each virtual machine instance. According to one embodiment, a ''hypervisor"
type of
virtualization is implemented where multiple virtual machines run on the same
host physical
machine, each acting as if it has its own dedicated box. Of course, the
virtual machines may
also run on different host physical machines.
[00156] Other types of virtualization is also contemplated, such as, for
example, the
network (e.g. via Software Defined Networking (SDN)). Functions, such as
functions of the
session border controller and other types of functions, may also be
virtualized, such as, for
example, via Network Functions Virtualization (NFV).
[00157] It is the Applicant's intention to cover by claims all such uses
of the invention and
those changes and modifications which could be made to the embodiments of the
invention
herein chosen for the purpose of disclosure without departing from the spirit
and scope of
the invention. Thus, the present embodiments of the invention should be
considered in all
respects as illustrative and not restrictive, the scope of the invention to be
indicated by
claims and their equivalents rather than the foregoing description.
-30-

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2021-08-17
(86) PCT Filing Date 2016-02-22
(87) PCT Publication Date 2016-09-01
(85) National Entry 2017-09-14
Examination Requested 2017-09-14
(45) Issued 2021-08-17

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $277.00 was received on 2024-02-06


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if standard fee 2025-02-24 $277.00
Next Payment if small entity fee 2025-02-24 $100.00

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $800.00 2017-09-14
Registration of a document - section 124 $100.00 2017-09-14
Registration of a document - section 124 $100.00 2017-09-14
Registration of a document - section 124 $100.00 2017-09-14
Reinstatement of rights $200.00 2017-09-14
Application Fee $400.00 2017-09-14
Maintenance Fee - Application - New Act 2 2018-02-22 $100.00 2018-01-23
Maintenance Fee - Application - New Act 3 2019-02-22 $100.00 2019-01-22
Maintenance Fee - Application - New Act 4 2020-02-24 $100.00 2020-02-10
Maintenance Fee - Application - New Act 5 2021-02-22 $204.00 2021-02-18
Final Fee 2021-07-29 $306.00 2021-06-16
Maintenance Fee - Patent - New Act 6 2022-02-22 $203.59 2022-02-16
Registration of a document - section 124 $100.00 2022-09-29
Maintenance Fee - Patent - New Act 7 2023-02-22 $210.51 2023-02-09
Maintenance Fee - Patent - New Act 8 2024-02-22 $277.00 2024-02-06
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
GENESYS CLOUD SERVICES HOLDINGS II, LLC
Past Owners on Record
GREENEDEN U.S. HOLDINGS II, LLC
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Amendment 2019-12-17 16 626
Description 2019-12-17 33 2,084
Claims 2019-12-17 4 124
Examiner Requisition 2020-07-14 3 131
Amendment 2020-10-20 9 303
Claims 2020-10-20 4 131
Drawings 2017-09-14 16 1,456
Final Fee 2021-06-16 4 111
Representative Drawing 2021-07-21 1 8
Cover Page 2021-07-21 2 51
Electronic Grant Certificate 2021-08-17 1 2,527
Abstract 2017-09-14 2 90
Claims 2017-09-14 5 177
Description 2017-09-14 30 1,958
Representative Drawing 2017-09-14 1 11
Patent Cooperation Treaty (PCT) 2017-09-14 2 81
International Search Report 2017-09-14 14 571
National Entry Request 2017-09-14 54 2,831
Cover Page 2017-10-04 2 48
Examiner Requisition 2018-07-04 4 224
Amendment 2019-01-02 13 359
Description 2019-01-02 30 1,922
Claims 2019-01-02 4 89
Examiner Requisition 2019-06-18 4 236