Posted on Leave a comment

Demonstrating Perl with Tic-Tac-Toe, Part 3

The articles in this series have mainly focused on Perl’s ability to manipulate text. Perl was designed to manipulate and analyze text. But Perl is capable of much more. More complex problems often require working with sets of data objects and indexing and comparing them in elaborate ways to compute some desired result.

For working with sets of data objects, Perl provides arrays and hashes. Hashes are also known as associative arrays or dictionaries. This article will prefer the term hash because it is shorter.

The remainder of this article builds on the previous articles in this series by demonstrating basic use of arrays and hashes in Perl.

An example Perl program

Copy and paste the below code into a plain text file and use the same one-liner that was provided in the the first article of this series to strip the leading numbers. Name the version without the line numbers chip2.pm and move it into the hal subdirectory. Use the version of the game that was provided in the second article so that the below chip will automatically load when placed in the hal subdirectory.

00 # advanced operations chip
01 02 package chip2;
03 require chip1;
04 05 use strict;
06 use warnings;
07 08 use constant SCORE=>'
09 ┌───┬───┬───┐
10 │ 3 │ 2 │ 3 │
11 ├───┼───┼───┤
12 │ 2 │ 4 │ 2 │
13 ├───┼───┼───┤
14 │ 3 │ 2 │ 3 │
15 └───┴───┴───┘
16 ';
17 18 sub get_prob {
19 my $game = shift;
20 my @nums;
21 my %odds;
22 23 while ($game =~ /[1-9]/g) {
24 $odds{$&} = substr(SCORE, $-[0], 1);
25 }
26 27 @nums = sort { $odds{$b} <=> $odds{$a} } keys %odds;
28 29 return $nums[0];
30 }
31 32 sub win_move {
33 my $game = shift;
34 my $mark = shift;
35 my $tkns = shift;
36 my @nums = $game =~ /[1-9]/g;
37 my $move;
38 39 TRY: for (@nums) {
40 my $num = $_;
41 my $try = $game =~ s/$num/$mark/r;
42 my $vic = chip1::get_victor $try, $tkns;
43 44 if (defined $vic) {
45 $move = $num;
46 last TRY;
47 }
48 }
49 50 return $move;
51 }
52 53 sub hal_move {
54 my $game = shift;
55 my $mark = shift;
56 my @mark = @{ shift; };
57 my $move;
58 59 $move = win_move $game, $mark, \@mark;
60 61 if (not defined $move) {
62 $mark = ($mark eq $mark[0]) ? $mark[1] : $mark[0];
63 $move = win_move $game, $mark, \@mark;
64 }
65 66 if (not defined $move) {
67 $move = get_prob $game;
68 }
69 70 return $move;
71 }
72 73 sub complain {
74 print "My mind is going. I can feel it.\n";
75 }
76 77 sub import {
78 no strict;
79 no warnings;
80 81 my $p = __PACKAGE__;
82 my $c = caller;
83 84 *{ $c . '::hal_move' } = \&{ $p . '::hal_move' };
85 *{ $c . '::complain' } = \&{ $p . '::complain' };
86 }
87 88 1;

How it works

In the above example Perl module, each position on the Tic-Tac-Toe board is assigned a score based on the number of winning combinations that intersect it. The center square is crossed by four winning combinations – one horizontal, one vertical, and two diagonal. The corner squares each intersect one horizontal, one vertical, and one diagonal combination. The side squares each intersect one horizontal and one vertical combination.

The get_prob subroutine creates a hash named odds (line 21) and uses it to map the numbers on the current game board to their score (line 24). The keys of the hash are then sorted by their score and the resulting list is copied to the nums array (line 27). The get_prob subroutine then returns the first element of the nums array ($nums[0]) which is the number from the original game board that has the highest score.

The algorithm described above is an example of what is called a heuristic in artificial intelligence programming. With the addition of this module, the Tic-Tac-Toe game can be considered a very rudimentary artificial intelligence program. It is really just playing the odds though and it is quite beatable. The next module (chip3.pm) will provide an algorithm that actually calculates the best possible move based on the opponent’s counter moves.

The win_move subroutine simply tries placing the provided mark in each available position and passing the resulting game board to chip1’s get_victor subroutine to see if it contains a winning combination. Notice that the r flag is being passed to the substitution operation (s/$num/$mark/r) on line 41 so that, rather than modifying the original game board, a new copy of the board containing the substitution is created and returned.

Arrays

It was mentioned in part one that arrays are variables whose names are prefixed with an at symbol (@) when they are created. In Perl, these prefixed symbols are called sigils.

Context

In Perl, many things return a different value depending on the context in which they are accessed. The two contexts to be aware of are called scalar context and list context. In the following example, $value1 and $value2 are different because @nums is accessed first in scalar context and then in list context.

$value1 = @nums;
($value2) = @nums;

In the above example, it might seem like @nums should return the same value each time it is accessed, but it doesn’t because what is accessing it (the context) is different. $value1 is a scalar, so it receives the scalar value of @nums which is its length. ($value2) is a list, so it receives the list value of @nums. In the above example, $value2 will receive the value of the first element of the nums array.

In part one, the below statement from the get_mark subroutine copied the numbers from the current Tic-Tac-Toe board into an array named nums.

@nums = $game =~ /[1-9]/g

Since the nums array in the above statement receives one copy of each board number in each of its elements, the count of the board numbers is equal to the length of the array. In Perl, the length of an array is obtained by accessing it in scalar context.

Next, the following formula was used to compute which mark should be placed on the Tic-Tac-Toe board in the next turn.

$indx = (@nums+1) % 2;

Because the plus operator requires a single value (a scalar) on its left hand side, not a list of values, the nums array evaluates to its length, not the list of its values. The parenthesis, in the above example, are just being used to set the order of operations so that the addition (+) will happen before the modulo (%).

Copying

In Perl you can create a list for immediate use by surrounding the list values with parenthesis and separating them with commas. The following example creates a three-element list and copies its values to an array.

@nums = (4, 5, 6);

As long as the elements of the list are variables and not constants, you can also copy the elements of an array to a list:

($four, $five, $six) = @nums;

If there were more elements in the array than the list in the above example, the extra elements would simply be discarded.

Different from lists in scalar context

Be aware that lists and arrays are different things in Perl. A list accessed in scalar context returns its last value, not its length. In the following example, $value3 receives 3 (the length of @nums) while $value4 receives 6 (the last element of the list).

$value3 = @nums;
$value4 = (4, 5, 6);

Indexing

To access an individual element of an array or list, suffix it with the desired index in square brackets as shown on line 29 of the above example Perl module.

