IP Library Granted Patent US 12,555,129
Granted Patent B2
US 12,555,129 · App. 18/439,185 · Granted Feb 17, 2026

Software product optimization identification through natural language processing

Inventors: Melanie Dauber (Oceanside, NY); Zachary A. Silverstein (Georgetown, TX); Jeremy R. Fox (Georgetown, TX); Jacob Ryan Jepperson (St. Paul, MN); Logan Bailey (Atlanta, GA)
Assignee: International Business Machines Corporation
G06Q30/0201G06Q10/087
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,555,129
App. No.
18/439,185
Filed
Feb 12, 2024
Granted
Feb 17, 2026
Kind
B2
Art Unit
3625
USPC
705/7.29
Abstract

Software product optimization is provided. Expressed sentiment in a set of opted in user-to-user business-related conversations among a group of users corresponding to an entity is associated with a software product in response to determining that the software product is identified by mentioned keywords in the set of opted in user-to-user business-related conversations based on a keyword corpus. It is determined whether the expressed sentiment associated with the software product is negative sentiment. A related software product listed in a software product catalog of the entity is identified as an optimization to the software product in response to determining that the expressed sentiment associated with the software product is negative sentiment. A recommendation to implement the related software product as the optimization to the software product is generated. The recommendation to implement the related software product as the optimization to the software product is sent to the group of users.

Claims (74)

1 . A computer-implemented method for software product optimization, the computer-implemented method comprising:

associating, by a computer, expressed sentiment in a set of opted in user-to-user business-related conversations among a group of users corresponding to an entity with a software product in response to the computer, using a natural language processing and understanding model, determining that the software product is identified by mentioned keywords in the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity based on a keyword corpus during execution of the software product;

determining, by the computer, using the natural language processing and understanding model, whether the expressed sentiment associated with the software product is negative sentiment;

identifying, by the computer, a related software product listed in a software product catalog of the entity as an optimization to the software product in response to the computer, using the natural language processing and understanding model, determining that the expressed sentiment associated with the software product is negative sentiment;

generating, by the computer, a recommendation to implement the related software product as the optimization to the software product;

sending, by the computer, the recommendation to implement the related software product as the optimization to the software product to the group of users corresponding to the entity using an optimal notification application;

receiving, by the computer, an input to implement the related software product as the optimization to the software product; and

automatically implementing, by the computer, the related software product as the optimization to the software product in response to receiving the input to increase at least one of usage, performance, functionality, capability of the software product.

2 . The computer-implemented method of claim 1 , wherein the set of opted in user-to-user business-related conversations comprise both verbal and textual conversations.

3 . The computer-implemented method of claim 1 , further comprising:

receiving, by the computer, feedback from the group of users corresponding to the entity regarding implementation of the related software product as the optimization to the software product; and

utilizing, by the computer, the feedback from the group of users corresponding to the entity regarding the implementation of the related software product as the optimization to the software product to retrain the natural language processing and understanding model to increase accuracy of software product optimization recommendations.

4 . The computer-implemented method of claim 1 , further comprising:

performing, by the computer, an analysis of a current inventory of the entity;

determining, by the computer, whether a current inventory level of the related software product is greater than a defined minimum inventory threshold level for the related software product based on the analysis of the current inventory of the entity; and

determining, by the computer, that the related software product is available for the optimization of the software product in response to the computer determining that the current inventory level of the related software product is greater than the defined minimum inventory threshold level for the related software product based on the analysis of the current inventory of the entity.

5 . The computer-implemented method of claim 1 , further comprising:

determining, by the computer, the optimal notification application corresponding to the group of users based on at least one of type of content to be included in the recommendation, context of the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity, user preferences, and location of the related software product in the software product catalog of the entity.

6 . The computer-implemented method of claim 1 , further comprising:

