IP Library Granted Patent US 12,373,845
Granted Patent B2
US 12,373,845 · App. 17/712,678 · Granted Jul 29, 2025

Method and system of intelligently managing customer support requests

Inventors: Sunil Singhal (New Delhi, IN); Bamdev Mishra (Telangana, IN)
Assignee: Microsoft Technology Licensing, LLC
G06Q30/016G06F40/12G06F40/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,373,845
App. No.
17/712,678
Granted
Jul 29, 2025
Kind
B2
Abstract

A system and method for automatically identifying an operating procedure for resolving a customer support request includes receiving a customer support request for resolving an issue, encoding the issue into one or more text encoding representations, providing the one or more text encoding representations as a first input to a matching and selection unit, providing operating procedure encodings for a plurality of operating procedures as a second input to the matching and selection unit, comparing, by the matching and selection unit, the one or more text encoding representations to the operating procedure encodings to identify one or more operating procedures for resolving the issue, and providing the one or more operating procedures as recommendations for resolving the issue, wherein at least one of the one or more text encoding representations and the operating procedure encodings are generated by utilizing a geometric progressing natural language processing (NLP) algorithm.

Claims (79)

1. A data processing system comprising:

a processor; and

a memory in communication with the processor, the memory comprising executable instructions for execution by the processor to perform:

receiving a technical support request for resolving a technical issue with a computer system or software;

encoding the technical issue into one or more text encoding representations via a trained text encoding model in a manner that the one or more text encoding representations correspond to one or more concepts of one or more of a plurality of operating procedures by applying a rotation to the one or more text encoding representations to enable optimized matching with the plurality of operating procedures;

providing the one or more text encoding representations as a first input to a matching and selection unit;

generating, via a trained operating procedure representation model, operating procedure encodings for the plurality of operating procedures;

providing the operating procedure encodings for the plurality of operating procedures as a second input to the matching and selection unit;

comparing, by the matching and selection unit, the one or more text encoding representations to the operating procedure encodings to automatically identify one or more operating procedures for resolving the technical issue;

providing the automatically identified one or more operating procedures as recommendations for resolving the technical issue with the computer system or software;

receiving feedback data from the trained operating procedure representation model;

updating the trained operating procedure representation model using the received feedback data to, with a plurality of different training approaches, generate multiple different trained operating procedure representation models and assessing one of accuracy, computational efficiency or power efficiency for each of the different trained operating procedure representation models;

selecting one of the multiple different trained operating procedure representation models based on the assessed one or more of accuracy, computational efficiency or power efficiency; and

regenerating the operating procedure encodings with the selected operating procedure representation model from among the multiple different trained operating procedure representation models.

2. The data processing system of claim 1 , wherein the matching and selection unit utilizes a geometric progressing natural language processing algorithm to compare the one or more text encoding representations with the operating procedure encodings.

3. The data processing system of claim 1 , wherein the matching and selection unit calculates a similarity score between the one or more text encoding representations and one or more of the operating procedure encodings.

4. The data processing system of claim 3 , wherein calculating the similarity score includes rotating at least one of the one or more text encoding representations or one or more of the operating procedure encodings by a given rotation degree.

5. The data processing system of claim 1 , wherein one or more of the plurality of operating procedures include instructions for resolving the technical issue.

6. The data processing system of claim 1 , wherein the executable instructions, when executed by the processor, further cause the data processing system to perform:

determining that an operating procedure for resolving the technical issue is not available; and

upon determining that the operating procedure for resolving the technical issue is not available, automatically generating a new operating procedure for resolving the technical issue.

7. The data processing system of claim 6 , wherein automatically generating a new operating procedure for resolving the technical issue includes:

retrieving at least one of incident history data and audit data;

analyzing the retrieved incident history data to identify one or more past incidents that are similar to the technical issue raised by the technical support request;

analyzing at least one of the incident history data and audit data to detect one or more commands used to resolve the one or more identified past incidents; and

utilizing the one or more commands to generate the new operating procedure.