Notice that the nums array on line 29 is prefixed with the dollar sigil ($) rather than the at sigil (@). This is done because the get_prob subroutine is supposed to return a single value, not a list. If @nums[0] were used instead of $nums[0], the subroutine would return a one-element list. Since a list evaluates to its last element in scalar context, this program would probably work if I had used @nums[0], but if you mean to retrieve a single element from an array, be sure to use the dollar sigil ($), not the at sigil (@).

It is possible to retrieve a subset from an array (or a list) rather than just one value in which case you would use the at sigil and you would provide a series of indexes or a range instead of a single index. This is what is known in Perl as a list slice.

Hashes

Hashes are variables whose names are prefixed with the percent sigil (%) when they are created. They are subscripted with curly brackets ({}) when accessing individual elements or subsets of elements (hash slices). Like arrays, hashes are variables that can hold multiple discrete data elements. They differ from arrays in the following ways:

  1. Hashes are indexed by strings (or anything that can be converted to a string), not numbers.
  2. Hashes are unordered. If you retrieve a list of their keys, values or key-value pairs, the order of the listing will be random.
  3. The number of elements in the hash will be equal to the number of keys that have been assigned values. If a value is assigned to index 99 of an array that has only three elements (indexes 0-2), the array will grow to a length of 100 elements (indexes 0-99). If a value is assigned to a new key in a hash that has only three elements, the hash will grow by only one element.

As with arrays, if you mean to access (or assign to) a single element of a hash, you should prefix it with the dollar sigil ($). When accessing a single element, Perl will go by the type of the subscript to determine the type of variable being accessed – curly brackets ({}) for hashes or square brackets ([]) for arrays. The get_prob subroutine in the above Perl module demonstrates assigning to and accessing individual elements of a hash.

Perl has two special built-in functions for working with hashes – keys and values. The keys function, when provided a hash, returns a list of all the hash’s keys (indexes). Similarly, the values function will return a list of all the hash’s values. Remember though that the order in which the list is returned is random. This randomness can be seen when playing the Tic-Tac-Toe game. If there is more than one move available with the highest score, the computer will chose one at random because the keys function returns the available moves from the odds hash in random order.

On line 27 of the above example Perl module, the keys function is being used to retrieve the list of keys from the odds hash. The keys of the odds hash are the numbers that were found on the current game board. The values of the odds hash are the corresponding probabilities that were retrieved from the SCORE constant on line 24.

Admittedly, this example could have used an array instead of a string to store and retrieve the scores. I chose to use a string simply because I think it presents the layout of the board a little nicer. An array would likely perform better, but with such a small data set, the difference is probably too small to measure.

Sort

On line 27, the list of keys from the odds hash is being feed to Perl’s built-in sort function. Beware that Perl’s sort function sorts lexicographically by default, not numerically. For example, provided the list (10, 9, 8, 1), Perl’s sort function will return the list (1, 10, 8, 9).

The behavior of Perl’s sort function can be modified by providing it a code block as its first parameter as demonstrated on line 27. The result of the last statement in the code block should be a number less-than, equal-to, or greater-than zero depending on whether element $a should be placed before, concurrent-with, or after element $b in the resulting list respectively. $a and $b are pairs of elements from the provided list. The code in the block is executed repeatedly with $a and $b set to different pairs of elements from the original list until all the pairs have been compared and sorted.

The <=> operator is a special Perl operator that returns -1, 0, or 1 depending on whether the left argument is numerically less-than, equal-to, or greater-than the right argument respectively. By using the <=> operator in the code block of the sort function, Perl’s sort function can be made to sort numerically rather than lexicographically.

Notice that rather than comparing $a and $b directly, they are first being passed through the odds hash. Since the values of the odds hash are the probabilities that were retrieved from the SCORE constant, what is being compared is actually the score of $a versus the score of $b. Consequently, the numbers from the original game board are being sorted by their score, not their value. Numbers with an equal score are left in the same random order that the keys function returned them.

Notice also that I have reversed the typical order of the parameters to <=> in the code block of the sort function ($b on the left and $a on the right). By switching their order in this way, I have caused the sort function to return the elements in reverse order – from greatest to least – so that the number(s) with the highest score will be first in the list.

References

References provide an indirect means of accessing a variable. They are often used when making copies of the variable is either undesirable or impractical. References are a sort of short cut that allows you to skip performing the copy and instead provide access to the original variable.

Why to use references

There is a cost in time and memory associated with making copies of variables. References are sometimes used as a means of reducing that cost. Be aware, however, that recent versions of Perl implement a technology called copy-on-write that greatly reduces the cost of copying variables. This new optimization should work transparently. You don’t have to do anything special to enable the copy-on-write optimization.

Why not to use references

References violate the action-at-a-distance principle that was mentioned in part one of this series. References are just as bad as global variables in terms of their tendency to trip up programmers by allowing data to be modified outside the local scope. You should generally try to avoid using references. But there are times when they are necessary.

How to create references

An example of passing a reference is provided on line 59 of the above Perl module. Rather than placing the mark array directly in the list of parameters to the win_move subroutine, a reference to the array is provided instead by prefixing the variable’s sigil with a backslash (\).

It is necessary to use a reference (\@mark) on line 59 because if the array were placed directly on the list, it would expand such that the first element of the mark array would become the third parameter to the win_move function, the second element of the mark array would become the fourth parameter to the win_move function, and so on for as many elements as the mark array has. Whereas an array will expand in list context, a reference will not. If the array were passed in expanded form, the receiving subroutine would need to call shift once for each element of the array. Also, the receiving function would not be able to tell how long the original array was.

Three ways to dereference references

In the receiving subroutine, the reference has to be dereferenced to get at the original values. An example of dereferencing an array reference is provided on line 56. On line 56, the shift statement has been enclosed in curly brackets and the opening bracket has been prefixed with the array sigil (@).

There is also a shorter form for dereferencing an array reference that is demonstrated on line 43 of the chip1.pm module. The short form allows you to omit the curly brackets and instead place the array sigil directly in front of the sigil of the scalar that holds the array reference. The short form only works when you have an array reference stored in a scalar. When the array reference is coming from a function, as it is on line 56 of the above Perl module, the long form must be used.

There is yet a third way of dereferencing an array reference that is demonstrated on line 29 of the game script. Line 29 shows the MARKS array reference being dereferenced with the arrow operator (->) and an index enclosed in square brackets. The MARKS array reference is missing its sigil because it is a constant. You can tell that what is being dereferenced is an array reference because the arrow operator is followed by square brackets ([]). Had the MARKS constant been a hash reference, the arrow operator would have been followed by curly brackets ({}).

There are also corresponding long and short forms for dereferencing hash references that use the hash sigil (%) instead of the array sigil. Note also that hashes, just like arrays, need to be passed by reference to subroutines unless you want them to expand into their constituent elements. The latter is sometimes done in Perl as a clever way of emulating named parameters.

