IP Library Granted Patent US 12,487,976
Granted Patent B2
US 12,487,976 · App. 17/494,987 · Granted Dec 2, 2025

Automatically improving data annotations by processing annotation properties and user feedback

Inventors: Shanmukha Chaitanya Guttula (Bengaluru, IN); Nitin Gupta (New Delhi, IN); Pranay Kumar Lohia (Bangalore, IN); Hima Patel (Bengaluru, IN)
Assignee: International Business Machines Corporation
G06F16/215G06F16/2365
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,487,976
App. No.
17/494,987
Granted
Dec 2, 2025
Kind
B2
Abstract

Methods, systems, and computer program products for automatically improving data annotations by processing annotation properties and user feedback are provided herein. A computer-implemented method includes obtaining data annotation pairs, each comprising an input data annotation in a first format and a corresponding output data annotation in a second format; determining, within at least a portion of the data annotation pairs, one or more non-diffs; identifying, across the at least a portion of data annotation pairs, data annotation properties associated with multiple intents by processing the non-diffs using property-related rules; modifying at least a portion of the data annotation pairs based on the identified data annotation properties; outputting the modified data annotation pairs to at least one user; and generating a final collection of data annotation pairs by processing at least a portion of the modified data annotation pairs and user feedback received in response to the outputting.

Claims (47)

1 . A computer-implemented method comprising:

obtaining a set of data annotation pairs, wherein each of the data annotation pairs comprises an input data annotation in a first format and a corresponding output data annotation in a second format;

determining, within at least a portion of the data annotation pairs, one or more non-diffs;

determining, across the at least a portion of the data annotation pairs, one or more data annotation properties associated with multiple intents by processing at least a portion of the one or more non-diffs using one or more regular expression learning-based clustering algorithms to group instances of the one or more non-diffs within the at least a portion of the data annotation pairs on a basis of at least one of (i) one or more repeating characters within the one or more non-diffs, (ii) non-diff positioning, and (iii) one or more matching words within the one or more non-diffs;

modifying at least a portion of the data annotation pairs based at least in part on the one or more identified data annotation properties;

outputting the modified data annotation pairs to at least one user; and

generating a final collection of data annotation pairs by processing at least a portion of the modified data annotation pairs and user feedback received in response to the outputting of the modified data annotation pairs;

wherein the method is carried out by at least one computing device.

2 . The computer-implemented method of claim 1 , wherein determining the one or more non-diffs comprises processing the at least a portion of the data annotation pairs for presence of similar length non-diffs in respective input data annotations and corresponding output data annotations.

3 . The computer-implemented method of claim 1 , wherein determining the one or more non-diffs comprises processing the at least a portion of the data annotation pairs for presence of identical position placement of at least one non-diff in respective input data annotations and corresponding output data annotations.

4 . The computer-implemented method of claim 1 , wherein determining the one or more non-diffs comprises processing the at least a portion of the data annotation pairs for presence of at least one non-diff of a same token type in respective input data annotations and corresponding output data annotations.

5 . The computer-implemented method of claim 1 , wherein determining the one or more non-diffs comprises processing the at least a portion of the data annotation pairs for presence of one or more repeating characters within at least one non-diff in respective input data annotations and corresponding output data annotations.

6 . The computer-implemented method of claim 1 , wherein the user feedback comprises at least one of acceptance of at least a portion of the one or more identified data annotation properties and rejection of at least a portion of the one or more identified data annotation properties.

7 . The computer-implemented method of claim 1 , wherein modifying the at least a portion of the data annotation pairs comprises generating one or more new data annotation pairs based at least in part on the one or more identified data annotation properties and the obtained set of data annotation pairs.

8 . The computer-implemented method of claim 1 , wherein modifying the at least a portion of the data annotation pairs comprises updating one or more of the obtained set of data annotation pairs based at least in part on the one or more identified data annotation properties.

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

computing quality scores for the obtained set of data annotation pairs, wherein the quality scores are based at least in part on extent of multiple intents associated with the obtained set of data annotation pairs.

10 . The computer-implemented method of claim 9 , further comprising:

computing quality scores for the final collection of data annotation pairs, wherein the quality scores are based at least in part on extent of multiple intents associated with the final collection of data annotation pairs; and

comparing the quality scores for the final collection of data annotation pairs to the quality scores for the obtained set of data annotation pairs.

11 . The computer-implemented method of claim 1 , wherein software implementing the method is provided as a service in a cloud environment.

12 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to:

obtain a set of data annotation pairs, wherein each of the data annotation pairs comprises an input data annotation in a first format and a corresponding output data annotation in a second format;

determine, within at least a portion of the data annotation pairs, one or more non-diffs;

determine, across the at least a portion of the data annotation pairs, one or more data annotation properties associated with multiple intents by processing at least a portion of the one or more non-diffs using one or more regular expression learning-based clustering algorithms to group instances of the one or more non-diffs within the at least a portion of the data annotation pairs on a basis of at least one of (i) one or more repeating characters within the one or more non-diffs, (ii) non-diff positioning, and (iii) one or more matching words within the one or more non-diffs;

modify at least a portion of the data annotation pairs based at least in part on the one or more identified data annotation properties;

output the modified data annotation pairs to at least one user; and