8. The data processing system of claim 7 , wherein utilizing the one or more commands to generate the new operating procedure includes:

analyzing the one or more commands to identify a type for each of the one or more commands;

utilizing the type to create a structure for each of the one or more commands;

creating an order for the one or more commands; and

generating one or more descriptive sections for the new operating procedure.

9. A method for automatically identifying an operating procedure for resolving a technical support request comprising:

receiving a technical support request for resolving a technical issue with a computer system or software;

encoding the technical issue into one or more text encoding representations via a trained text encoding model in a manner that the one or more text encoding representations correspond to one or more concepts of one or more of a plurality of operating procedures by applying a rotation to the one or more text encoding representations to enable optimized matching with the plurality of operating procedures;

providing the one or more text encoding representations as a first input to a matching and selection unit;

providing operating procedure encodings for the plurality of operating procedures as a second input to the matching and selection unit;

comparing, by the matching and selection unit, the one or more text encoding representations to the operating procedure encodings to automatically identify one or more operating procedures for resolving the technical issue;

providing the automatically identified one or more operating procedures as recommendations for resolving the technical issue with the computer system or software;

updating the trained operating procedure representation model using received feedback data to, with a plurality of different training approaches, generate multiple different trained operating procedure representation models and assessing one of accuracy, computational efficiency or power efficiency for each of the different trained operating procedure representation models;

selecting one of the multiple different trained operating procedure representation models based on the assessed one or more of accuracy, computational efficiency or power efficiency; and

regenerating the operating procedure encodings with the selected operating procedure representation model from among the multiple different trained operating procedure representation models.

10. The method of claim 9 , wherein the matching and selection unit utilizes a geometric progressing natural language processing algorithm to compare the one or more text encoding representations with the operating procedure encodings.

11. The method of claim 9 , wherein the matching and selection unit calculates a similarity score between the one or more text encoding representations and one or more of the operating procedure encodings.

12. The method of claim 11 , wherein calculating the similarity score includes rotating at least one of the one or more text encoding representations or one or more of the operating procedure encodings by a given rotation degree.

13. The method of claim 9 , further comprising:

determining that an operating procedure for resolving the technical issue is not available; and

upon determining that the operating procedure for resolving the technical issue is not available, automatically generating a new operating procedure for resolving the technical issue.

14. The method of claim 13 , wherein automatically generating a new operating procedure for resolving the technical issue includes:

retrieving at least one of incident history data and audit data;

analyzing the retrieved incident history data to identify one or more past incidents that are similar to the technical issue raised by the technical support request;

analyzing at least one of the incident history data and audit data to detect one or more commands used to resolve the one or more identified past incidents; and

utilizing the one or more commands to generate the new operating procedure.

15. The method of claim 14 , wherein utilizing the one or more commands to generate the new operating procedure includes:

analyzing the one or more commands to identify a type for each of the one or more commands;

utilizing the type to create a structure for each of the one or more commands;

creating an order for the one or more commands; and

generating one or more descriptive sections for the new operating procedure.

16. A non-transitory computer readable medium on which are stored instructions for execution by a processor to perform:

receiving a technical support request for resolving a technical issue with a computer system or software;

encoding the technical issue into one or more text encoding representations via a trained text encoding model in a manner that the one or more text encoding representations correspond to one or more concepts of one or more of a plurality of operating procedures by applying a rotation to the one or more text encoding representations to enable optimized matching with the plurality of operating procedures;

providing the one or more text encoding representations as a first input to a matching and selection unit;

providing operating procedure encodings for the plurality of operating procedures as a second input to the matching and selection unit;

comparing, by the matching and selection unit, the one or more text encoding representations to the operating procedure encodings to automatically identify one or more operating procedures for resolving the technical issue;

providing the automatically identified one or more operating procedures as recommendations for resolving the technical issue with the computer system or software;

updating the trained operating procedure representation model using received feedback data to, with a plurality of different training approaches, generate multiple different trained operating procedure representation models and assessing one of accuracy, computational efficiency or power efficiency for each of the different trained operating procedure representation models;

