This article will cover integrating an Identity Data Fabric with AI to gather insights into your user data. Additionally, it will show how to extend the data available to the AI engine to enhance the ability to gather additional details about the user.

What is Artificial Intelligence

Artificial Intelligence (AI) is the simulation of intelligence processes by machines. These processes can include the perception of information, the ability to synthesize that information and to infer information from the defined prompts. AI includes things like natural language processing, speech recognition and other inputs.

Typically, this works by taking large amounts of data, determining if patterns exist within the data and using that information to respond with insights about the information.This can allow for human-like interactions, including chatbots, optical character recognition, image analysis and other interactions based upon the inputted data. AI allows machines to determine and improve upon the capabilities normally associated with the human mind.

What is an Identity Data Fabric

An identity data fabric is a centralized view of identity data. The platform allows organizations to manage, govern, and secure identity data across all the repositories of available data. An identity data fabric consolidates identity data from various sources, such as directories, applications, and databases, and provides a unified view of this data. This allows organizations to better understand their data across different systems.

An identity data fabric enables organizations to manage their identity data more effectively. It also ensures that the data is accurate, consistent, and secure. This helps organizations improve upon their security, reduce risk, and comply with regulatory requirements related to identity data.

Why Use an Identity Data Fabric to Power AI

Artificial Intelligence relies upon having the data needed to make decisions. This data can be located across multiple repositories, within applications or available through web services. An Identity Data Fabric consolidates that data without having to code to the multiple repositories of identity information. This simplifies the process of training the AI systems with the needed user information.

Another important concept to keep in mind when looking at AI and an Identity Data Fabric is that Artificial intelligence programs are designed to determine decisions using real-time data. Without real-time data, information quickly becomes stale, and the AI system cannot model the data with up-to-date inputs. This is needed because it isn’t possible to perform human-like tasks without leveraging the same real-time data available when people make decisions. An Identity Data Fabric has the capability to cache data and update that data in real-time to ensure the data is available quickly and is up to date in real-time.

A Use Case Demo for an Identity Data Fabric and AI

I will be using two solutions to create my demo.

The first is Radiant Logic RadiantOne. RadiantOne is an identity integration layer that allows you to deploy scalable solutions that solve the complex challenges associated with user data. RadiantOne integrates identity data to build a unified view of heterogenous data sources. These data sources can be LDAP directories, databases, web services, and even applications. These profiles can then be delivered to the AI system to determine insights into the user information.

The second is OpenAI. OpenAI is an AI research center that creates AI solutions. They focus on creating friendly AI solutions. The OpenAI API is leveraged as part of this demo.

The demo will show how you can extend the knowledge an AI system has about a user by extending the user’s profile leveraging RadiantOne. Two repositories will be used for this demo, one that contains a company directory and another which simulates data coming from an HR system. This unified user profile will then be used as input into the OpenAI API, allowing insights into the user information.

The following diagram outlines the unified profile for the user:

The unified profile for the user will be queried through REST to retrieve the user profile information. This information will then by submitted to the OpenAI API for analysis.

Making it Work

To make this work, I leveraged two Universal Directory repositories in RadiantOne to simulate the user information. One is called o=companydirectory and the other is called o=HR. The repositories contain the data outlined in the unified profile diagram above.

A proxy, o=companyprofiles was then created to join the data together based upon employeeNumber.

The resulting user profile looks like the following:

Using an Identity Data Fabric to Extend Artificial Intelligence (AI) -ldap-profile

The following Python code was used to invoke the logic (replace the content in <> with your parameters):

import requests

import json

# disable SSL verification warnings

requests.packages.urllib3.disable_warnings()

lname = input(“Enter the last name: “)

url = f’https://<SERVER ADDRESS>:8090/adap/o=companyprofiles?filter=(sn%3D{lname}*)’

response = requests.get(url, headers={“Authorization” : “<USER ID and PASSWORD>”}, verify=False)

answer = response.text

while True:

                  ques = input(“Please enter a question (enter q to quit): “)

                  if ques == “q”:

                                    break

                  test = requests.post(‘https://api.openai.com/v1/completions’, headers={“Content-Type” : “application/json”,”Authorization” : “Bearer <API KEY>”}, json={“model” : “text-davinci-003″,”prompt” : ques + ‘ : ‘ + answer, “temperature” : 0.7,”max_tokens”:100,”top_p”:1.0,”frequency_penalty”:0.0,”presence_penalty”:0.0})

                  useranswer = json.loads(test.text)

                  userresponse = useranswer[‘choices’][0][‘text’]

                  print (userresponse)

First, the code prompts the user for a last name. The code calls RadiantOne with a user’s last name (sn) with a GET request to retrieve the user’s profile information. Then it prompts the user for the question to ask about the data. Finally, the code does a POST to the OpenAI API with the question and profile data and returns the response.

Seeing It In Action

Initially we will show the response without the additional profile data. Note that the AI engine is not able to determine the user’s title (or the departmentNumber or manager):

Using an Identity Data Fabric to Extend Artificial Intelligence (AI) - no-join

Next the join is added. Note that without changing any of the code, I have now extended the data available about the user and able to be ingested by the AI engine.

Using an Identity Data Fabric to Extend Artificial Intelligence (AI) - with-join

Leveraging the Identity Data Fabric enabled the ability to leverage AI to determine extended information about a user. The identity information is easily available through REST and able to be extended without writing code to parse the user information. Simply extending the profile with additional information made it available for analysis. These concepts can be applied to any type of data. You can use RadiantOne to pull together data for any “identity” available on the network. This could be machine names, linked customer data, or even applications. This is the future of identity.

SDG [Technology + Passion] - Risk