A word of caution about references

It was stated earlier that references allow data to be modified outside of their declared scope and, just as with global variables, this non-local manipulation of the data can be confusing to the programmer(s) and thereby lead to unintended bugs. This is an important point to emphasize and explain.

On line 35 of the win_move subroutine, you can see that I did not dereference the provided array reference (\@mark) but rather I chose to store the reference in a scalar named tkns. I did this because I do not need to access the individual elements of the provided array in the win_move subroutine. I only need to pass the reference on to the get_victor subroutine. Not making a local copy of the array is a short cut, but it is dangerous. Because $tkns is only a copy of the reference, not a copy of the original data being referred to, if I or a later program developer were to write something like $tkns->[0] = ‘Y’ in the win_move subroutine, it would actually modify the value of the mark array in the hal_move subroutine. By passing a reference to its mark array (\@mark) to the win_move subroutine, the hal_move subroutine has granted access to modify its local copy of @mark. In this case, it would probably be better to make a local copy of the mark array in the win_move subroutine using syntax similar to what is shown on line 56 rather than preserving the reference as I have done for the purpose of demonstration on line 35.

Aliases

In addition to references, there is another way that a local variable created with the my or state keyword can leak into the scope of a called subroutine. The list of parameters that you provide to a subroutine is directly accessible in the @_ array.

To demonstrate, the following example script prints b, not a, because the inc subroutine accesses the first element of @_ directly rather than first making a local copy of the parameter.

#!/usr/bin/perl sub inc { $_[0]++;
} MAIN: { my $var = 'a'; inc $var; print "$var\n";
}

Aliases are different from references in that you don’t have to dereference them to get at their values. They really are just alternative names for the same variable. Be aware that aliases occur in a few other places as well. One such place is the list returned from the sort function – if you were to modify an element of the returned list directly, without first copying it to another variable, you would actually be modifying the element in the original list that was provided to the sort function. Other places where aliases occur include the code blocks of functions like grep and map. The grep and map functions are not covered in this series of articles. See the provided links if you want to know more about them.

Final notes

Many of Perl’s built-in functions will operate on the default scalar ($_) or default array (@_) if they are not explicitly provided a variable to read from or write to. Line 40 of the above Perl module provides an example. The numbers from the nums array are sequentially aliased to $_ by the for keyword. If you chose to use these variables, in most cases you will probably want to retrieve your data from $_ or @_ fairly quickly to prevent it being accidentally overwritten by a subsequent command.

The substitution command (s/…/…/), for example, will manipulate the data stored in $_ if it is not explicitly bound to another variable by one of the =~ or !~ operators. Likewise, the shift function operates on @_ (or @ARGV if called in the global scope) if it is not explicitly provided an array to operate on. There is no obvious rule to which functions support this shortcut. You will have to consult the documentation for the command you are interested in to see if it will operate on a default variable when not provided one explicitly.

As demonstrated on lines 55 and 56, the same name can be reused for variables of different types. Reusing variable names generally makes the code harder to follow. It is probably better for the sake of readability to avoid variable name reuse.

Beware that making copies of arrays or hashes in Perl (as demonstrated on line 56) is shallow by default. If any of the elements of the array or hash are references, the corresponding elements in the duplicated array or hash will be references to the same original data. To make deep copies of data structures, use one of the Clone or Storable Perl modules. An alternative workaround that may work in the case of multi-dimensional arrays is to emulate them with a one-dimensional hash.

Similar in form to Perl’s syntax for creating lists – (1, 2, 3) – unnamed array references and unnamed hash references can be constructed on the fly by bounding a comma-separated set of elements in square brackets ([]) or curly brackets ({}) respectively. Line 07 of the game script demonstrates an unnamed (anonymous) array reference being constructed and assigned to the MARKS constant.

Notice that the import subroutine at the end of the above Perl module (chip2.pm) is assigning to some of the same names in the calling namespace as the previous module (chip1.pm). This is intentional. The hal_move and complain aliases created by chip1’s import subroutine will simply be overridden by the identically named aliases created by chip2’s import subroutine (assuming chip2.pm is loaded after chip1.pm in the calling namespace). Only the aliases are updated/overridden. The original subroutines from chip1 will still exist and can still be called with their full names – chip1::hal_move and chip1::complain.

Posted on Leave a comment

C3.ai, Microsoft, and leading universities launch C3.ai Digital Transformation Institute

C3.ai, Microsoft, the University of Illinois at Urbana-Champaign; the University of California, Berkeley; Princeton University; the University of Chicago; the Massachusetts Institute of Technology; and Carnegie Mellon University form the new C3.ai Digital Transformation Institute

First call for proposals published – AI Techniques to Mitigate Pandemic

Institute to accelerate AI innovation among scientific communities to bring greater advocacy, invention, collaboration, and academic rigor to scaling digital transformation

Redwood City, CA; Redmond, WA; Urbana-Champaign, IL; Berkeley, CA; Princeton, NJ; Chicago, IL, Cambridge, MA; and Pittsburgh, PA. —(BUSINESS WIRE)— March 26, 2020 – C3.ai, Microsoft Corp., the University of Illinois at Urbana-Champaign (UIUC), the University of California, Berkeley, Princeton University, the University of Chicago, the Massachusetts Institute of Technology, Carnegie Mellon University, Lawrence Berkeley National Laboratory, and the National Center for Supercomputing Applications at UIUC announced two major initiatives:

  • C3.ai Digital Transformation Institute (C3.ai DTI), a research consortium dedicated to accelerating the application of artificial intelligence to speed the pace of digital transformation in business, government, and society. Jointly managed by UC Berkeley and UIUC, C3.ai DTI will sponsor and fund world-leading scientists in a coordinated effort to advance the digital transformation of business, government, and society.
  • C3.ai DTI First Call for Research Proposals: C3.ai DTI invites scholars, developers, and researchers, to embrace the challenge of abating COVID-19 and advance the knowledge, science, and technologies for mitigating future pandemics using AI. This is the first in what will be a series of bi-annual calls for Digital Transformation research proposals.

“The C3.ai Digital Transformation Institute is a consortium of leading scientists, researchers, innovators, and executives from academia and industry, joining forces to accelerate the social and economic benefits of digital transformation,” said Thomas M. Siebel, CEO of C3.ai. “We have the opportunity through public-private partnership to change the course of a global pandemic,” Siebel continued. “I cannot imagine a more important use of AI.”