selecting one of the multiple different trained operating procedure representation models based on the assessed one or more of accuracy, computational efficiency or power efficiency; and

regenerating the operating procedure encodings with the selected operating procedure representation model from among the multiple different trained operating procedure representation models.

17. The non-transitory computer readable medium of claim 16 , wherein the matching and selection unit utilizes a geometric progressing natural language processing algorithm to compare the one or more text encoding representations with the operating procedure encodings.

18. The non-transitory computer readable medium of claim 16 , wherein the instructions when executed, further cause a programmable device to perform functions of:

determining that an operating procedure for resolving the technical issue is not available; and

upon determining that the operating procedure for resolving the technical issue is not available, automatically generating a new operating procedure for resolving the technical issue.

19. The non-transitory computer readable medium of claim 18 , wherein automatically generating a new operating procedure for resolving the technical issue includes:

retrieving at least one of incident history data and audit data;

analyzing the retrieved incident history data to identify one or more past incidents that are similar to the technical issue raised by the technical support request;

analyzing at least one of the incident history data and audit data to detect one or more commands used to resolve the one or more identified past incidents; and

utilizing the one or more commands to generate the new operating procedure.

20. The non-transitory computer readable medium of claim 19 , wherein the instructions when executed, further cause a programmable device to perform functions of:

providing the new operating procedure as an input to an operating procedure representation model; and

