DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 8 to 9, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Torene et al. (U.S. Patent Publication 2022/0237384) in view of Konig et al. (U.S. Patent Publication 2017/0316438).
Concerning independent claims 1 and 9, Torene et al. discloses a method and system for automated hierarchical ontology (“taxonomy”) generation, comprising:
“in a computerized-system comprising a processor, and a memory, including a plurality of entities: automatically generating, by the processor, the domain taxonomy, the generating comprising:” – a system generates a hierarchical ontology of hashtags (¶[0025]: Figure 1); server 110 includes processor 111, memory 112, and ontology generator 128 (¶[0032]: Figure 1); implicitly, an ontology is equivalent to “a domain taxonomy” and hashtags are being construed as “entities”; “a domain” could be ‘AI’ or ‘art’ as illustrated in Figures 3 to 4;
“calculating, by the processor, a generality score for one or more nodes, each node comprising one of the entities of a cluster of entities, wherein the calculating of the generality score comprises: calculating a frequency of occurrence of one or more of the entities, and calculating a weighted frequency of occurrence for a given entity based on frequencies of occurrence of one or more other entities” – generating a hierarchical ontology of hashtags is based on co-occurrence frequency (“a frequency of occurrence”) and diversity metrics (Abstract); a hierarchical ontology may be based on co-occurrence frequency of hashtags with other hashtags (“calculating a frequency of occurrence of one or more of the entities . . . based on frequencies of occurrence of one or more other entities”); a hierarchical ontology may include or correspond to a graph of nodes that represent hashtags (“one or more nodes”); each community may be ordered based on ensemble scores; a hashtag having a highest diversity score within a community in the hierarchical ontology may represent the most general hashtag within the community (“a generality score”) (¶[0006]); operations include determining for each of at least two hashtags of the plurality of hashtags, one or more co-occurrence frequency counts for the hashtag, one or more co-occurrence frequency counts for the hashtag and other hashtags of the plurality of hashtags, and determining, for at least two hashtags, one or more diversity metrics that indicate a distribution of the at least two hashtags (¶[0010]); calculating an ensemble score for each hashtag may be a sum of one or more diversity metrics that correspond to the hashtag, a weighted sum of the one or more diversity metrics that correspond to the hashtag (“calculating a weighted frequency of occurrence for a given entity based on frequencies of occurrence of one or more other entities”), or some mathematical combination, e.g., an average, a weighted average, etc. (¶[0038]: Figure 1); graph 400 includes nodes and connecting edges; ordering is based on corresponding ensemble scores which indicate a generality (“calculating, by the processor, a generality score”), e.g., a diversity, of each corresponding hashtag; nodes are ordered in a direction from top to bottom in order of decreasing generality/diversity, i.e., increasing specificity; a highest node in each of communities 402, 430, and 432 may be ordered as root nodes that represent the most general/diverse hashtag of the community, and descending nodes represent less diverse, e.g., more specific, hashtags (¶[0063]: Figure 4); that is, “a generality score” is determined to obtain a most general hashtag as a root node from a co-occurrence frequency and diversity metrics of a plurality of hashtags;
“selecting, by the processor, one or more of the nodes as exemplars based on the calculated generality scores” – a hashtag having the highest diversity score within a community in the hierarchical ontology may represent the most general hashtag with the community (¶[0006]); after the nodes are clustered into communities, ontology generator 128 may be configured to order the nodes of each community based on the ensemble scores to the hashtags represented by the nodes; communities may be organized so that a root nodes (“selecting . . . one or more of the nodes as exemplars”), e.g., a highest node, of the community is the hashtag having the highest ensemble score (¶[0041]: Figure 1); for each community, the node corresponding to the hashtag with the highest ensemble score of all hashtags in the community may be configured as the root node, e.g., a first or hierarchically highest hashtag of the community (¶[0054]: Figure 2: Step 222); that is, a node with a highest ensemble score of co-occurrence scores and diversity metric is a most general node in a hierarchical cluster, and is set as the root node for the cluster; root nodes for a cluster are construed as “exemplars”;
“(iii) clustering, by the processor, one or more unselected nodes under one or more of the exemplars” – ontology generator 128 may be configured to perform community detection on the graph to arrange the nodes into one or more communities (e.g., clusters) based on the weights of the edges; one or more community detection processes or algorithms may be performed to assign (e.g., cluster) the nodes into multiple communities (¶[0040]: Figure 1); communities may be organized so that a root node, e.g., a highest rode, of the community is the hashtag having a highest ensemble score, and the remaining nodes are organized in order of decreasing ensemble scores (“clustering . . . one or more unselected nodes under one or more of the exemplars”) (¶[0041]: Figure 1); remaining nodes may be ordered in a particular direction in decreasing order of ensemble score (¶[0054]: Figure 2: Step 222).
Concerning independent claims 1 and 9, Torene et al. discloses generating an ontology of hashtags in ‘domains’ of ‘AI’ and ‘art’ that is equivalent to “a domain taxonomy”, but omits the limitations of providing this ontology for “routing, by a private branch exchange, a voice interaction to a remote computer among one or more remote computers based on the domain taxonomy, the routing based on matching a topic of the voice interaction to an exemplar selected based on the calculated generality scores.” Here, Torene et al. discloses a hierarchical ontology may organize hashtags into communities, i.e., clusters of topics. (Abstract) Torene et al., then, discloses that hashtags are “clustered under one or more of the exemplars” to represent “a topic”, but does not disclose an application of providing this ontology for “routing, by a private branch exchange, a voice interaction to a remote computer among one or more remote computers”.
Concerning independent claims 1 and 9, Konig et al. teaches a switch/media gateway 12 for receiving and transmitting telephone calls between end users and a contact center that is configured as a central switch for agent level routing. Switch 12 may be a private branch exchange (PBX). Calls are routed to an agent telephony device. Switch/media gateway establishes a voice path/connection between the calling customer and the agent telephony device by establishing a connection (“routing, by a private branch exchange, a voice interaction to a remote computer among one or more remote computers”). (¶[0048]) Events may be classified with a taxonomy. Supervisor escalation events may include escalations due to a customer requesting resolution that requires supervisor authorization. A customer might express the same issue differently in a voice conversation, and two semantically equivalent events are mapped to the same topic in a canonical taxonomy representation. Semantically similar events might use different words that map to a same topic in a taxonomy. A speech driven IMR receives audio containing speech from the user. The speech is processed to find phrases, which are matched with speech recognition grammars to identify an action to take in response to the speech. The customer’s response may be used by the routing server to route the call. (¶[0051-52], [0071]) Konig et al., then, teaches that a taxonomy may be accessed to route voice interactions according to matching of phrases in a private branch exchange (“routing . . . based on matching a topic of the voice interaction to an exemplar selected based on the calculated generality scores”). An objective is to collect customer experience analytics data within a contact center and to guide control of aspects of the contact center in accordance with the collected customer experience analytics data. (¶[0004]) It would have been obvious to one having ordinary skill in the art to generate an ontology of Torene et al. to perform routing of voice interactions to remote computers in a private branch exchange of Konig et al. for a purpose of guiding control of aspects of a contact center in accordance with collected customer experience data.
Concerning claims 16, Torene et al. discloses that natural language processing (NLP) engine 120 is configured to perform operations on social media data to extract multiple hashtags from multiple social media messages by identifying text data. Hashtags include ‘Move’, ‘#instagood’, ‘#swag’, and ‘#goals’. (¶[0035]) Here, social media messages are construed to be “one or more documents” and hashtags include “words”, e.g., ‘Move’, ‘swag’, and ‘goals’ are “words” (“wherein one or more the entities include one or more words extracted from one or more documents”).
Claim 17 is rejected under 35 U.S.C. 103 as being unpatentable over Torene et al. (U.S. Patent Publication 2022/0237384) in view of Konig et al. (U.S. Patent Publication 2017/0316438) as applied to claims 1 and 9 above, and further in view of Chen et al. (U.S. Patent No. 11,675,766).
Concerning independent claim 17, this independent claim is identical to independent claims 1 and 9, but includes an additional limitations of “(iv) iteratively repeating steps (ii)-(iv) until one or more convergence criteria are satisfied”. Generally, convergence criteria are common in performing clustering, but this is not expressly disclosed by Torene et al. However, Chen et al. discloses a hierarchical representation of input data comprising similarity scores of entity pairs that is generated iteratively to obtain clusters. (Abstract) Specifically, Chen et al. provides a termination criteria (”convergence criteria”) for an iterative algorithm may include a minimum similarity threshold for which spanning trees and corresponding representative nodes (RNs) are to be identified so that further iterations may not be needed after the minimum similarity threshold is crossed. (Column 4, Lines 63 to Column 5, Line 6) If one or more termination criteria are met, final versions of the hierarchical cluster representation (HCR) may be stored. (Column 13, Lines 12 to 19: Figure 3) An objective is to provide a similarity-based clustering algorithm that scales as larger input data sets have to be processed to reliably generate clusters of closely-matched records from very large input data sets. (Column 1, Lines 33 to 41) It would have been obvious to one having ordinary skill in the art to provide a convergence criteria for clustering as taught by Chen et al. to generate a hierarchical ontology of hashtags in Torene et al. for a purpose of providing a similarity-based clustering algorithm that scales as larger input data sets have to be processed.
Claims 3 to 4 and 11 to 12 are rejected under 35 U.S.C. 103 as being unpatentable over Torene et al. (U.S. Patent Publication 2022/0237384) in view of Konig et al. (U.S. Patent Publication 2017/0316438) as applied to claims 1 and 9 above, and further in view of Mutalikdesai et al. (U.S. Patent Publication 2021/0226921).
Torene et al. discloses “calculating of the generality score comprises for a given entity, identifying one or more of the entities as joint-entities” by calculating a co-occurrence frequency and diversity metric of two hashtags (“entities”), and determining which of the nodes corresponding to a hashtag has a highest generality as a root node. However, Torene et al. does not disclose that a generality score is “based on at least one of: a distance from the given entity, and being linked to the given entity by a dependency parser” and calculating a joint-entity-spread index “based on a distance of each joint-entity from the given entity.” Here, Applicants’ limitation of “based on at least one of” does not require “and being linked to the given entity by a dependency parser.” Mutalikdesai et al. teaches extracting a plurality of named entities from one or more corpus of information and constructing a graph based on the named entities. (Abstract) A learning roadmap is developed by building a co-occurrence diagram and using the co-occurrence diagram to determine ranks of basic-ness and advanced-ness scores for a plurality of named entities in the context of a target topic. Topics within a k-hop neighborhood of the target topic may be included in the subgraph (¶[0017] - ¶[0018]) Named entity component 115 may identify a subset of named entities that lie within a threshold distance, e.g., a k-hop neighborhood of the target topic. (¶[0026]) A subset of named entities includes each of the named entities that lies within a threshold distance of a target topic. (¶[0095]) Here, a subset of named entities that is within a threshold distance is “a distance from the given entity” and a k-hop neighborhood is “a joint-entity-spread index based on a distance of each joint-entity from the given entity.” An objective is to provide an automated method of creating a learning roadmap for learning topics related to a target topic. (¶[0003]) It would have been obvious to one having ordinary skill in the art to calculate a co-occurrence frequency of Torene et al. based on a distance in a k-hop neighborhood between entities as taught by Mutalikdesai et al. for a purpose of creating a learning roadmap for learning topics related to a target topic.
Claims 6 to 7 and 14 to 15 are rejected under 35 U.S.C. 103 as being unpatentable over Torene et al. (U.S. Patent Publication 2022/0237384) in view of Konig et al. (U.S. Patent Publication 2017/0316438) as applied to claims 1 and 9 above, and further in view of Nefedov et al. (U.S. Patent No. 11,886,515).
Concerning claims 6 and 14, Torene et al. discloses clustering entities by machine learning. (¶[0052] - ¶[0056]: Figure 2) Torene et al. does not expressly disclose that clustering is performed by “calculating, by a vector embedding model, one or more vector representation for one or more of the nodes”, and clustering “based on the calculated vector representation”. However, vector embedding representations of words are well known in the art of machine learning and natural language processing.
Concerning claims 6 and 14, Nefedov et al. teaches that NLP engine 120 may be configured to generate a similarity matrix for the corpus of documents which characterizes the pair-wise similarities among documents within the corpus of documents based on content and context by computing vector representations of the corpus of documents. Word embeddings are constructed for the corpus of documents as a ‘bag of words (BOW)’ representation where each document is represented by a vector and each dimension of the vector corresponds to a particular term or word in the corpus of documents (“calculating, by a vector embedding model, one or more vector representations for one or more of the nodes”). (Column 8, lines 50 to 60: Figure 1) An input document may have new features which are not included into the corpus of documents. A system may raise a flag to notify a user that this document includes a new topic which is out of taxonomy, and the taxonomy may need to be updated. A user may set a threshold indicating that once a number of new features or new topics exceeds a user-defined threshold, the system automatically updates the taxonomy (“receiving one or more additional entities and clusters”). (Column 18, Lines 1 to 11). After the construction of the similarity matrix or the features co-occurrence matrix, clustering engine 122 may process the similarity matrix or the co-occurrence matrix to decompose or factorize the same into clusters of submatrices, which can be represented as clusters of nodes of a graph. Clustering engine 122 may apply a clustering algorithm to the similarity matrix to represent the matrix as a graph where the nodes represent documents and the edges represent similarities between the documents (“clustering, by the model, one or more of the additional entities and clusters based on the calculated vector representations”). (Column 9, Line 57 to Column 10, Line 14: Figure 1) An objective is to extract taxonomies which can then be used to classify and label documents. (Column 1, Lines 15 to 23) It would have been obvious to one having ordinary skill in the art to calculate vector representations by a vector embedding model as taught by Nefedov et al. to represent nodes of hashtags in Torene et al. for a purpose of extracting taxonomies which can then be used to classify and label documents.
Concerning claims 7 and 15, Nefedov et al. teaches that documents can be classified according to classification schemes or taxonomies which permit users to efficiently interact with the documents when storing, searching, or retrieving the documents (“providing, by the processor, a plurality of search results for an input query based on the taxonomy”). (Column 1, Lines 41 to 45) Due to the rapid labeling and classification capabilities, systems utilized to store and provide access to the documents may be enabled to more rapidly distribute documents more quickly by enabling documents to become searchable based on applied labels and classifications. (Column 4, Line 65 to Column 5, Line 4)
Response to Arguments
Applicant's arguments filed 06/17/2026 have been fully considered but they are not persuasive. Regarding arguments on pages 8-9 of the Remarks, Examiner notes that Konig [0051-52] teaches routing calls based on a customer’s response to a question. The speech processing is performed by matching phrases from the response with one or more speech recognition grammars to identify an action to take. By combining the Torene and Konig references, the matching may be performed between the customer response of Konig and the “exemplar selected based on the calculated generality scores” of Torene, and the claimed limitations are taught.
Conclusion
The prior art made of record and not relied upon is considered pertinent to Applicant’s disclosure. US 2017/0104651 A1 para [0051] teaches occurrence frequencies of incidents, clustering the incidents into groups, and identifying impact scores; US 2017/0103329 A1 para [0080] teaches clusters associated with keywords and their frequency of occurrences.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRYAN S BLANKENAGEL whose telephone number is (571)270-0685. The examiner can normally be reached 8:00am-5:30pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Richemond Dorvil can be reached at 571-272-7602. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/BRYAN S BLANKENAGEL/ Primary Examiner, Art Unit 2658