receiving, by the computer, consent from the group of users corresponding to the entity to access and process the set of opted in user-to-user business-related conversations among the group of users occurring via the set of opted in user-to-user communication applications that includes at least one of verbal communications and textual communications among the group of users;

accessing, by the computer, the software product catalog corresponding to the entity that includes a plurality of software products corresponding to the entity; and

accessing, by the computer, the set of opted in user-to-user communication applications to process the set of opted in user-to-user business-related conversations among the group of users.

7 . The computer-implemented method of claim 1 , further comprising:

performing, by the computer, using the natural language processing and understanding model, an analysis of the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity occurring via the set of opted in user-to-user communication applications;

determining, by the computer, using the natural language processing and understanding model, a context of the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity based on the analysis of the set of opted in user-to-user business-related conversations; and

identifying, by the computer, using the natural language processing and understanding model, the expressed sentiment and the mentioned keywords in the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity based on the context of the set of opted in user-to-user business-related conversations.

8 . The computer-implemented method of claim 1 , wherein the optimization of the software product using the related software product expands at least one of usage, performance, functionality, and capability of the software product.

9 . A computer system for software product optimization, the computer system comprising:

a communication fabric;

a set of computer-readable storage media connected to the communication fabric, wherein the set of computer-readable storage media collectively stores program instructions; and

a set of processors connected to the communication fabric, wherein the set of processors executes the program instructions to:

associate expressed sentiment in a set of opted in user-to-user business-related conversations among a group of users corresponding to an entity with a software product in response to determining, using a natural language processing and understanding model, that the software product is identified by mentioned keywords in the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity based on a keyword corpus during execution of the software product;

determining, using the natural language processing and understanding model, whether the expressed sentiment associated with the software product is negative sentiment;

identifying a related software product listed in a software product catalog of the entity as an optimization to the software product in response to determining, using the natural language processing and understanding model, that the expressed sentiment associated with the software product is negative sentiment;

generate a recommendation to implement the related software product as the optimization to the software product;

send the recommendation to implement the related software product as the optimization to the software product to the group of users corresponding to the entity using an optimal notification application;

receiving, by the computer, an input to implement the related software product as the optimization to the software product; and

automatically implementing, by the computer, the related software product as the optimization to the software product in response to receiving the input to increase at least one of usage, performance, functionality, capability of the software product.

10 . The computer system of claim 9 , wherein the set of opted in user-to-user business-related conversations comprise both verbal and textual.

11 . The computer system of claim 9 , wherein the set of processors further executes the program instructions to:

receive feedback from the group of users corresponding to the entity regarding implementation of the related software product as the optimization to the software product; and

utilize the feedback from the group of users corresponding to the entity regarding the implementation of the related software product as the optimization to the software product to retrain the natural language processing and understanding model to increase accuracy of software product optimization recommendations.

12 . The computer system of claim 9 , wherein the set of processors further executes the program instructions to:

perform an analysis of a current inventory of the entity;

determine whether a current inventory level of the related software product is greater than a defined minimum inventory threshold level for the related software product based on the analysis of the current inventory of the entity; and

determine that the related software product is available for the optimization of the software product in response to determining that the current inventory level of the related software product is greater than the defined minimum inventory threshold level for the related software product based on the analysis of the current inventory of the entity.

13 . The computer system of claim 9 , wherein the set of processors further executes the program instructions to:

determine the optimal notification application corresponding to the group of users based on at least one of type of content to be included in the recommendation, context of the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity, user preferences, and location of the related software product in the software product catalog of the entity.

14 . A computer program product for software product optimization, the computer program product comprising a set of computer-readable storage media having program instructions collectively stored therein, the program instructions executable by a computer to cause the computer to:

associate expressed sentiment in a set of opted in user-to-user business-related conversations among a group of users corresponding to an entity with a software product in response to determining, using a natural language processing and understanding model, that the software product is identified by mentioned keywords in the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity based on a keyword corpus during execution of the software product;