Immediate Call for Proposals: AI Techniques to Mitigate Pandemic

 Topics for Research Awards may include but are not limited to the following:

  1. Applying machine learning and other AI methods to mitigate the spread of the COVID-19 pandemic
  2. Genome-specific COVID-19 medical protocols, including precision medicine of host responses
  3. Biomedical informatics methods for drug design and repurposing
  4. Design and sharing of clinical trials for collecting data on medications, therapies, and interventions
  5. Modeling, simulation, and prediction for understanding COVID-19 propagation and efficacy of interventions
  6. Logistics and optimization analysis for design of public health strategies and interventions
  7. Rigorous approaches to designing sampling and testing strategies
  8. Data analytics for COVID-19 research harnessing private and sensitive data
  9. Improving societal resilience in response to the spread of the COVID-19 pandemic
  10. Broader efforts in biomedicine, infectious disease modeling, response logistics and optimization, public health efforts, tools, and methodologies around the containment of rising infectious diseases and response to pandemics, so as to be better prepared for future infectious diseases

The first call for proposals is open now, with a deadline of May 1, 2020. Researchers are invited to learn more about C3.ai DTI and how to submit their proposals for consideration at C3DTI.ai. Selected proposals will be announced by June 1, 2020.

Up to $5.8 million in awards will be funded from this first call, ranging from $100,000 to $500,000 each. In addition to cash awards, C3.aiDTI recipients will be provided with significant cloud computing, supercomputing, data access, and AI software resources and technical support provided by Microsoft and C3.ai. This will include unlimited use of the C3 AI Suite and access to the Microsoft Azure cloud platform, and access to the Blue Waters supercomputer at the National Center for Super Computing Applications (NCSA) at UIUC and the NERSC Perlmutter supercomputer at Lawrence Berkeley Lab.

“We are collecting a massive amount of data about MERS, SARS, and now COVID-19,” said Condoleezza Rice, former US Secretary of State. “We have a unique opportunity before us to apply the new sciences of AI and digital transformation to learn from these data how we can better manage these phenomena and avert the worst outcomes for humanity,” Rice continued. “I can think of no work more important and no response more cogent and timely than this important public-private partnership.”

“We’re excited about the C3.ai Digital Transformation Institute and are happy to join on a shared mission to accelerate research at these eminent research institutions,” said Eric Horvitz, Chief Scientist at Microsoft and C3.ai DTI Advisory Board Member. “As we launch this exciting private-public partnership, we’re enthusiastic about aiming the broader goals of the Institute at urgent challenges with the COVID-19 pandemic, as well as on longer-term research that could help minimize future pandemics.”

“At UC Berkeley, we are thrilled to help co-lead this important endeavor to establish and advance the science of digital transformation at the nexus of machine learning, IoT, and cloud computing,” said Carol Christ, Chancellor, UC Berkeley. “We believe this Institute has the potential to make tremendous contributions by including ethics, new business models, and public policy to the technologies for transforming societal scale systems globally.”

“The C3.ai Digital Transformation Institute, with its vision of cross-institutional and multi-disciplinary collaboration, represents an exciting model to help accelerate innovation in this important new field of study,” said Robert J. Jones, Chancellor of the University of Illinois at Urbana-Champaign. “At this time of a global health crisis, the Institute’s initial research focus will be on applying AI to mitigate the COVID-19 pandemic and to learn from it how to protect the world from future pandemics. C3.ai DTI is an important addition to the world’s fight against this disease and a powerful new resource in developing solutions to all societal challenges.”

“Together with the other C3.ai Digital Transformation Institute partners, we look forward to creating a powerful ecosystem of scholars and educators committed to applying 21st century technologies to the benefit of all,” said Chris Eisgruber, President of Princeton University. “This public-private partnership with innovators like C3.ai and Microsoft, providing support to world-class researchers across a range of disciplines, promises to bring rapid innovation to an exciting new frontier.”

“By strongly supporting multidisciplinary research and multi-institution projects, the C3.ai DTI represents a new avenue to develop breakthrough scientific results with a positive impact on society at a time of great need,” said Robert Zimmer, President of the University of Chicago: “I’m very pleased that the University of Chicago is part of this formidable collaboration between academia and industry to lead crucial innovation with great purpose and urgency.”

“The vision of C3.ai DTI is driven by the recognition of digital transformation as both a science as well as a scientific imperative for this pivotal time, applicable to every sector of our economy across the public and private sectors, including in healthcare, education, and public health,” said Farnam Jahanian, President of Carnegie Mellon University. “We are excited to participate in building out the Institute’s structure, program and further alliances. This is just the beginning of an ambitious journey that can have enormous positive impact on the world.”

“At MIT, we share the commitment of C3.ai DTI to advancing the frontiers of AI, cybersecurity and related fields while building into every inquiry a deep concern for ethics, privacy, equity and the public interest,” said Rafael Reif, President of the Massachusetts Institute of Technology. “At this moment of national emergency, we are proud to be part of this intensive effort to apply these sophisticated tools to better analyze the COVID-19 epidemic and devise effective ways to stop it. We look forward to accelerating this work both by collaborating with the companies and institutions in the initiative, and by drawing on the frontline experience and clinical data of our colleagues in Boston’s world-class hospitals.”

Building Community
At the heart of C3.ai DTI will be the constant flow of new ideas and expertise provided by ongoing research, visiting professors and research scholars, and faculty and scholars in residence, many of whom will come from beyond the member institutions. This rich ecosystem will form the foundational structure of a new Science of Digital Transformation.

“This is about global innovation based on multinational collaboration to accelerate the positive impact of AI by providing researchers access to real world data and to massive resources,” said Jim Snabe, Chairman, Siemens. “This is exactly the kind of multinational public-private partnership that is required to address this critical issue.”

“I could not be more proud of our association with C3.ai and Microsoft,” said Lorenzo Simonelli, CEO of Baker Hughes. “This is exactly the kind of leadership that is required to bring together the best of us to address this critical need.”

“We are at war and we must win it! Using all means,” said Jacques Attali, French statesman. “This great project will organize global scientific collaboration for accelerating the social impact of AI, and help to win this war, using new weapons, for the best of mankind.”

“In these difficult times, we need – now more than ever – to join our forces with scholars, innovators, and industry experts to propose solutions to complex problems. I am convinced that digital, data science and AI are a key answer,” said Gwenaëlle Avice-Huet, Executive Vice President of ENGIE. “The C3.ai Digital Transformation Institute is a perfect example of what we can do together to make the world better.”

Establishing the New Science of Digital Transformation
C3.ai DTI will focus its research on AI, Machine Learning, IoT, Big Data Analytics, human factors, organizational behavior, ethics, and public policy. The Institute will support the development of ML algorithms, data security, and cybersecurity techniques. C3.ai DTI research will analyze new business operation models, develop methods of implementing organizational change management and protecting privacy, and amplify the dialogue around the ethics and public policy of AI.

