What is Artificial Intelligence?

The emergence of ChatGPT and its availability to the public raises several questions about Artificial Intelligence today. But do we know how to answer the question: What is Artificial Intelligence? I will do this in a simplistic and summarized way in the following few lines. 

Artificial Intelligence (AI) is a field of computer science that focuses on developing systems and algorithms capable of performing tasks that typically require human intelligence. AI seeks to create machines that can learn, reason, perceive, and make decisions autonomously, using machine learning, natural language processing, and computer vision. In short, AI refers to the ability of computers to mimic and perform cognitive functions associated with human intelligence. 

The term “Artificial Intelligence” was coined by John McCarthy in 1956. John McCarthy was a renowned American computer scientist and mathematician who significantly contributed to artificial intelligence. He organized the Dartmouth Conference in 1956, where the term “Artificial Intelligence” was first used to describe the study of how to make computers perform tasks that require human intelligence. McCarthy is also known for developing the LISP programming language, which was used extensively in AI research. 

Thus, as research on Artificial Intelligence developed, needs emerged to address specific and complex challenges. The original problem was broken into parts, leading to the creation of subareas of AI, each trying to solve a problem that simulated an area of human intelligence. This article will explore the six subareas of Computer Science that make up Artificial Intelligence: Machine Learning, Natural Language Processing, Computer Vision, Automated Reasoning, Robotics, and Expert Systems. 

Machine Learning (ML): Machine Learning is a subfield of Artificial Intelligence that focuses on developing algorithms and techniques that allow systems to learn and improve their performance based on data. Using statistical models and algorithms, ML systems can recognize patterns, make decisions and predict outcomes based on the information provided.

Natural Language Processing (NLP): Natural Language Processing aims to allow computers to understand, interpret, and naturally generate human language. This subarea involves techniques such as syntactic analysis, entity recognition, automatic translation, and the generation of automated responses, enabling interaction between humans and machines through language.

Computer Vision: Computer Vision is related to the ability of systems to understand and interpret visual information, similar to how humans perceive the world through their eyes. It involves object recognition, motion detection, image segmentation, and facial recognition, enabling machines to analyze and understand visual content.

Automated Reasoning: Automated Reasoning aims to develop systems capable of reasoning, inferring, and making logical decisions based on the information provided. This subarea involves formal logic, search algorithms, symbolic neural networks, and knowledge representation techniques. These techniques are used to solve complex problems, automate planning, and make intelligent decisions.

Robotics: Robotics combines the principles of Artificial Intelligence with the engineering of robotic systems. She seeks to create robots capable of perceiving the environment, interacting with it, and performing tasks autonomously. AI plays a crucial role in programming and controlling robots, allowing them to adapt to different situations, learn from experience, and make timely decisions.

Expert Systems: Expert Systems are computer programs that use specialized knowledge to solve complex problems in specific domains. These systems are designed to solve complex problems and provide expert advice in areas such as medicine, engineering, and finance. Expert systems are built from a knowledge base containing information and rule specific to the domain in question. Human experts share their learning and experience with the system, which organizes it in a structured way and represents it logically to allow the system to make inferences and decisions.

It is worth noting that these subareas often overlap and interact with each other, and progress in one can influence the development of others. The continuous evolution of artificial intelligence has led to the emergence of new subareas and an ever-increasing collaboration between them. This evolution is now presented to us in ChatGpt, which does amazing things and leads us to the question: Can an AI system think? 

No, an AI system cannot think in the same way as human beings. Artificial intelligence can perform complex tasks and make decisions based on algorithms and mathematical models. Still, it does not have consciousness, emotions, or the capacity for reflection and self-awareness like human beings. Scientists design AI to process large amounts of data and identify patterns. Furthermore, it can make predictions or decisions based on this information, but this decision-making is based on rules and programmed algorithms rather than on conscious thought. 

In the next article, I will try to answer how ChatGPT works.

Voice Recognition with Python