determining, using the natural language processing and understanding model, whether the expressed sentiment associated with the software product is negative sentiment;

identifying a related software product listed in a software product catalog of the entity as an optimization to the software product in response to determining, using the natural language processing and understanding model, that the expressed sentiment associated with the software product is negative sentiment;

generate a recommendation to implement the related software product as the optimization to the software product;

send the recommendation to implement the related software product as the optimization to the software product to the group of users corresponding to the entity using an optimal notification application;

receiving, by the computer, an input to implement the related software product as the optimization to the software product; and

automatically implementing, by the computer, the related software product as the optimization to the software product in response to receiving the input to increase at least one of usage, performance, functionality, capability of the software product.

15 . The computer program product of claim 14 , wherein the set of opted in user-to-user business-related conversations comprise both verbal and textual conversations.

16 . The computer program product of claim 14 , wherein the program instructions further cause the computer to:

receive feedback from the group of users corresponding to the entity regarding implementation of the related software product as the optimization to the software product; and

utilize the feedback from the group of users corresponding to the entity regarding the implementation of the related software product as the optimization to the software product to retrain the natural language processing and understanding model to increase accuracy of software product optimization recommendations.

17 . The computer program product of claim 14 , wherein the program instructions further cause the computer to:

perform an analysis of a current inventory of the entity;

determine whether a current inventory level of the related software product is greater than a defined minimum inventory threshold level for the related software product based on the analysis of the current inventory of the entity; and

determine that the related software product is available for the optimization of the software product in response to determining that the current inventory level of the related software product is greater than the defined minimum inventory threshold level for the related software product based on the analysis of the current inventory of the entity.

18 . The computer program product of claim 14 , wherein the program instructions further cause the computer to:

determine the optimal notification application corresponding to the group of users based on at least one of type of content to be included in the recommendation, context of the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity, user preferences, and location of the related software product in the software product catalog of the entity.

19 . The computer program product of claim 14 , wherein the program instructions further cause the computer to:

receive consent from the group of users corresponding to the entity to access and process the set of opted in user-to-user business-related conversations among the group of users occurring via the set of opted in user-to-user communication applications that includes at least one of verbal communications and textual communications among the group of users;

access the software product catalog corresponding to the entity that includes a plurality of software products corresponding to the entity; and

access the set of opted in user-to-user communication applications to process the set of opted in user-to-user business-related conversations among the group of users.

20 . The computer program product of claim 14 , wherein the program instructions further cause the computer to:

perform, using the natural language processing and understanding model, an analysis of the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity occurring via the set of opted in user-to-user communication applications;

determine, using the natural language processing and understanding model, a context of the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity based on the analysis of the set of opted in user-to-user business-related conversations; and