C3.ai Digital Transformation Institute is a Research Initiative that Includes:

  • Research Awards: Up to 26 cash awards annually, ranging from $100,000 to $500,000 each
  • Computing Resources: Access to free Azure Cloud and C3 AI Suite resources
  • Visiting Professors & Research Scientists: $750,000 per year to support C3.ai DTI Visiting Scholars
  • Curriculum Development: Annual awards to faculty at member institutions to develop curricula that teach the emerging field of Digital Transformation Science
  • Data Analytics Platform: ai DTI will host an elastic cloud, big data, development, and operating platform, including the C3 AI Suite hosted on Microsoft Azure for the purpose of supporting C3.ai DTI research, curriculum development, and teaching
  • Educational Program: $750,000 a year to support an annual conference, annual report, newsletters, published research, and website
  • Industry Alignment: C3DTI Industry Partners will be established to assure the institute’s operations are aligned to the needs of the private sector.
  • Open Source: ai DTI will strongly favor proposals that promise to publish their research in the public domain.

To support the Institute, C3.ai will provide C3.ai DTI $57,250,000 in cash contributions over the first five years of operation. C3.ai and Microsoft will contribute an additional $310 million in-kind, including use of the C3 AI Suite and Microsoft Azure computing, storage, and technical resources to support C3.ai DTI research.

To learn more about C3.ai DTI’s program, award opportunities, and call for proposals, please visit C3DTI.ai.

###

About C3.ai Digital Transformation Institute
C3.ai Digital Transformation Institute represents an innovative vision to take AI, ML, IoT, and big data research in a consortium model to a level that cannot be achieved at any one institution alone. Jointly managed and hosted by the University of California, Berkeley and the University of Illinois at Urbana-Champaign, C3.ai DTI will attract the world’s leading scientists to join in a coordinated and innovative effort to advance the digital transformation of business, government, and society, and establish the new Science of the Digital Transformation of Societal Systems.

About C3.ai
C3.ai is a leading AI software provider for accelerating digital transformation. C3.ai delivers the C3 AI Suite for developing, deploying, and operating large-scale AI, predictive analytics, and IoT applications in addition to an increasingly broad portfolio of turn-key AI applications. The core of the C3.ai offering is a revolutionary, model-driven AI architecture that dramatically enhances data science and application development. Learn more at: www.c3.ai.

C3.ai Contact:
April Marks
Director of Public Relations
917-574-5512
pr@c3.ai

About Microsoft
Microsoft (Nasdaq “MSFT” @microsoft) enables digital transformation for the era of an intelligent cloud and an intelligent edge. Its mission is to empower every person and every organization on the planet to achieve more.

Microsoft Contact
Microsoft Media Relations:
WE Communications for Microsoft
425-638-7777
rrt@we-worldwide.com

About University of Illinois at Urbana-Champaign
The University of Illinois at Urbana-Champaign is a public land-grant research university founded in 1867 and dedicated to building upon a tradition of excellence in education, research, public engagement and economic development. The university pioneers innovative research that tackles global problems and expands the human experience. Illinois faculty, staff and alumni have been leading the way in digital transformation from the invention of the transistor to the birth of the graphical internet browser to high performance computing to the new revolution in data sciences and analytics.

UIUC Contact:
Robin Kale
Associate Chancellor for Public Affairs
rkaler@illinois.edu
217-333-5050

About University of California, Berkeley
The University of California, Berkeley is a public research university. Founded in 1868, UC Berkeley is a place where the brightest minds from across the globe come together to explore, ask questions and improve the world.

University of California, Berkeley Contact:
Sarah Yang
Assistant Dean, Marketing & Communications
Berkeley Engineering
scyang@berkeley.edu

About Princeton University
Princeton University is a vibrant community of teaching and research that stands in the nation’s service and the service of humanity. Chartered in 1746, Princeton is the fourth-oldest college in the United States. Princeton is an independent, coeducational, nondenominational institution that provides undergraduate and graduate instruction in the arts and humanities, social sciences, natural sciences, and engineering.

Princeton University Contact:
Ben Chang, Deputy Vice President, Communications
mediarelations@princeton.edu

About University of Chicago
The University of Chicago is a leading academic and research institution that has driven new ways of thinking since its founding in 1890. As an intellectual destination, the University draws scholars and students from around the world to its campuses and centers around the globe. The University provides a distinctive educational experience and research environment, empowering individuals to challenge conventional thinking and pursue field-defining research that produces new understanding and breakthroughs with global impact.

University of Chicago Contact:
Rob Mitchum
Associate Director of Communications for Data Science and Computing
University of Chicago
rmitchum@uchicago.edu
773-484-9890

About Massachusetts Institute of Technology
The Massachusetts Institute of Technology (MIT) is a private research university located in Cambridge, Massachusetts. MIT is devoted to the advancement of knowledge and education of students in areas that contribute to or prosper in an environment of science and technology.

MIT Contact:
Anne Stuart
Communications Officer in Electrical Engineering and Computer Science
astuart@mit.edu

About Carnegie Mellon University
Carnegie Mellon (cmu.edu) is a private, internationally ranked research university with programs in areas ranging from science, technology and business, to public policy, the humanities and the arts. More than 14,000 students in the university’s seven schools and colleges benefit from a small student-to-faculty ratio and an education characterized by its focus on creating and implementing solutions for real problems, interdisciplinary collaboration and innovation.

Carnegie Mellon University Contact:
Jason Maderer
Sr. Director, Media Relations
412.268.1151
maderer@cmu.edu

Posted on Leave a comment

Hackathons show teen girls the potential for AI – and themselves

This summer, young women in San Francisco and Seattle spent a weekend taking their creative problem solving to a whole new level through the power of artificial intelligence. The two events were part of a Microsoft-hosted AI boot-camp program that started last year in Athens, then broadened its reach with events in London last fall and New York City in the spring.

“I’ve been so impressed not only with the willingness of these young women to spend an entire weekend learning and embracing this opportunity, but with the quality of the projects,” said Didem Un Ates, one of the program organizers and a senior director for AI within Microsoft. “It’s just two days, but what they come up with always blows our minds.” (Read a LinkedIn post from Un Ates about the events.)

The problems these girls tackled aren’t kid stuff: The girls chose their weekend projects from among the U.N. Sustainable Development Goals, considered to be the most difficult and highest priority for the world.

The result? Dozens of innovative products that could help solve issues as diverse as ocean pollution, dietary needs, mental health, acne and climate change. Not to mention all those young women – 129 attended the U.S. events – who now feel empowered to pursue careers to help solve those problems. They now see themselves as “Alice,” a mascot created by the project team to represent the qualities young women possess that lend themselves to changing the world through AI.

Organizers plan to broaden the reach of these events, so that girls everywhere can learn about the possibility of careers in technology.