generate a final collection of data annotation pairs by processing at least a portion of the modified data annotation pairs and user feedback received in response to the outputting of the modified data annotation pairs.

13 . The computer program product of claim 12 , wherein determining the one or more non-diffs comprises processing the at least a portion of the data annotation pairs for presence of similar length non-diffs in respective input data annotations and corresponding output data annotations.

14 . The computer program product of claim 12 , wherein determining the one or more non-diffs comprises processing the at least a portion of the data annotation pairs for presence of identical position placement of at least one non-diff in respective input data annotations and corresponding output data annotations.

15 . The computer program product of claim 12 , wherein determining the one or more non-diffs comprises processing the at least a portion of the data annotation pairs for presence of at least one non-diff of a same token type in respective input data annotations and corresponding output data annotations.

16 . The computer program product of claim 12 , wherein determining the one or more non-diffs comprises processing the at least a portion of the data annotation pairs for presence of one or more repeating characters within at least one non-diff in respective input data annotations and corresponding output data annotations.

17 . The computer program product of claim 12 , wherein the user feedback comprises at least one of acceptance of at least a portion of the one or more identified data annotation properties and rejection of at least a portion of the one or more identified data annotation properties.

18 . The computer program product of claim 12 , wherein the program instructions executable by a computing device further cause the computing device to:

compute quality scores for the obtained set of data annotation pairs, wherein the quality scores are based at least in part on extent of multiple intents associated with the obtained set of data annotation pairs.

19 . The computer program product of claim 18 , wherein the program instructions executable by a computing device further cause the computing device to:

compute quality scores for the final collection of data annotation pairs, wherein the quality scores are based at least in part on extent of multiple intents associated with the final collection of data annotation pairs; and

compare the quality scores for the final collection of data annotation pairs to the quality scores for the obtained set of data annotation pairs.

20 . A system comprising:

a memory configured to store program instructions; and

a processor operatively coupled to the memory to execute the program instructions to:

obtain a set of data annotation pairs, wherein each of the data annotation pairs comprises an input data annotation in a first format and a corresponding output data annotation in a second format;

determine, within at least a portion of the data annotation pairs, one or more non-diffs;

determine, across the at least a portion of the data annotation pairs, one or more data annotation properties associated with multiple intents by processing at least a portion of the one or more non-diffs using one or more regular expression learning-based clustering algorithms to group instances of the one or more non-diffs within the at least a portion of the data annotation pairs on a basis of at least one of (i) one or more repeating characters within the one or more non-diffs, (ii) non-diff positioning, and (iii) one or more matching words within the one or more non-diffs;

modify at least a portion of the data annotation pairs based at least in part on the one or more identified data annotation properties;

output the modified data annotation pairs to at least one user; and

generate a final collection of data annotation pairs by processing at least a portion of the modified data annotation pairs and user feedback received in response to the outputting of the modified data annotation pairs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2021
From: GUTTULA, SHANMUKHA CHAITANYA; GUPTA, NITIN; LOHIA, PRANAY KUMAR; PATEL, HIMA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057714/0362 →
Continuity (1)
Related Publication 20230106490A1 · Apr 6, 2023
References Cited (14)
US 9535894B2 · Carrier et al. · 2017 [cited by applicant]
US 10339216B2 · Marcus · 2019 [cited by applicant]
US 10339217B2 · Tremblay et al. · 2019 [cited by applicant]
US 20220222574A1 · Fry · 2022 [cited by examiner]
CN 110750523A · 2020 [cited by applicant]
Le, Vu, et al. “Interactive program synthesis.” arXiv preprint arXiv:1703.03539 (2017). (Year: 2017). [cited by examiner]
M. Pham, C. A. Knoblock and J. Pujara, “Learning Data Transformations with Minimal User Effort,” 2019 IEEE International Conference on Big Data (Big Data), Los Angeles, CA, USA, 2019, pp. 657-664 (Year: 2019). [cited by examiner]
Gulwani, Sumit. “Automating string processing in spreadsheets using input-output examples.” ACM Sigplan Notices 46.1 (2011): 317-330 (Year: 2011). [cited by examiner]
Li, Yunyao, et al. “Regular expression learning for information extraction.” Proceedings of the 2008 conference on empirical methods in natural language processing. 2008. (Year: 2008). [cited by examiner]
Gulwani, Sumit. “Automating string processing in spreadsheets using input-output examples.” ACM Sigplan Notices 46.1 (2011): 317-330. [cited by applicant]
Hyyrö et al., “Increased bit-parallelism for approximate and multiple string matching.” Journal of Experimental Algorithmics (JEA) 10 (2005): 2-6. [cited by applicant]
Jansen et al., “Determining the user intent of web search engine queries.” Proceedings of the 16th international conference on World Wide Web. 2007.—User querying on Web with multiple intents. [cited by applicant]
Misra, S., IBM AppConnect [What's New]: Customised map suggestions from AI-powered Mapping Assist based on user flow history, https://community.ibm.com/community/user/integration/blogs/saptarshi-misra1/2021/03/30/ibm-ap… [cited by applicant]
Mell et al., The NIST Definition of Cloud Computing, Special Publication 800-145, Sep. 2011. [cited by applicant]