identify, using the natural language processing and understanding model, the expressed sentiment and the mentioned keywords in the set of opted in user-to-user business-related conversations among the group of users corresponding to the entity based on the context of the set of opted in user-to-user business-related conversations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2024
From: DAUBER, MELANIE; SILVERSTEIN, ZACHARY A.; FOX, JEREMY R.; JEPPERSON, JACOB RYAN; BAILEY, LOGAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 066445/0072 →
Continuity (1)
Related Publication 20250259188A1 · Aug 14, 2025
References Cited (49)
US 6665867B1 · Ims · 2003 [cited by examiner]
US 7269824B2 · Noy · 2007 [cited by examiner]
US 7792841B2 · McAllister · 2010 [cited by examiner]
US 7954090B1 · Qureshi · 2011 [cited by examiner]
US 8291490B1 · Ahmed · 2012 [cited by examiner]
US 8296168B2 · Subrahmanian · 2012 [cited by examiner]
US 8635590B1 · Ogilvie · 2014 [cited by examiner]
US 8738363B2 · Brun · 2014 [cited by examiner]
US 8799773B2 · Reis · 2014 [cited by examiner]
US 8909771B2 · Heath · 2014 [cited by applicant]
US 9038054B1 · Kozak · 2015 [cited by examiner]
US 9588760B1 · Bostick · 2017 [cited by examiner]
US 9619828B2 · Nikolic · 2017 [cited by examiner]
US 9823919B2 · Choudhari · 2017 [cited by examiner]
US 9880712B2 · Slawson · 2018 [cited by examiner]
US 10380505B2 · Gaon et al. · 2019 [cited by applicant]
US 10475072B2 · Lampert et al. · 2019 [cited by applicant]
US 10489510B2 · Jiang · 2019 [cited by examiner]
US 11074636B1 · Vora · 2021 [cited by examiner]
US 11093487B2 · Erpenbach et al. · 2021 [cited by applicant]
US 11249743B2 · Cannon · 2022 [cited by examiner]
US 11532022B2 · Aswani · 2022 [cited by examiner]
US 11816573B1 · Garvey · 2023 [cited by examiner]
US 20080249764A1 · Huang · 2008 [cited by examiner]
US 20130096909A1 · Brun · 2013 [cited by examiner]
US 20130254121A1 · Hockings · 2013 [cited by examiner]
US 20140365207A1 · Convertino · 2014 [cited by examiner]
US 20170200207A1 · Aswani · 2017 [cited by examiner]
US 20170236131A1 · Nathenson · 2017 [cited by examiner]
US 20180307677A1 · Jiang · 2018 [cited by examiner]
US 20190164095A1 · Argyros · 2019 [cited by examiner]
US 20190164208A1 · Dhoolia et al. · 2019 [cited by applicant]
US 20190325498A1 · Clark · 2019 [cited by applicant]
US 20210149658A1 · Cannon · 2021 [cited by examiner]
US 20210374033A1 · Yang · 2021 [cited by examiner]
US 20230071799A1 · Ramnani · 2023 [cited by examiner]
US 20230214888A1 · Renard · 2023 [cited by examiner]
US 20240354789A1 · Garvey · 2024 [cited by examiner]
US 20240378654A1 · Olivier · 2024 [cited by examiner]
Apptrace takes the pain out of app review insight with sentiment analysis Tech Forge, Dec. 6, 2012 (Year: 2012). [cited by examiner]
Dabrowski, Jacek et al., Analysing app reviews for software engineering: a systematic literature review Empirical Software Engineering, vol. 27, No. 43, 2022 (Year: 2022). [cited by examiner]
Dabrowski, Jacek et al., Mining User Opinions To Support Requirement Engineering: An Empirical Study. In International Conference on Advanced Information Systems Engineering CAISE, 2020 (Year: 2020). [cited by examiner]
Guzman, Emitza et al., How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Reviews IEEE, 2014 (Year: 2014). [cited by examiner]
Johann, Timo et al., Safe: A Simple Approach for Feature Extraction from App Descriptions and App Reviews 2017 IEEE 25th International Requirements Engineering Conference, 2017 (Year: 2017). [cited by examiner]
Licorish, Sherlock A et al., Attributes that Predict which Features to Fix: Lessons for App Store Mining ACM, EASE'17, Jun. 2017 (Year: 2017). [cited by examiner]
Amazon, “Cloud Computing Services—Amazon Web Services (AWS),” aws.amazon.com, 13 pages, accessed Feb. 5, 2024, https://aws.amazon.com/. [cited by applicant]
Google, “Cloud Computing Services | Google Cloud,” cloud.google.com, 12 pages, accessed Feb. 5, 2024, https://cloud.google.com/. [cited by applicant]
IBM, “IBM watsonx—An AI and data platform built for business,” ibm.com/watsonx, 17 pages, accessed Feb. 5, 2024, https://www.ibm.com/watsonx. [cited by applicant]
Microsoft, “Cloud Computing Services | Microsoft Azure,” azure.microsoft.com, 9 pages, accessed Feb. 5, 2024, https://azure.microsoft.com/en-us. [cited by applicant]