Related:

Posted on Leave a comment

Germany-based startup Breeze is using AI to measure and improve sustainable air quality

As part of our AI for Earth commitment, Microsoft supports five projects from Germany in the areas of environmental protection, biodiversity and sustainability. In the next few weeks, we will introduce the project teams and their innovative ideas that made the leap into our global programme and group of AI for Earth grantees.   

Measuring and improving sustainable air quality in cities with transparant results is Hamburg-based startup Breeze’s mission. Founded in 2015, the award-winning company develops small, low-cost sensors that can be installed in almost any location, measuring pollutants such as soot, nitrogen oxides, ammonia, ozone or particulate matter, while also identifying their sources.

While vehicles are a common source of pollution, large construction sites, for example, can also greatly increase air pollution in short periods of time. A local portal publishes Breeze’s collected data in real time, so that affected residents can learn about the current situation at any given moment. In addition, Breeze has developed a comprehensive catalog of measures that helps cities and communities specifically improve the situation on the ground. 

From the beginning, Breeze has processed the data of its fully networked sensors in the Azure cloud. Breeze founder Robert Heinecke now wants to take his project to the next level with the help of AI – relying on the support of AI for Earth. Breeze has already received $ 12,000 in cloud credits which will be used to set up a new machine learning development environment in Azure. “We have now set up our own AI experimental laboratory to test how AI can support us even better in our added value,” explains Heinecke. 

So far, Heinecke and his team have identified four areas in which AI can be used. Firstly, AI should significantly improve the quality of the measurement data and draw an even more accurate picture of the data on site by measuring both measurement errors of individual devices as well as excluding environmental influences from the sensor data. At the same time, AI will also be deployed in a predictive maintenance capacity, to forecast when sensors need to be serviced or even replaced.

AI will also help make precise predictions about the development of air quality in the future, such as linking weather data to information from its own measuring stations. By doing so, ill or particularly sensitive people, such as those with asthma, can prepare for harsher conditions in advance. Lastly, AI will also help to streamline Breeze’s consulting offer by accurately calculating which of the 3,500 identified measures can improve the air quality at a particular location the best. 

Currently, pilot projects are already running in Hamburg, Moers and Neckarsulm (Germany), and Heinecke and his team are already in negotiations with numerous other cities, although there can sometimes be friction. In Heinecke’s words, “the mills of the administration grind slowly. Some cities may also prefer not to know exactly how bad the air really is, because then they would have to act.”

AI for Earth
The AI ​​for Earth program helps researchers and organizations to use artificial intelligence to develop new approaches to protect water, agriculture, biodiversity and the climate. Over the next five years, Microsoft will invest $ 50 million in “AI for Earth.” To become part of the “AI for Earth” program, developers, researchers and organizations can apply with their idea for a so-called “Grant”. If you manage to convince the jury of Microsoft representatives, you´ll receive financial and technological support and also benefit from knowledge transfer and contacts within the global AI for Earth network. As part of Microsoft Berlin´s EarthLab and beyond, five ideas have been convincing and will be part of our “AI for Earth” program in the future in order to further promote their environmental innovations. 

At #DigitalFuerAlle you can continue to follow the development of the projects and our #AIforEarth initiative. 

Would you also like to apply for a grant from the “AI for Earth” initiative? 

Apply now 

Tags: , ,

Posted on Leave a comment

MediaValet bets big on AI to deliver more customer value

Transform recently sat down with several Microsoft customers at an event highlighting emerging trends in data and artificial intelligence (AI). We spoke with Jean Lozano, chief technology officer at MediaValet, a cloud-based digital asset management (DAM) system, which helps customers of all sizes manage their growing digital media libraries.

TRANSFORM: What is a DAM and what business problem does it solve?

JEAN LOZANO: A DAM is like a video or photo library, but it can handle way more than that. It’s typically used by enterprise marketing teams to provide a single source of truth for all brand and marketing content.

The big challenge with digital media is that it’s unstructured by nature, so discoverability can be a problem. A lot of companies invest tens of thousands of dollars in creating digital media and infographics, but its lack of searchable data makes them hard to find.

A DAM implementation contains anywhere from 10,000 to several-million digital media [items] that are put into a central repository and tagged to make them discoverable. Having just one person as the curator of the digital library is way too much, and that’s where AI comes in.

TRANSFORM: How does AI help you serve your customers?

LOZANO: We’re betting big on Azure AI to make MediaValet the most intelligent DAM out there. We’ve seen it in various deal cycles that we would not have otherwise won. It’s just a matter of demonstrating capabilities.

So, for example, one of the hottest technologies that we can demo is our capability for video indexing, which other DAMs cannot offer right now. Video is the fastest growing media out there, so when our customers can actually see their videos getting analyzed and made discoverable, they can see the value it adds.

As an example, we have a huge video production house as a customer. Every time they do a shoot, it’s a 500-gigabyte upload to MediaValet. But, they also have to generate video transcriptions. With video indexing, we [provide] the transcriptions as soon as they load it on our system, so they don’t have to send the files [elsewhere] for manual transcription. Does that improve their workflow? Definitely.

TRANSFORM: Have your customers fully embraced the changes and the new technologies?

LOZANO:  Many of our customers are digital asset curators, and some of them probably fear that AI is going to replace them. But the guiding principle for AI is assistance, not replacement. AI is going to make their lives easier. It will enrich the data that they’re producing, but it doesn’t replace them.

TRANSFORM: How does AI make life easier for a digital asset curator?

LOZANO: We have a couple of customers that are sports franchises that are creating millions of images. These teams have been there for decades and decades. One hockey team had about 50 petabytes of video clips. So, how do you work through millions of images and hundreds of thousands of hours of video?

Machine learning is actually helping with that now. For example, you can detect a jersey number and see who is the player that wears that number. We can actually make those images easy to use for marketers, or the communications team when they look for brand approved images.

Posted on Leave a comment

AT&T and Microsoft announce a strategic alliance to deliver innovation with cloud, AI and 5G

Multiyear collaboration will accelerate AT&T’s “public cloud first” internal transformation and deliver new customer offerings built on AT&T’s network and Microsoft’s cloud

Microsoft CEO Satya Nadella and John Donovan of AT&T
Microsoft CEO Satya Nadella with AT&T Communications CEO John Donovan.

DALLAS and REDMOND, Wash. — July 17, 2019 AT&T Communications and Microsoft Corp. are embarking on an extensive, multiyear alliance where the two companies will apply technologies, including cloud, AI, and 5G, to improve how people live and work today and in the future. Microsoft will be the preferred cloud provider for non-network applications, as part of AT&T’s broader public cloud first strategy, and will support AT&T as it consolidates its data center infrastructure and operations.