receiving an encoding for the new operating procedure as an output of the operating procedure representation model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2022
From: SINGHAL, SUNIL; MISHRA, BAMDEV
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 059491/0380 →
Continuity (1)
Related Publication 20230316298A1 · Oct 5, 2023
References Cited (85)
US 7529827B2 · Devraj et al. · 2009 [cited by applicant]
US 8868973B2 · Milojicic et al. · 2014 [cited by applicant]
US 8935153B2 · Mckeeman et al. · 2015 [cited by applicant]
US 10459951B2 · Venkataraman et al. · 2019 [cited by applicant]
US 11409752B1 · Qadrud-Din · 2022 [cited by examiner]
US 20080155564A1 · Shcherbina et al. · 2008 [cited by applicant]
US 20090190839A1 · Higgins · 2009 [cited by examiner]
US 20090210745A1 · Becker et al. · 2009 [cited by applicant]
US 20100268526A1 · Bradford · 2010 [cited by examiner]
US 20120323968A1 · Yih · 2012 [cited by examiner]
US 20170011302A1 · Heckman et al. · 2017 [cited by applicant]
US 20170060366A1 · Alexander · 2017 [cited by examiner]
US 20170068657A1 · Palmonari · 2017 [cited by examiner]
US 20170221015A1 · June · 2017 [cited by examiner]
US 20170243137A1 · Mandel · 2017 [cited by examiner]
US 20170286970A1 · Pelletier · 2017 [cited by examiner]
US 20170286972A1 · Hausler · 2017 [cited by examiner]
US 20170372231A1 · Ghatage · 2017 [cited by examiner]
US 20190065948A1 · Henry · 2019 [cited by examiner]
US 20200265340A1 · Chang · 2020 [cited by examiner]
US 20200272792A1 · Jayaraman · 2020 [cited by examiner]
US 20200372215A1 · Uchida · 2020 [cited by examiner]
US 20200410400A1 · Shklarski · 2020 [cited by examiner]
US 20210224306A1 · Choudhary · 2021 [cited by examiner]
US 20220044111A1 · Singh · 2022 [cited by examiner]
US 20220067295A1 · Alikiaamiri et al. · 2022 [cited by applicant]
US 20230244869A1 · Neumann · 2023 [cited by examiner]
Aalipour, Ghodrat, et al. “Applications of sequence to sequence models for technical support automation.” 2018 IEEE International Conference on Big Data (Big Data). IEEE, 2018. (Year: 2018). [cited by examiner]
Nuruzzaman, Mohammad, and Omar Khadeer Hussain. “A survey on chatbot implementation in customer service industry through deep neural networks.” 2018 IEEE 15th international conference on e-business engineering (ICEBE). … [cited by examiner]
“International Search Report and Written Opinion issued in PCT Application No. PCT/US2023/010978”, Mailed Date: Mar. 14, 2023, 9 Pages. [cited by applicant]
Townsend, et al., “Pymanopt: A Python Toolbox for Optimization on Manifolds using Automatic Differentiation”, In Journal of Machine Learning Research, vol. 17, Issue 1, Jan. 1, 2016, 5 Pages. [cited by applicant]
Xing, et al., “Normalized Word Embedding and Orthogonal Transform for Bilingual Word Translation”, In Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Hu… [cited by applicant]
Zhang, et al., “Adversarial Training for Unsupervised Bilingual Lexicon Induction”, In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (vol. 1: Long Papers), Jul. 30, 2017, pp. 19… [cited by applicant]
Zhang, et al., “Earth Mover's Distance Minimization for Unsupervised Bilingual Lexicon Induction”, In Proceedings of the Conference on Empirical Methods in Natural Language Processing, Sep. 7, 2017, pp. 1934-1945. [cited by applicant]
Zhou, et al., “Learning Bilingual Sentiment Word Embeddings for Cross-language Sentiment Classification”, In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th Internatio… [cited by applicant]
Schonemann, Peterh. , “A Generalized Solution of the Orthogonal Procrustes Problem”, In Journal of Psychometrika, vol. 31, Issue 1, Mar. 1966, 10 Pages. [cited by applicant]
Smith, et al., “Offline Bilingual Word Vectors, Orthogonal Transformations and the Inverted Softmax”, In Proceedings of the International Conference on Learning Representations, Feb. 13, 2017, pp. 1-10. [cited by applicant]
Søgaard, et al., “On the Limitations of Unsupervised Bilingual Dictionary Induction”, In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (vol. 1: Long Papers), Jul. 15, 2018, pp. … [cited by applicant]
Speer, et al., “ConceptNet at SemEval-2017 Task 2: Extending Word Embeddings with Multilingual Relational Knowledge”, In Proceedings of the 11th International Workshop on Semantic Evaluation (SemEval), Aug. 3, 2017, 5 P… [cited by applicant]
Steen, et al., “What is Azure Cognitive Search?”, Retrieved From: https://docs.microsoft.com/en-us/azure/search/search-what-is-azure-search, Jan. 1, 2022, 7 Pages. [cited by applicant]
Sun, et al., “How to Automatically Resolve Trouble Tickets with Machine Learning”, Retrieved From: https://www.ericsson.com/en/blog/2020/10/how-to-resolve-trouble-tickets-machine-learning, Oct. 16, 2020, 12 Pages. [cited by applicant]
“Transitioning from a Manual to Automated SOP System”, Retrieved From: https://compliancebridge.com/sop-system/, Jul. 13, 2017, 6 Pages. [cited by applicant]
Absil, et al., “Optimization Algorithms on Matrix Manifolds”, In Publication of Princeton University Press, Sep. 2008, 237 Pages. [cited by applicant]
Ammar, et al., “Massively Multilingual Word Embeddings”, In Repository of arXiv:1602.01925v2, May 21, 2016, 10 Pages. [cited by applicant]
Artetxe, et al., “A Robust Self-Learning Method for Fully Unsupervised Cross-Lingual Mappings of Word Embeddings”, In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, Jul. 15, 201… [cited by applicant]
Artetxe, et al., “Generalizing and Improving Bilingual Word Embedding Mappings With a Multi-Step Framework of Linear Transformations”, In Proceedings of the AAAI Conference on Artificial Intelligence, Apr. 27, 2018, pp.… [cited by applicant]
Artetxe, et al., “Learning Bilingual Word Embeddings with (Almost) no Bilingual Data”, In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, Jul. 30, 2017, pp. 451-462. [cited by applicant]
Artetxe, et al., “Learning Principled Bilingual Mappings of Word Embeddings While Preserving Monolingual Invariance”, In Proceedings of the Conference on Empirical Methods in Natural Language Processing, Nov. 1, 2016, p… [cited by applicant]
Barone, Antonio Valerio Miceli, “Towards Cross-Lingual Distributed Representations Without Parallel Text Trained with Adversarial Autoencoders”, In Proceedings of the 1st Workshop on Representation Learning for NLP, Aug… [cited by applicant]
Bonnabel, et al., “Riemannian Metric and Geometric Mean for Positive Semidefinite Matrices of Fixed Rank”, In SIAM Journal on Matrix Analysis and Applications, vol. 31, Issue 3, Oct. 21, 2009, pp. 1-24. [cited by applicant]
Boumal, et al., “Manopt, a Matlab Toolbox for Optimization on Manifolds”, In Journal of Machine Learning Research, vol. 15, Issue 1, Jan. 1, 2014, pp. 1455-1459. [cited by applicant]
Camacho-Collados, et al., “Nasari: Integrating Explicit Knowledge and Corpus Statistics for a Multilingual Representation of Concepts and Entities”, In Journal of Artificial Intelligence, vol. 240, Nov. 1, 2016, pp. 36-… [cited by applicant]
Camacho-Collados, et al., “SemEval-2017 Task 2: Multilingual and Cross-lingual Semantic Word Similarity”, In Proceedings of the 11th International Workshop on Semantic Evaluation, Aug. 3, 2017, 12 Pages. [cited by applicant]
Cartacio, et al., “What is Automated Machine Learning (AutoML)?”, Retrieved From: https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml, Jan. 25, 2022, 15 Pages. [cited by applicant]
Chandar, et al., “An Autoencoder Approach to Learning Bilingual Word Representations”, In Proceedings of the Advances in Neural Information Processing Systems, Dec. 8, 2014, pp. 1-9. [cited by applicant]
Chen, et al., “Unsupervise Multilingual Word Embeddings”, In the Conference on Empirical Methods in Natural Language Processing, Oct. 31, 2018, pp. 261-270. [cited by applicant]
Conneau, et al., “Word Translation Without Parallel Data”, In the International Conference on Learning Representations, Jan. 30, 2018, pp. 1-14. [cited by applicant]
Dinu, et al., “Improving Zero-Shot Learning by Mitigating the Hubness Problem”, In Repository of arXiv:1412.6568v3, Apr. 15, 2015, pp. 1-10. [cited by applicant]
Doval, et al., “Improving Cross-Lingual Word Embeddings by Meeting in the Middle”, In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, Oct. 31, 2018, pp. 294-304. [cited by applicant]
Duong, et al., “Multilingual Training of Crosslingual Word Embeddings”, In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics, vol. 1, Apr. 3, 2017, pp. 894-904. [cited by applicant]
Edelman, et al., “The Geometry of Algorithms with Orthogonality Constraints”, In SIAM journal on Matrix Analysis and Applications, vol. 20, Issue 2, Jun. 19, 1998, pp. 1-45. [cited by applicant]
Faruqui, et al., “Improving vector space word representations using multilingual correlation”, In Proceedings of the 14th Conference of the European Chapter of the Association for Computational Linguistics, Apr. 26, 201… [cited by applicant]
Gardner, et al., “Translation Invariant Word Embeddings”, In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, Sep. 17, 2015, pp. 1084-1088. [cited by applicant]
Gilley, et al., “Tutorial: Train and Deploy an Image Classification Model with an Example Jupyter Notebook”, Retrieved From: https://docs.microsoft.com/en-us/azure/machine-learning/tutorial-train-deploy-notebook, Jan. 1… [cited by applicant]
Gouws, et al., “Bilbowa: Fast bilingual distributed representations without word alignments”, In Proceedings of the 32nd International Conference on Machine Learning, Jul. 6, 2015, 9 Pages. [cited by applicant]
Gower, J.C., “Generalized Procrustes Analysis”, In Journal of Psychometrika, vol. 40, Issue 1, Mar. 1975, pp. 33-51. [cited by applicant]
Grave, et al., “Unsupervised Alignment of Embeddings with Wasserstein Procrustes”, In Technical Report, arXiv preprint arXiv:1805.11222, May 29, 2018, 11 Pages. [cited by applicant]
Gu, et al., “Universal Neural Machine Translation for Extremely Low Resource Languages”, In Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Te… [cited by applicant]
Hammerla, et al., “Aligning the FastText Vectors of 78 Languages”, Retrieved From: https://web.archive.org/web/20220120072251/https://github.com/babylonhealth/fastText_multilingual, Jan. 20, 2022, 10 Pages. [cited by applicant]
Harandi, et al., “Joint Dimensionality Reduction and Metric Learning: A Geometric Take”, In Proceedings of the International Conference on Machine Learning, vol. 70, Aug. 6, 2017, 10 Pages. [cited by applicant]
Hermann, et al., “Multilingual Models for Compositional Distributed Semantics”, In Proceedings of the Annual Meeting of the Association for Computational Linguistics, Jun. 23, 2014, pp. 58-68. [cited by applicant]
Hoshen, et al., “Non-Adversarial Unsupervised Word Translation”, In Proceedings of the Conference on Empirical Methods in Natural Language Processing, Oct. 31, 2018, pp. 469-478. [cited by applicant]
Huang, et al., “ROPTLIB: An Object-Oriented C++ Library for Optimization on Riemannian Manifolds”, In Proceedings of ACM Transactions on Mathematical Software, Jul. 31, 2018, 21 Pages. [cited by applicant]
Jawanpuria, et al., “Learning Multilingual Word Embeddings in Latent Metric Space: A Geometric Approach”, In Journal of Transactions of the Association for Computational Linguistics, vol. 7, Aug. 1, 2019, pp. 107-120. [cited by applicant]
Joulin, et al., “Loss in Translation: Learning Bilingual Word Mapping With a Retrieval Criterion”, In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, Oct. 31, 2018, pp. 2979-2984. [cited by applicant]
Kementchedjhieva, et al., “Generalizing Procrustes Analysis for Better Bilingual Dictionary Induction”, In Proceedings of the 22nd Conference on Computational Natural Language Learning, Oct. 31, 2018, pp. 211-220. [cited by applicant]
Klementiev, et al., “Inducing crosslingual distributed representations of words”, In Proceedings of the International Conference on Computational Linguistics: Technical Papers, Dec. 2012, pp. 1459-1474. [cited by applicant]
Lazaridou, et al., “Hubness and Pollution: Delving into Cross-Space Mapping for Zero-Shot Learning”, Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Join… [cited by applicant]
Lee, John M., “Introduction to Smooth Manifolds”, In the Book Graduate Texts in Mathematics, vol. 218, 2012, 726 Pages. [cited by applicant]
Meyer, et al., “Linear Regression Under Fixed-Rank Constraints: A Riemannian Approach”, In Proceedings of the 28th International Conference on International Conference on Machine Learning, Jun. 28, 2011, 8 Pages. [cited by applicant]
Mikolov, et al., “Efficient Estimation of Word Representations in Vector Space”, In Repository of arXiv:1301.3781v3, Jan. 16, 2013, pp. 1-9. [cited by applicant]
Mikolov, “Exploiting similarities among languages for machine translation.”, In Repository of arXiv:1309.4168v1, Sep. 17, 2013, 10 Pages. [cited by applicant]
Mishra, et al., “Fixed-Rank Matrix Factorizations and Riemannian Low-Rank Optimization”, In Journal of Computational Statistics, vol. 29, Issue 3, Apr. 24, 2013, 33 Pages. [cited by applicant]
Roy, et al., “Geometry Aware Constrained Optimization Techniques for Deep Learning”, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Jun. 18, 2018, pp. 1-10. [cited by applicant]
Sato, et al., “A New, Globally Convergent Riemannian Conjugate Gradient Method”, In Journal of Mathematical Programming and Operations Research, vol. 64, Issue 4, Aug. 2, 2013, pp. 1-22. [cited by applicant]