Skip to main content
Dismiss
IP.com applications will be updated on Sunday, February 5, from 10am-1pm ET. You may experience brief service interruptions during that time.
Artificial Intelligence

Training AI: How IP.com’s AI Engine Learned to Accelerate Innovation

As AI becomes a well-established business practice across innovative companies, some tasks are better suited than others for the implementation of artificial intelligence. For R&D and IP teams pushing their organizations through the innovation lifecycle, AI reduces the average non-patent literature search time from 10 hours to just two. Semantic search powered by natural language processing democratizes the patent search process, expanding access to powerful patent and non-patent literature beyond trained IP professionals. These benefits—and their impact on the cost of innovation—cannot be ignored or discounted, regardless of society’s (and the C-suite’s) general distrust of AI.

There are artificial intelligence use cases that make the distrust of AI understandable. Self-driving cars have accidents. Facebook’s algorithms amplify dangerous cognitive biases. However, we have accepted AI in applications that make our lives easier: Instagram-ready portrait mode from Apple, Spotify and Netflix recommendations, and voice search to name just a few.

The antidote to employers’ and employees’ distrust of AI is explainable, trained, tested, and observed models—like the IP.com Semantic Gist® engine—that make life easier. When a searcher puts part of an invention disclosure into the search bar in our software suite, the AI engine identifies the most relevant existing technical literature. That searcher may be hesitant to accept those results as comprehensive because, to the average user, AI’s fundamental “black box” nature makes explainability difficult. However, IP.com’s commitment to training AI models in-house and testing, observing, and maintaining them over time with unstructured, up-to-date real-world data increases the transparency of our AI engine overall.

Training AI

IP.com started training its NLP engine almost two decades ago to understand the language structure contained within patents and used by the people searching these types of technical documents. The AI was (and continues to be) trained using a high-quality dataset comprised of hundreds of millions of data points from corporations, litigation records, patents, and other technical literature. This commitment to uniform, quality data is key to training AI. The artificial intelligence learns from the information it’s given; if inputs are low-quality, outputs will be too.

Many general-use AI engines, including other NLP algorithms like Natural Language Toolkit, learn from more general datasets. Training an engine in-house allowed IP.com to teach its AI modules using application-specific data—in this case, technical documents like patents and publications.

Testing AI

Like human (and even animal) learners, there is a chance that AI is memorizing patterns during training, rather than learning to make predictions and uncover insights. Without testing novel inputs, an AI engine’s author would be unaware of this shortcoming. The testing and evaluation process must use unstructured, real-world data and identify any implicit biases, inconsistencies, or bugs.

At IP.com, testing ensures the AI models that power the workflow solutions are working as intended, delivering relevant patent search results in a fraction of the time it takes trained human searchers to complete the same tasks. Users can add the software suite to their innovation workflow with confidence, knowing IP.com’s AI understands exactly what they’re looking for.

Screenshot of breaking patent apart, highlighting what the AI deems key info

Observing AI

How people interact with searching AI is changing. Think about how you used Google a couple of decades ago. While it wasn’t strictly Boolean logic, it probably was made up of fairly simple phrases. Now, we type (or speak) complete sentences into Google and expect the AI engine to understand what we’re looking for. The same is true for patent searching!

With hundreds of thousands of patents issued each year, as well as new litigation records and technical literature, the AI engine is constantly evolving. This evolution, the ability to continue learning based on new inputs, is part of what makes AI powerful. It can also end poorly without observation. Just spend a few minutes browsing AI Weirdness and you’ll quickly understand how AI can get sidetracked without supervision. IP.com observes and maintains its AI engine to meet users’ needs now and increasing expectations for what an AI tool can deliver. This final piece of the AI training process is what ensures IP.com continuously delivers top-of-class results

[gravityforms id="35" title="false" ajax="true"]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_35' ><div id='gf_35' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_35' id='gform_35' action='/blog/training-ai-how-ip-coms-ai-engine-learned-to-accelerate-innovation/#gf_35' > <div class='gform_body gform-body'><div id='gform_fields_35' class='gform_fields top_label form_sublabel_below description_below'><div id="field_35_1" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_35_1"><label class='gfield_label' for='input_35_1' >Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_35_1' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_35_3" class="gfield gsection field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_35_3"><h3 class="gsection_title"></h3></div><div id="field_35_2" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_35_2"><div class='ginput_container ginput_container_text'><input name='input_2' id='input_35_2' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></div><div id="field_35_4" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_35_4"><label class='gfield_label' for='input_35_4' >Comments</label><div class='ginput_container'><input name='input_4' id='input_35_4' type='text' value='' /></div><div class='gfield_description' id='gfield_description_35_4'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_35' class='gform_button button gform-button--width-full' value='Subscribe' onclick='if(window["gf_submitting_35"]){return false;} window["gf_submitting_35"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_35"]){return false;} window["gf_submitting_35"]=true; jQuery("#gform_35").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=35&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_35' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='35' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_35' value='WyJbXSIsImE1MjY5YjVkNzQ1NzViOTRhOWI5NzU4MzBhMWRjYjNhIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_35' id='gform_target_page_number_35' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_35' id='gform_source_page_number_35' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_35' id='gform_ajax_frame_35' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 35, 'https://ip.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_35').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_35');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_35').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_35').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_35').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_35').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_35').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_35').val();gformInitSpinner( 35, 'https://ip.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [35, current_page]);window['gf_submitting_35'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_35').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_35').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [35]);window['gf_submitting_35'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_35').text());}, 50);}else{jQuery('#gform_35').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [35, current_page]);} );} ); </script>