AT&T is becoming a “public cloud first” company by migrating most non-network workloads to the public cloud by 2024. That initiative will allow AT&T to focus on core network capabilities, accelerate innovation for its customers, and empower its workforce while optimizing costs.

As part of the agreement, AT&T will provide much of its workforce with robust cloud-based productivity and collaboration tools available with Microsoft 365, and plans to migrate non-network infrastructure applications to the Microsoft Azure cloud platform.

AT&T and Microsoft will together help enable a future of ubiquitous computing through edge technologies and 5G. AT&T was the first to introduce mobile 5G in the United States and expects to have nationwide 5G by the first half of 2020. Microsoft will tap into the innovation AT&T is offering on its 5G network, including to design, test, and build edge-computing capabilities. With edge computing and a lower-latency 5G connection enabled through AT&T’s geographically dispersed network infrastructure, devices can process data closer to where decisions are made. Recently, Microsoft and AT&T worked together to test an edge computing-based tracking and detection system for drones. With more connected devices and the growing demand for streaming content from movies to games, businesses and consumers require ever-increasing network capabilities.

The global scale of Microsoft’s Azure cloud and AT&T’s domestic 5G capabilities will enable unique solutions for the companies’ mutual customers. The companies will bring to market integrated industry solutions including in the areas of voice, collaboration and conferencing, intelligent edge and networking, IoT, public safety, and cyber security. The companies already have joint enterprise solutions for networking, IoT, and blockchain in market, and expect to announce additional services later in 2019. The two companies envision scenarios with 5G enabling near-instantaneous communications for a first responder who is using AI-powered live voice translation to quickly communicate with someone in need who speaks a different language.

“AT&T and Microsoft are among the most committed companies to fostering technology that serves people,” said John Donovan, CEO, AT&T Communications. “By working together on common efforts around 5G, the cloud, and AI, we will accelerate the speed of innovation and impact for our customers and our communities.”

“AT&T is at the forefront of defining how advances in technology, including 5G and edge computing, will transform every aspect of work and life,” said Satya Nadella, CEO, Microsoft. “The world’s leading companies run on our cloud, and we are delighted that AT&T chose Microsoft to accelerate its innovation. Together, we will apply the power of Azure and Microsoft 365 to transform the way AT&T’s workforce collaborates and to shape the future of media and communications for people everywhere.”

In addition to their technology collaboration, AT&T and Microsoft will work together on technology-enabled approaches and solutions aimed at social good. Both companies have been focused on addressing sustainability, accessibility, and community challenges such as homelessness and see an opportunity to support each other’s work to address urgent social needs, including Microsoft’s affordable housing initiative and the AT&T Believes campaign.

About AT&T Communications

We help family, friends and neighbors connect in meaningful ways every day. From the first phone call 140+ years ago to mobile video streaming, we innovate to improve lives. We have the nation’s fastest wireless network.* And according to America’s biggest test, we have the nation’s best wireless network.** We’re building FirstNet just for first responders and creating next-generation mobile 5G. With DIRECTV, DIRECTV NOW and WatchTV, we deliver entertainment people love to talk about. Our smart, highly secure solutions serve nearly 3 million global businesses – nearly all of the Fortune 1000. And worldwide, our spirit of service drives employees to give back to their communities.

AT&T Communications is part of AT&T Inc. (NYSE:T). Learn more at att.com/CommunicationsNews.

AT&T products and services are provided or offered by subsidiaries and affiliates of AT&T Inc. under the AT&T brand and not by AT&T Inc. Additional information about AT&T products and services is available at about.att.com. Follow our news on Twitter at @ATT, on Facebook at facebook.com/att and on YouTube at youtube.com/att.

© 2019 AT&T Intellectual Property. All rights reserved. AT&T, the Globe logo and other marks are trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks contained herein are the property of their respective owners.

Cautionary Language Concerning Forward-Looking Statements

Information set forth in this news release contains financial estimates and other forward-looking statements that are subject to risks and uncertainties, and actual results might differ materially. A discussion of factors that may affect future results is contained in AT&T’s filings with the Securities and Exchange Commission. AT&T disclaims any obligation to update and revise statements contained in this news release based on new information or otherwise.

This news release may contain certain non-GAAP financial measures. Reconciliations between the non-GAAP financial measures and the GAAP financial measures are available on the company’s website at https://investors.att.com.

*Based on analysis by Ookla® of Speedtest Intelligence® data average download speeds for Q2 2019.
**GWS OneScore, September 2018.

About Microsoft

Microsoft (Nasdaq “MSFT” @microsoft) enables digital transformation for the era of an intelligent cloud and an intelligent edge. Its mission is to empower every person and every organization on the planet to achieve more.

For more information, press only:

Microsoft Media Relations, WE Communications for Microsoft, (425) 638-7777, rrt@we-worldwide.com

AT&T, Jeff Kobs, (214) 236-0113 jeffrey.kobs@att.com

Note to editors: For more information, news and perspectives from Microsoft, please visit the Microsoft News Center at http://news.microsoft.com. Web links, telephone numbers and titles were correct at time of publication, but may have changed. For additional assistance, journalists and analysts may contact Microsoft’s Rapid Response Team or other appropriate contacts listed at http://news.microsoft.com/microsoft-public-relations-contacts.

Posted on Leave a comment

Outside perspective: How the financial industry is banking on AI

MvdB: Interesting. It sounds like they aren’t aiming to become banks, then, but are looking to own the customer journey and end up as competitors for part of the business.

SM: That’s correct. We’re seeing the whole insurance business travelling towards a direction where interaction with consumers becomes the key focus. The more you interact with the customer, the closer they become accustomed to your brand.

MvdB: There are a lot of companies waiting for the technology revolution, but in my opinion, it’s already here. I see lots of examples, including artificial intelligence. What are your thoughts on the perception of digital transformation in the finance industry?

SM: In banking, I’ve noticed that it’s much easier to make better decisions when investing smaller amounts of money. Similarly, you have better performance and agility as a small business with a startup mentality. It’s the same with financial institutions. They have a legacy that needs to be maintained, renewed and sometimes politics and corporate culture make it very hard, almost impossible, to be agile – and that includes adopting new technology to help them transform.

We’ve seen large financial institutions show that it’s possible to manage their legacy operations and daily business, while at the same time, almost separately, fostering a more agile startup mentality for transformation. New business ventures mean that this startup mentality must be separated which, of course, also means that more money has to be spent.

Man hand using online banking and icon on tablet screen device in coffee shop. Technology Ecommerce Commercial. Online payment digital and shopping on network connection. All on tablet screen are design up.