When I saw Tony Stark (Iron Man) in Marvel movies, I always wanted a virtual assistant like Jarvis. Siri, Cortana, and Alexa still don’t have the same level of interaction. Searching the Internet, I found the project https://kripytonianojarvis.com/site/ which I found very interesting.

But I don’t think that’s what I want yet, so I decided to (try) create a virtual assistant. I know it won’t be easy, and this project will be something of a hobby.

The first part is voice communication with the computer, so I need the machine to understand my speech. In this post, I’m going to show code in python to capture speech from the microphone and transform it into text, recording it in a file.

Let’s go to code.

Installation of Libraries

pip install SpeechRecognition
pip install pyaudio

If you are on Windows you will need to use:

pip install pipwin 
pipwin install pyaudio

Although the code doesn’t explicitly call Pyaudio, we must access the microphone. Therefore, we must install it correctly.

Full Code

import speech_recognition as sr


def WriteMessage(message):
    try:
        with open("audio_transcription.txt", "a") as file:
            file.write(str(message) + "\n")
            file.close()
    except:
        print("Error on write " + message)


r = sr.Recognizer()
message = ""

while (message != "turn off"):
    with sr.Microphone() as source:
        r.adjust_for_ambient_noise(source)
        print("Say something:")
        audio = r.listen(source)
        print("Hello")

    try:
        message = r.recognize_google(audio)
        print("You spoke: " + message)
    except sr.UnknownValueError:
        print("Google Speech Recognition could not understand message!")
    except sr.RequestError as e:
        print("Could not request results from Google Speech Recognition servic; {0}".format(e))

    WriteMessage(message)

Write Message

import speech_recognition as sr


def WriteMessage(message):
    try:
        with open("audio_transcription.txt", "a") as file:
            file.write(str(message) + "\n")
            file.close()
    except:
        print("Error on write " + message)

This first part of the code has the library import and the transcribed text function. It will be essential to send the text message with commands to the computer and other equipment. Have you thought about turning on the coffeemaker with a voice command? Great!

Voice Recognition

r = sr.Recognizer()
message = ""

while (message != "turn off"):
    with sr.Microphone() as source:
        r.adjust_for_ambient_noise(source)
        print("Say something:")
        audio = r.listen(source)
        print("Hello")

    try:
        message = r.recognize_google(audio)
        print("You spoke: " + message)
    except sr.UnknownValueError:
        print("Google Speech Recognition could not understand message!")
    except sr.RequestError as e:
        print("Could not request results from Google Speech Recognition servic; {0}".format(e))

Google Speech Recognition performs voice recognition. There are two error handles. The first error refers to the fact that the machine does not understand the message. The second is related to the connection to the Google network. For everything to work correctly, you need an Internet connection.

Google Speech Recognition is a neural network for speech recognition. It is pretty robust as it will most of the time recognize speech without a voice timbre calibration step.

Interesting to note that the program works until you receive, by voice, the command “Turn off.”

Conclusion
We wrote a simple code that captures what was said and displays it in text format on the screen. In addition, everything that we told the machine records in a text file, and the program is closed when we say “Turn off.”

For future work, we will add commands for the computer to perform tasks through voice commands.

Artificial Intelligence to improve customer relations

I just read the news about the applications of the company Nuveto, a provider of cloud contact center solutions with AI technologies. They use Machine Learning to discover patterns of behavior and factors that result in company interest points in customer-company interactions.

I found the application of their chatbots interesting that can help even when the ChatBot does not retain the customer, and he needs to talk to an attendant. An example is applications capable of listening in real-time to what is being said (or written in a chat session). Based on all the experience gained through previous interactions with other customers, send alerts to the operator indicating suggestions for approach, language changes, discount offers, and others. “This AI-based virtual coach is an essential and primordial tool, as the results of the interactions will serve as training for you to be increasingly assertive in your suggestions,” says Leite.

The original news can be seen at https://inforchannel.com.br/inteligencia-artificial-ajuda-a-fortalecer-relacao-com-os-clientes/.