MvdB: It’s interesting to hear how other large institutions are reflecting and managing their transformation, particularly with regards to harbouring different mentalities for different areas of the business. At Microsoft, we’re still in the middle of our transformation process, and while we’re not there yet, we’re making progress and learning all the time.

SM: I honestly think that Microsoft has done a fantastic job at transforming itself with its cloud and many other services – and that’s reflected by professionals and the market in general. It’s amazing to see how you struck lightning twice. You re-invented the business and grew, when you could have chosen to remain stagnant.

MvdB: Having been here for many years, I’ve witnessed our shift from a ‘know it all’ culture to one that encourages a growth mindset, and it boils down to culture and mentality. I think we’re in the middle of a learning experience and learning mentality, where all of these small things start to matter. Do you think these two things are becoming more of a core factor of transformation, beyond simply introducing new technology?

SM: Yes absolutely. At startups, we see a culture where, if there is a problem, people sit down, and solve it. Compare this to some large corporation’s politics and red tape, and you can see how the wrong culture can discourage people, regardless of what technology is available. People like to see that their input makes a difference, and that’s much harder in huge organisations.

MvdB: If you’re operating 100,000+ people globally it’s certainly a challenge, but at the same time, you need to be sure that you spark that startup mentality in people. I think this is where the culture element in the leadership becomes a super-critical factor in changing an organisation.

SM: It comes from the top.

MvdB: Absolutely. This is true for us as well. If you take Satya as an example, he is living what he wants this company to be.

If we focus on the technological side of transformation, specifically data – do you feel that data is the most important currency today in commerce?

SM: Yes, it is. But there’s so much data, so much noise. It’s not just the data, but more about how you use that data. Everyone, including big banks, has data, but it’s the thinking behind it that counts – using data scientists, algorithms, machine learning AI and more – to get something out of it. That’s where AI, machine learning, and the people behind the algorithms, come in.

MvdB: I agree. I’m asking this question because I think there’s a lot of misperception about data being the new oil for this century and it’s a great tagline on paper, but the question, of course, is that data alone, is just data, and that’s what it will be forever.

Posted on Leave a comment

How government is transforming with AI – part 3

In our last two blogs in this series, we discussed how governments are using digital assistants—often with cognitive services such as language translation built in—to engage their community in more accessible ways and support their teams.

Another way that governments are using emerging technologies such as artificial intelligence (AI) and the Internet of Things (IoT) is to help them predict needs and anticipate issues so they can prepare accordingly.

For example, to keep Alaska’s highways open and safe during severe winter weather, the Alaska Department of Transportation and Public Facilities uses the Fathym WeatherCloud solution and Microsoft Azure IoT technologies to make better, hyper-local decisions about deploying road crews. Being able to make more informed decisions with better data is helping Alaska save lives and significantly reduce road maintenance costs.

“The information we get from WeatherCloud puts us miles ahead in creating accurate forecasts,” says Daniel Schacher, Maintenance Superintendent at the Alaska Department of Transportation and Public Facilities, in this article. “We’ve become much more proactive in our responses.”

Read How Alaska outsmarts Mother Nature in the cloud” to learn about what led Alaska to deploy the system, how it works, and the way it’s helping the state keep residents safer and save hundreds of thousands of dollars each year in resource usage.

Another example of keeping vital infrastructures up and running with insight from AI and IoT solutions comes from our partner eSmart Systems. With its Connected Drone portfolio, utilities can send smart drones out on beyond-line-of-sight missions to inspect power lines and pinpoint faults and weaknesses.

Utilities are using Connected Drones to stay ahead of power grid maintenance issues and help them prevent or reduce blackouts in the communities they serve. And by using drones to inspect lines, which can be dangerous for personnel, they can keep their teams safer.

Utilities are also using Connected Drones to get power back up and running after a disaster, as was the case in Florida after Hurricane Irma. Watch this video to see how the drones helped to assess the damage quickly—inspecting hazardous areas so human inspectors wouldn’t have to be put in harm’s way. With insight from the Connected Drones, the utility company was able to know not only precisely where repairs were required, but also which crew and equipment were needed to get power restored as quickly as possible in the affected communities.

Those are just a few examples of how governments can gain insight with AI and IoT that can help them keep the infrastructures their citizens rely on up and running. To learn about more vertical and horizontal areas where your government agency can benefit from AI, read the Gartner report: “Where you should use artificial intelligence—and why.” It provides research on the potential of various use cases and offers recommendations on the most effective strategies for applying AI.

Posted on Leave a comment

Two seconds to take a bite out of mobile bank fraud with Artificial Intelligence

The future of mobile banking is clear. People love their mobile devices and banks are making big investments to enhance their apps with digital features and capabilities. As mobile banking grows, so does the one aspect about it that can be wrenching for customers and banks, mobile device fraud. 

image

Problem: To implement near real-time fraud detection

Most mobile fraud occurs through a compromise called a SIM swap attack in which a mobile number is hacked. The phone number is cloned and the criminal receives all the text messages and calls sent to the victim’s mobile device. Then login credentials are obtained through social engineering, phishing, vishing, or an infected downloaded app. With this information, the criminal can impersonate a bank customer, register for mobile access, and immediately start to request fund transfers and withdrawals.

Artificial Intelligence (AI) models have the potential to dramatically improve fraud detection rates and detection times. One approach is described in the Mobile bank fraud solution guide.  It’s a behavioral-based AI approach and can be much more responsive to changing fraud patterns than rules-based or other approaches.

The solution: A pipeline that detects fraud in less than two seconds

Latency and response times are critical in a fraud detection solution. The time it takes a bank to react to a fraudulent transaction translates directly to how much financial loss can be prevented. The sooner the detection takes place, the less the financial loss.

To be effective, detection needs to occur in less than two seconds. This means less than two seconds to process an incoming mobile activity, build a behavioral profile, evaluate the transaction for fraud, and determine if an action needs to be taken. The approach described in this solution is based on:

  • Feature engineering to create customer and account profiles.
  • Azure Machine Learning to create a fraud classification model.
  • Azure PaaS services for real-time event processing and end-to-end workflow.

The architecture: Azure Functions, Azure SQL, and Azure Machine Learning

Most steps in the event processing pipeline start with a call to Azure Functions because functions are serverless, easily scaled out, and can be scheduled.

The power of data in this solution comes from mobile messages that are standardized, joined, and aggregated with historical data to create behavior profiles. This is done using the in-memory technologies in Azure SQL.  

Training of a fraud classifier is done with Azure Machine Learning Studio (AML Studio) and custom R code to create account level metrics.

Recommended next steps

Read the Mobile bank fraud solution guide to learn details on the architecture of the solution. The guide explains the logic and concepts and gets you to the next stage in implementing a mobile bank fraud detection solution. We hope you find this helpful and we welcome your feedback.