WEBVTT - TechStuff Tidbits: ChatGPT and Natural Language Processing

0:00:04.400 --> 0:00:07.800
<v Speaker 1>Welcome to tech Stuff, a production from I Heart Radio.

0:00:11.840 --> 0:00:14.720
<v Speaker 1>Hey there, and welcome to tech Stuff. I'm your host,

0:00:14.880 --> 0:00:18.440
<v Speaker 1>Jonathan Strickland. I'm an executive producer with I Heart Radio

0:00:18.560 --> 0:00:21.520
<v Speaker 1>and how the tech are you? We're gonna do a

0:00:21.800 --> 0:00:25.200
<v Speaker 1>tech stuff tidbits episode for those of y'all who are

0:00:25.280 --> 0:00:28.600
<v Speaker 1>not familiar wants in a while, I try and do

0:00:28.880 --> 0:00:32.760
<v Speaker 1>kind of a shorter, more concentrated episode on a tech

0:00:32.840 --> 0:00:36.360
<v Speaker 1>topic that doesn't merit a full episode. Now, it's not

0:00:36.400 --> 0:00:39.440
<v Speaker 1>to say that this particular topic doesn't merit a full episode,

0:00:39.640 --> 0:00:44.120
<v Speaker 1>but it will actually require a lot more in depth discussion,

0:00:44.360 --> 0:00:46.720
<v Speaker 1>and I wanted to kind of give an overview just

0:00:46.840 --> 0:00:50.360
<v Speaker 1>to give y'all something to think about. So let's get

0:00:50.400 --> 0:00:53.920
<v Speaker 1>to it. Late last November, the Open Ai organization launched

0:00:54.120 --> 0:00:58.000
<v Speaker 1>chat GPT, which if you haven't used it, I recommend

0:00:58.040 --> 0:01:00.520
<v Speaker 1>you go play with it. Try it out. You can

0:01:00.560 --> 0:01:03.440
<v Speaker 1>make a little account for free and interact with this

0:01:03.520 --> 0:01:06.679
<v Speaker 1>chat bot. So the GPT for chat GPT stands for

0:01:06.840 --> 0:01:11.800
<v Speaker 1>Generative pre Trained Transformer. But it is a chat bot. Now,

0:01:11.800 --> 0:01:13.880
<v Speaker 1>it's a chat bot that can respond to prompts and

0:01:13.959 --> 0:01:18.880
<v Speaker 1>queries with sometimes astonishing results. Uh. This is the tool

0:01:19.120 --> 0:01:21.679
<v Speaker 1>that has certain teachers worried that their students will be

0:01:21.720 --> 0:01:25.960
<v Speaker 1>hoisting all of their homework onto this chat bot and

0:01:26.000 --> 0:01:28.039
<v Speaker 1>make it, you know, write essays for them, and it

0:01:28.080 --> 0:01:31.000
<v Speaker 1>may not always be easy to spot when that happens.

0:01:31.360 --> 0:01:34.360
<v Speaker 1>There are people who are actually offering tools that purport

0:01:34.720 --> 0:01:38.560
<v Speaker 1>to be able to detect if it was generated by

0:01:38.680 --> 0:01:41.160
<v Speaker 1>a chat bot as opposed to written by a student.

0:01:41.280 --> 0:01:47.080
<v Speaker 1>So there's already this kind of seesaw struggle between the

0:01:47.160 --> 0:01:49.680
<v Speaker 1>chat bots and the detectors, which is kind of interesting.

0:01:50.160 --> 0:01:53.160
<v Speaker 1>Some people argue that Pandora's box has been opened and

0:01:53.240 --> 0:01:56.280
<v Speaker 1>chat GPT came roaring out, and it's going to make

0:01:56.760 --> 0:01:59.960
<v Speaker 1>teaching even more difficult and challenging that already is. By

0:02:00.040 --> 0:02:02.280
<v Speaker 1>the way, if you're a teacher, my hat's off to you.

0:02:02.480 --> 0:02:05.480
<v Speaker 1>Both my parents were teachers, they're both retired now. I

0:02:05.520 --> 0:02:09.800
<v Speaker 1>have nothing but the utmost respect for teachers. Y'all have

0:02:10.120 --> 0:02:18.600
<v Speaker 1>a incredibly important, incredibly challenging, and criminally undervalued job. Anyway,

0:02:18.680 --> 0:02:21.760
<v Speaker 1>for chat GPT to work as well as it does,

0:02:21.840 --> 0:02:24.080
<v Speaker 1>there are a ton of different elements that had to

0:02:24.120 --> 0:02:28.200
<v Speaker 1>be implemented. Open Ai had to develop a sophisticated machine

0:02:28.280 --> 0:02:31.919
<v Speaker 1>learning process to train chat GPT, so that it can

0:02:31.960 --> 0:02:37.760
<v Speaker 1>formulate relevant and convincing but not always accurate or correct

0:02:38.040 --> 0:02:41.200
<v Speaker 1>responses to prompts, and relevant is really important. Right. If

0:02:41.240 --> 0:02:45.239
<v Speaker 1>you ask something a question and you get an answer

0:02:45.280 --> 0:02:48.959
<v Speaker 1>that's about something entirely different, that's a really frustrating experience.

0:02:49.560 --> 0:02:51.399
<v Speaker 1>So one thing that the app needs to be able

0:02:51.400 --> 0:02:55.440
<v Speaker 1>to do is parse human language. And this is a

0:02:55.520 --> 0:02:59.360
<v Speaker 1>non trivial engineering problem, and we're going to talk about

0:02:59.400 --> 0:03:02.680
<v Speaker 1>that briefly in this Tech Stuff Tidbits episode. So while

0:03:02.760 --> 0:03:06.120
<v Speaker 1>chat GPT is the launching off point, this is not

0:03:06.560 --> 0:03:11.800
<v Speaker 1>exclusively applicable to chat GPT. It's actually applicable to a

0:03:11.880 --> 0:03:15.600
<v Speaker 1>wide range of applications. So when you hear the phrase

0:03:16.000 --> 0:03:20.080
<v Speaker 1>natural language, that means it's how we humans tend to

0:03:20.080 --> 0:03:24.440
<v Speaker 1>communicate with one another with languages that naturally evolved out

0:03:24.480 --> 0:03:30.240
<v Speaker 1>of culture and society. There are manufactured languages like Esperanto,

0:03:30.400 --> 0:03:34.080
<v Speaker 1>where people created a language with the purpose of creating

0:03:34.080 --> 0:03:37.920
<v Speaker 1>a language, but generally natural language just refers to a

0:03:38.080 --> 0:03:43.440
<v Speaker 1>language naturally evolving over time, and we've developed these over millennia, right,

0:03:43.520 --> 0:03:47.320
<v Speaker 1>And a language includes things like the rules we use

0:03:47.440 --> 0:03:50.640
<v Speaker 1>to form phrases and sentences, as well as the vocabulary

0:03:50.760 --> 0:03:55.040
<v Speaker 1>we use to populate those phrases and sentences. So we've

0:03:55.040 --> 0:03:58.840
<v Speaker 1>got syntax and grammar, and we've got vocabulary. All of

0:03:58.880 --> 0:04:02.280
<v Speaker 1>these elements come together to form language, and you can't

0:04:02.320 --> 0:04:05.320
<v Speaker 1>just throw them in willy nilly, or you will make

0:04:05.360 --> 0:04:08.480
<v Speaker 1>no sense. That's why we have the structure and rules.

0:04:09.000 --> 0:04:12.240
<v Speaker 1>It also includes the quirks we develop over time, you know,

0:04:12.280 --> 0:04:17.479
<v Speaker 1>exceptions to established rules and things like puns and jokes

0:04:17.480 --> 0:04:20.200
<v Speaker 1>and idioms and that kind of thing. Right, we have

0:04:20.520 --> 0:04:24.159
<v Speaker 1>phrases that we use that means something, but they don't

0:04:24.240 --> 0:04:27.960
<v Speaker 1>necessarily mean the surface level. If I say it's raining

0:04:28.000 --> 0:04:31.760
<v Speaker 1>cats and dogs, I probably do not mean that it

0:04:32.040 --> 0:04:36.240
<v Speaker 1>literally is raining small furry animals. If it is, I

0:04:36.279 --> 0:04:40.240
<v Speaker 1>will be inconsolable. I am saying instead that it's raining

0:04:40.279 --> 0:04:45.640
<v Speaker 1>really hard, but I'm using this idiom to express that. Right, So,

0:04:45.760 --> 0:04:49.040
<v Speaker 1>for humans, it's not that difficult to understand what someone

0:04:49.200 --> 0:04:53.560
<v Speaker 1>is saying, assuming you both speak the same language, even

0:04:53.920 --> 0:04:56.840
<v Speaker 1>if that other person is using some unfamiliar words, like

0:04:57.080 --> 0:04:59.159
<v Speaker 1>you could be sitting in on I think back to

0:04:59.279 --> 0:05:02.800
<v Speaker 1>when I was in a class in English class and

0:05:02.880 --> 0:05:07.279
<v Speaker 1>I had a professor who insisted on using the word paradigm,

0:05:07.320 --> 0:05:10.320
<v Speaker 1>and I had never encountered the word paradigm. I it

0:05:10.440 --> 0:05:14.520
<v Speaker 1>was not in my vocabulary, and I picked up in

0:05:14.640 --> 0:05:18.599
<v Speaker 1>context that the way she was specifically using paradigm was

0:05:18.680 --> 0:05:21.640
<v Speaker 1>essentially as a stand in for the word example. Uh.

0:05:21.680 --> 0:05:23.680
<v Speaker 1>This taught me two things. It taught me one of

0:05:23.720 --> 0:05:25.520
<v Speaker 1>the meetings of the word paradigm, and it taught me

0:05:25.560 --> 0:05:30.320
<v Speaker 1>that my professor was incredibly pretentious. Anyway, context really can

0:05:30.480 --> 0:05:33.320
<v Speaker 1>clue us in. Even if we don't know what a

0:05:33.360 --> 0:05:37.080
<v Speaker 1>specific word or phrase means on the surface, from context,

0:05:37.160 --> 0:05:40.920
<v Speaker 1>we can derive at least some meaning. We only still

0:05:41.000 --> 0:05:44.560
<v Speaker 1>miss the full meaning. Or on occasion, you might pull

0:05:44.600 --> 0:05:47.520
<v Speaker 1>a malapropism and you might use the wrong word in

0:05:47.600 --> 0:05:50.679
<v Speaker 1>place of one you intended to use. This has happened

0:05:50.720 --> 0:05:54.360
<v Speaker 1>to me many times. If you want a recent example

0:05:54.720 --> 0:05:57.800
<v Speaker 1>of a character who uses malapropisms, you should watch the

0:05:57.839 --> 0:06:01.360
<v Speaker 1>movie Glass Onion. There is a character in that who

0:06:01.480 --> 0:06:05.680
<v Speaker 1>frequently uses the wrong word to stand in for something

0:06:05.720 --> 0:06:09.080
<v Speaker 1>that he intends to say. Also a fun side note,

0:06:09.560 --> 0:06:13.480
<v Speaker 1>the word malapropism comes from the world of theater. Richard

0:06:13.560 --> 0:06:17.080
<v Speaker 1>Brinsley Sheridan wrote a play called The Rivals. This was

0:06:17.120 --> 0:06:20.160
<v Speaker 1>back in the eighteenth century, so the late seventeen hundreds

0:06:20.320 --> 0:06:24.919
<v Speaker 1>and the rivals includes a character h a a a

0:06:24.960 --> 0:06:29.599
<v Speaker 1>caretaker sort of or a chaperone almost, and her name

0:06:29.680 --> 0:06:34.040
<v Speaker 1>is Mrs Malaprop, and she often employs the wrong words

0:06:34.120 --> 0:06:36.679
<v Speaker 1>to comedic effects. She means one thing, but she says

0:06:36.680 --> 0:06:41.240
<v Speaker 1>another because she's using the incorrect words, which makes the

0:06:41.279 --> 0:06:44.200
<v Speaker 1>meaning of what she's actually saying change and that's where

0:06:44.200 --> 0:06:46.080
<v Speaker 1>the humor is right. And I think this is a

0:06:46.080 --> 0:06:50.039
<v Speaker 1>fun bit of history to know where Malaprop comes from,

0:06:50.080 --> 0:06:53.760
<v Speaker 1>because there's actually another famous character from theater, from English

0:06:53.760 --> 0:06:57.880
<v Speaker 1>theater who predated Mrs Malaprop by a couple of hundred years.

0:06:58.760 --> 0:07:03.479
<v Speaker 1>That character is Ugberry from Billy Shakespeare's Much Ado About Nothing,

0:07:04.040 --> 0:07:07.440
<v Speaker 1>and dog Berry also frequently uses the wrong words in

0:07:07.520 --> 0:07:12.320
<v Speaker 1>an intended comedic effect. The difference is Mrs Malaprop is

0:07:12.360 --> 0:07:16.360
<v Speaker 1>actually funny and dog Berry more often than not isn't

0:07:17.280 --> 0:07:20.720
<v Speaker 1>and mostly being a snobby tease. Here up, please keep

0:07:20.720 --> 0:07:23.400
<v Speaker 1>in mind that back in college I majored in English

0:07:23.440 --> 0:07:26.520
<v Speaker 1>Lit with a focus on Shakespeare. I love Shakespeare dearly,

0:07:27.000 --> 0:07:30.360
<v Speaker 1>but I have issues with some of his comedy. Although

0:07:30.360 --> 0:07:34.680
<v Speaker 1>I guess you could argue the the broad gap in

0:07:34.760 --> 0:07:37.280
<v Speaker 1>time between his time and mind could play a part

0:07:37.280 --> 0:07:41.040
<v Speaker 1>in that anyway. My point is it's not too hard

0:07:41.080 --> 0:07:43.960
<v Speaker 1>for humans to communicate the same thought in lots of

0:07:44.000 --> 0:07:46.960
<v Speaker 1>different ways, and if we encounter a new turn of

0:07:47.000 --> 0:07:49.520
<v Speaker 1>phrase or a new word, we can pick it up

0:07:49.760 --> 0:07:54.960
<v Speaker 1>without too much problem. This stands in stark contrast to

0:07:55.120 --> 0:07:59.240
<v Speaker 1>computers and machines. Now often in the show I talk

0:07:59.400 --> 0:08:04.400
<v Speaker 1>about binary information, about bits and bytes, because when you

0:08:04.440 --> 0:08:09.280
<v Speaker 1>dig way down into how many machines process information, you're

0:08:09.320 --> 0:08:13.280
<v Speaker 1>looking at circuits that run various mathematical operations upon strings

0:08:13.280 --> 0:08:17.040
<v Speaker 1>of data, and that that data is grouped into zeros

0:08:17.080 --> 0:08:22.640
<v Speaker 1>and ones. This is binary or machine language. Computers can

0:08:22.680 --> 0:08:26.440
<v Speaker 1>interpret this quickly. The computers are effectively looking at a

0:08:26.520 --> 0:08:30.480
<v Speaker 1>series of off or on indicators. I often say a

0:08:30.680 --> 0:08:33.720
<v Speaker 1>binary digit or bit is a lot like a light switch.

0:08:33.880 --> 0:08:37.080
<v Speaker 1>It's either off or on. It's zero or one. When

0:08:37.080 --> 0:08:40.200
<v Speaker 1>you put this through logic gates that are have specific

0:08:40.200 --> 0:08:44.400
<v Speaker 1>designs to them, you run them through various operations, these

0:08:44.480 --> 0:08:48.480
<v Speaker 1>zeros and ones can almost magically become complicated processes that

0:08:48.880 --> 0:08:51.679
<v Speaker 1>let you do anything from type out the script for

0:08:51.720 --> 0:08:57.040
<v Speaker 1>a podcast to playing the latest video game. Now make

0:08:57.080 --> 0:09:01.840
<v Speaker 1>sure you keep in mind I said, almost magically in fact,

0:09:01.920 --> 0:09:05.360
<v Speaker 1>it's not magical at all. It's just that we humans

0:09:05.400 --> 0:09:08.440
<v Speaker 1>can't really process huge banks of zeros and ones and

0:09:08.520 --> 0:09:11.839
<v Speaker 1>really make much sense of it. While on a similar note,

0:09:12.200 --> 0:09:15.400
<v Speaker 1>a machine without the proper programming can make no sense

0:09:15.880 --> 0:09:21.400
<v Speaker 1>of our human languages. It is complete gibberish. It's meaningless

0:09:21.440 --> 0:09:25.360
<v Speaker 1>to a computer. Now, it would be exceedingly difficult to

0:09:25.440 --> 0:09:29.640
<v Speaker 1>do any significant kind of programming if programmers had to

0:09:29.679 --> 0:09:35.720
<v Speaker 1>depend upon hard coding zeros and ones while composing their work. Fortunately,

0:09:36.080 --> 0:09:42.160
<v Speaker 1>computer scientists came up with solutions, namely compilers and computer languages,

0:09:42.760 --> 0:09:48.120
<v Speaker 1>and we're gonna start with computer languages. A computer language

0:09:48.280 --> 0:09:51.640
<v Speaker 1>creates levels of abstraction that make it a bit less

0:09:51.760 --> 0:09:55.800
<v Speaker 1>daunting to write software for computers. So the idea is

0:09:55.840 --> 0:09:59.720
<v Speaker 1>that each computer language has its own set of rules,

0:09:59.760 --> 0:10:03.480
<v Speaker 1>like its own syntax, its own vocabulary, and as long

0:10:03.520 --> 0:10:05.760
<v Speaker 1>as you work within those rules, and you do so

0:10:05.920 --> 0:10:08.760
<v Speaker 1>precisely and with as few errors as you possibly can,

0:10:09.360 --> 0:10:11.920
<v Speaker 1>you can create a program to make the computer do

0:10:12.000 --> 0:10:14.559
<v Speaker 1>whatever it is you want it to do. Because the

0:10:14.600 --> 0:10:19.160
<v Speaker 1>computer language itself has built into it the ability to

0:10:19.280 --> 0:10:24.079
<v Speaker 1>be converted into machine language. That will get us two compilers,

0:10:24.400 --> 0:10:26.040
<v Speaker 1>which we will chat about in the minute. In fact,

0:10:26.040 --> 0:10:29.440
<v Speaker 1>we'll talk more about computer languages and compilers after we

0:10:29.520 --> 0:10:41.400
<v Speaker 1>come back from this quick break. Okay, before the break,

0:10:41.880 --> 0:10:44.520
<v Speaker 1>I had introduced this idea of computer languages. Now, not

0:10:44.640 --> 0:10:48.199
<v Speaker 1>all computer languages are equal, and there are dozens of them.

0:10:48.480 --> 0:10:51.480
<v Speaker 1>In fact, there are some notable differences between computer languages.

0:10:51.520 --> 0:10:53.760
<v Speaker 1>Some of them are very similar, some of them share

0:10:53.880 --> 0:10:57.560
<v Speaker 1>a common root computer language, and some of them could

0:10:57.600 --> 0:11:01.240
<v Speaker 1>not be more different. Now, in general, we can separate

0:11:01.280 --> 0:11:03.679
<v Speaker 1>them into very two, very broad categories. There are a

0:11:03.720 --> 0:11:07.320
<v Speaker 1>lot of different ways to categorize programming languages, but we're

0:11:07.360 --> 0:11:10.040
<v Speaker 1>looking at one of the most basic, which is low

0:11:10.120 --> 0:11:14.720
<v Speaker 1>level languages and high level languages. So a low level

0:11:14.800 --> 0:11:20.640
<v Speaker 1>language is relatively close to machine language. It only provides

0:11:21.080 --> 0:11:25.680
<v Speaker 1>a thin layer of abstraction, and as such it can

0:11:25.760 --> 0:11:29.320
<v Speaker 1>still be very challenging for programmers to work with these

0:11:29.400 --> 0:11:32.600
<v Speaker 1>languages because they're not that far off from the basic

0:11:32.679 --> 0:11:37.720
<v Speaker 1>machine languages. Uh, it's a little easier. It's it's designed

0:11:37.720 --> 0:11:41.319
<v Speaker 1>so that humans can interact with it a little more

0:11:41.520 --> 0:11:45.199
<v Speaker 1>naturally than they would with pure machine language, but it's

0:11:45.240 --> 0:11:48.320
<v Speaker 1>not that easy. A high level programming language, on the

0:11:48.320 --> 0:11:52.040
<v Speaker 1>other hand, has a great deal of abstraction, and it's

0:11:52.440 --> 0:11:54.960
<v Speaker 1>much closer to a human language in that way. So

0:11:55.080 --> 0:11:58.319
<v Speaker 1>these languages are far easier for humans to work with

0:11:58.400 --> 0:12:00.840
<v Speaker 1>on a day to day basis, And by humans I

0:12:00.880 --> 0:12:03.920
<v Speaker 1>mean programmers. Like, if you had never seen a computer

0:12:04.080 --> 0:12:07.240
<v Speaker 1>programming language and one day you just sat down to

0:12:07.400 --> 0:12:10.559
<v Speaker 1>work on one, it would not seem easy or intuitive

0:12:10.600 --> 0:12:14.079
<v Speaker 1>to you, probably, But both low level and high level

0:12:14.160 --> 0:12:17.600
<v Speaker 1>languages have their own sets of rules. If you break

0:12:17.640 --> 0:12:19.680
<v Speaker 1>those rules, your program is not going to behave the

0:12:19.679 --> 0:12:22.000
<v Speaker 1>way you intended to. It might not run at all.

0:12:22.080 --> 0:12:25.840
<v Speaker 1>You might just get error messages. But yeah, they have rules,

0:12:25.840 --> 0:12:30.839
<v Speaker 1>and if you follow them, then programs can potentially work. Now,

0:12:30.880 --> 0:12:34.839
<v Speaker 1>if computers process information in zeros and ones, and programming

0:12:34.920 --> 0:12:38.520
<v Speaker 1>languages provide levels of abstraction that approach human language at

0:12:38.520 --> 0:12:42.120
<v Speaker 1>the higher levels, how do we reconcile that? How does

0:12:42.240 --> 0:12:47.360
<v Speaker 1>a computer interpret a program written in uh language like Python?

0:12:47.559 --> 0:12:51.720
<v Speaker 1>For example? Python is much closer to a natural language

0:12:51.720 --> 0:12:53.760
<v Speaker 1>than it is a machine language. So how do we

0:12:53.800 --> 0:12:55.800
<v Speaker 1>get to the point where a computer can take that

0:12:55.880 --> 0:13:00.160
<v Speaker 1>information and actually execute a program? Well, the program I'm

0:13:00.200 --> 0:13:03.000
<v Speaker 1>once composed has to go through what we call a compiler,

0:13:03.160 --> 0:13:06.520
<v Speaker 1>and the compiler's job is to take this program and

0:13:06.600 --> 0:13:10.600
<v Speaker 1>according to the rules of that programming language, convert the

0:13:10.640 --> 0:13:14.480
<v Speaker 1>program from the programming language into machine code so that

0:13:14.559 --> 0:13:17.960
<v Speaker 1>a computer can actually do something with it. So the

0:13:18.000 --> 0:13:21.880
<v Speaker 1>compiler is kind of like a translator. And the compiler

0:13:21.880 --> 0:13:23.959
<v Speaker 1>actually has to do a few jobs to make this happen,

0:13:24.040 --> 0:13:27.160
<v Speaker 1>and has to scan the program's source code for recognizable

0:13:27.200 --> 0:13:30.640
<v Speaker 1>commands and terms. That has to analyze the syntax a

0:13:30.760 --> 0:13:34.640
<v Speaker 1>gave the structure of the code to understand the order

0:13:34.679 --> 0:13:37.840
<v Speaker 1>of operations. That has to break all that down into

0:13:37.960 --> 0:13:41.000
<v Speaker 1>machine code that follows what the language says. And if

0:13:41.040 --> 0:13:43.680
<v Speaker 1>the programmer made a mistake, well that ends up getting

0:13:43.880 --> 0:13:46.280
<v Speaker 1>translated to and then you don't find out un till

0:13:46.280 --> 0:13:48.040
<v Speaker 1>you try and run the program, and then it gets

0:13:48.080 --> 0:13:51.280
<v Speaker 1>back to debugging figuring out where did you make that

0:13:51.360 --> 0:13:55.280
<v Speaker 1>mistake in the actual program. Now here's the thing. The

0:13:55.360 --> 0:13:59.280
<v Speaker 1>programming languages, while they can create high levels of abstraction,

0:13:59.679 --> 0:14:02.840
<v Speaker 1>are still not necessarily accessible to the average person. Like

0:14:02.880 --> 0:14:04.880
<v Speaker 1>I had mentioned before the break, you know, I'm talking

0:14:04.880 --> 0:14:07.800
<v Speaker 1>about the average person who has little to know experience

0:14:07.800 --> 0:14:11.280
<v Speaker 1>with computer languages or programming. So to people like that,

0:14:11.360 --> 0:14:14.920
<v Speaker 1>and I'll include myself here, a sheet of code written,

0:14:14.920 --> 0:14:18.280
<v Speaker 1>and even a very high level computer language might end

0:14:18.360 --> 0:14:20.880
<v Speaker 1>up being indecipherable. You could look at and say, I

0:14:20.920 --> 0:14:24.320
<v Speaker 1>don't know what this program is supposed to do because

0:14:24.320 --> 0:14:27.080
<v Speaker 1>I don't know enough about this programming language to understand

0:14:27.120 --> 0:14:30.520
<v Speaker 1>what any of this means. As such, for folks such

0:14:30.520 --> 0:14:34.920
<v Speaker 1>as myself, programming a computer is a daunting task because

0:14:35.040 --> 0:14:38.080
<v Speaker 1>we lack the basic knowledge of the programming languages we

0:14:38.120 --> 0:14:41.760
<v Speaker 1>would need to use to make an effective program. Now

0:14:41.800 --> 0:14:44.280
<v Speaker 1>you you can teach yourself these things lots of people have.

0:14:44.400 --> 0:14:47.920
<v Speaker 1>In fact, a lot of the most famous hackers and

0:14:47.960 --> 0:14:53.479
<v Speaker 1>even like leaders in in tech business are self taught programmers.

0:14:53.800 --> 0:14:56.440
<v Speaker 1>So there's nothing stopping you from doing this, even if

0:14:56.480 --> 0:14:59.560
<v Speaker 1>you never took a class in computer science or programming.

0:15:00.040 --> 0:15:02.640
<v Speaker 1>In my case, it's literally that I haven't sat down

0:15:02.640 --> 0:15:05.240
<v Speaker 1>to do any programming since the days when I did

0:15:05.280 --> 0:15:09.960
<v Speaker 1>it an Apple Basic, and I only vaguely remember those days.

0:15:09.960 --> 0:15:12.000
<v Speaker 1>But you know, what if you could interact with a

0:15:12.040 --> 0:15:16.200
<v Speaker 1>machine through the use of natural language, not a programming language.

0:15:16.520 --> 0:15:19.640
<v Speaker 1>What if the computer we're able to take your queries

0:15:19.680 --> 0:15:23.320
<v Speaker 1>and commands that were either written or spoken in everyday

0:15:23.400 --> 0:15:26.080
<v Speaker 1>human language and then suss out what it was you

0:15:26.160 --> 0:15:28.880
<v Speaker 1>wanted and then give it to you. That's the goal

0:15:29.000 --> 0:15:33.520
<v Speaker 1>of natural language processing, and we see it in different implementations.

0:15:33.680 --> 0:15:38.000
<v Speaker 1>Right with chat GBT it's a text based interaction, but

0:15:38.120 --> 0:15:43.040
<v Speaker 1>with smart speakers it's through speaking it into a microphone

0:15:43.200 --> 0:15:46.720
<v Speaker 1>and giving a response. But the basic idea is still

0:15:46.760 --> 0:15:50.160
<v Speaker 1>the same, and at a shallow level, it appears that

0:15:50.200 --> 0:15:52.960
<v Speaker 1>a computer is able to understand you and can respond

0:15:53.000 --> 0:15:55.800
<v Speaker 1>in kind, but in reality, what is going on in

0:15:55.840 --> 0:15:59.600
<v Speaker 1>the background is a very complex analysis to determine what

0:15:59.760 --> 0:16:02.960
<v Speaker 1>it as you are saying or asking or typing or whatever.

0:16:03.640 --> 0:16:06.920
<v Speaker 1>And like a compiler, a natural language processor has to

0:16:06.960 --> 0:16:10.479
<v Speaker 1>identify all the components of a query and to analyze

0:16:10.480 --> 0:16:13.320
<v Speaker 1>the syntax and then respond in a way that's most

0:16:13.360 --> 0:16:15.640
<v Speaker 1>likely to be relevant. For example, if I were to

0:16:15.680 --> 0:16:20.440
<v Speaker 1>ask a smart speaker what's the weather in Walt Disney

0:16:20.440 --> 0:16:24.000
<v Speaker 1>World today, it would have to understand that I've got

0:16:24.240 --> 0:16:26.960
<v Speaker 1>a location I've given It's not my location. I've asked

0:16:27.120 --> 0:16:31.560
<v Speaker 1>for Walt Disney World, I've asked a specific set of

0:16:31.640 --> 0:16:34.240
<v Speaker 1>data what is the weather, and I've given a timeframe

0:16:34.280 --> 0:16:37.640
<v Speaker 1>of today. It would have to understand all that, analyze

0:16:37.680 --> 0:16:42.400
<v Speaker 1>all that, and then get the correct response and present

0:16:42.520 --> 0:16:45.320
<v Speaker 1>it to me, and that's that's incredible, Like, that's an

0:16:45.320 --> 0:16:47.200
<v Speaker 1>incredible amount of work going on in the back end.

0:16:47.400 --> 0:16:51.320
<v Speaker 1>It happens almost instantly when whenever we interact with these systems,

0:16:52.000 --> 0:16:53.680
<v Speaker 1>but it's a lot of stuff that has to happen

0:16:53.800 --> 0:16:57.240
<v Speaker 1>or over that to work. Otherwise we would end up

0:16:57.240 --> 0:16:59.920
<v Speaker 1>with devices that just do irritating things like I imagine

0:17:00.000 --> 0:17:02.440
<v Speaker 1>and telling my smart hub to dim the lights, and

0:17:02.480 --> 0:17:04.359
<v Speaker 1>instead it tells me what the weather is, that the

0:17:04.359 --> 0:17:07.720
<v Speaker 1>Magic Kingdom, and I'm thinking, well, that's nice, but the

0:17:07.800 --> 0:17:10.600
<v Speaker 1>lights are still too bright. Please dim them so I

0:17:10.640 --> 0:17:13.119
<v Speaker 1>don't have to get up off my couch, walk across

0:17:13.160 --> 0:17:18.240
<v Speaker 1>the room and turn a dial, because you know, lazy. Anyway,

0:17:18.480 --> 0:17:21.919
<v Speaker 1>As for natural language processing, that's a simple phrase that

0:17:22.000 --> 0:17:27.080
<v Speaker 1>hides how insanely complicated the actual processes. In reality, natural

0:17:27.119 --> 0:17:31.760
<v Speaker 1>language processing is a multidisciplinary area of development. It incorporates

0:17:31.760 --> 0:17:36.280
<v Speaker 1>elements of artificial intelligence, machine learning, human linguistics. There's a

0:17:36.320 --> 0:17:38.800
<v Speaker 1>bit of psychology that goes in there too. And the

0:17:38.880 --> 0:17:42.440
<v Speaker 1>evolution of natural language processing is a little difficult to trace,

0:17:42.520 --> 0:17:45.520
<v Speaker 1>particularly if you're looking at it from the perspective of

0:17:45.720 --> 0:17:50.119
<v Speaker 1>a user. So way back in the day, kiddos a

0:17:50.160 --> 0:17:54.359
<v Speaker 1>lot of computer games didn't have graphics. They were text

0:17:54.480 --> 0:17:58.040
<v Speaker 1>based games, kind of like a choose your own adventure novel.

0:17:58.400 --> 0:18:02.480
<v Speaker 1>To say, do they still have those? If you're familiar

0:18:02.520 --> 0:18:05.760
<v Speaker 1>with them. You read these books and at the end

0:18:05.760 --> 0:18:08.800
<v Speaker 1>of certain pages you are presented with a choice, and

0:18:09.080 --> 0:18:11.280
<v Speaker 1>it gives you two different page numbers to go to

0:18:11.359 --> 0:18:14.160
<v Speaker 1>depending upon whichever choice you make, and then you continue

0:18:14.200 --> 0:18:16.960
<v Speaker 1>the story from there. Well, a text based adventure was

0:18:17.080 --> 0:18:20.520
<v Speaker 1>very similar to that. There were fewer overt prompts in

0:18:20.560 --> 0:18:24.520
<v Speaker 1>your typical text based adventure. You could theoretically you could

0:18:24.560 --> 0:18:27.440
<v Speaker 1>choose to type in whatever you wanted, so you could

0:18:27.520 --> 0:18:30.080
<v Speaker 1>type commands into a prompt line and then the computer

0:18:30.119 --> 0:18:33.560
<v Speaker 1>game would produce a response. So you might type something

0:18:33.600 --> 0:18:36.679
<v Speaker 1>like look and that would prompt the game to produce

0:18:36.680 --> 0:18:39.800
<v Speaker 1>a description of the environment that you were in at

0:18:39.880 --> 0:18:43.760
<v Speaker 1>the moment. Or you might type inventory to find out

0:18:43.840 --> 0:18:46.199
<v Speaker 1>what stuff you happen to be carrying on your character.

0:18:46.880 --> 0:18:50.880
<v Speaker 1>Or you might type put bit in T in order

0:18:50.880 --> 0:18:53.399
<v Speaker 1>to get the dag nabbed and probability drive working. I

0:18:53.440 --> 0:18:57.480
<v Speaker 1>am still traumatized by the text adventure The Hitchhecker's Guide

0:18:57.480 --> 0:19:02.520
<v Speaker 1>to the Galaxy. Decades later, that game was fiendishly hard

0:19:03.000 --> 0:19:08.680
<v Speaker 1>and non intuitive anyway, then the program would respond appropriately.

0:19:08.720 --> 0:19:11.479
<v Speaker 1>It would give you the response based upon the command

0:19:11.520 --> 0:19:14.160
<v Speaker 1>you typed in, and on a surface level, it looked

0:19:14.160 --> 0:19:18.880
<v Speaker 1>like the computer game understood what you were saying, except

0:19:19.119 --> 0:19:20.840
<v Speaker 1>as soon as you typed in a phrase that the

0:19:20.880 --> 0:19:24.719
<v Speaker 1>programmers hadn't accounted for or just didn't support for whatever reason,

0:19:25.320 --> 0:19:28.399
<v Speaker 1>you would get a pretty standardized message saying something along

0:19:28.400 --> 0:19:31.800
<v Speaker 1>the lines of I'm sorry, I don't understand, and so

0:19:31.880 --> 0:19:35.880
<v Speaker 1>it turned out the game didn't understand you at all. Instead,

0:19:35.880 --> 0:19:39.760
<v Speaker 1>the game had a list of inputs that mapped to

0:19:39.960 --> 0:19:43.720
<v Speaker 1>specific outcomes, and if you provided the input while, you'd

0:19:43.720 --> 0:19:47.719
<v Speaker 1>get the outcome. But anything outside of that list was

0:19:47.800 --> 0:19:49.879
<v Speaker 1>not something the game could handle, and it had to

0:19:49.880 --> 0:19:53.760
<v Speaker 1>give you a response saying I'm sorry, I can't do that,

0:19:54.200 --> 0:19:56.720
<v Speaker 1>or something along those lines. So it gave the illusion

0:19:56.840 --> 0:20:00.320
<v Speaker 1>of understanding, but the player would quickly come to learned

0:20:00.320 --> 0:20:03.359
<v Speaker 1>that there was no such thing actually going on in

0:20:03.440 --> 0:20:07.640
<v Speaker 1>the background. On a similar note, we have chat bots,

0:20:07.680 --> 0:20:10.960
<v Speaker 1>and these have been around for ages, and developers have

0:20:11.040 --> 0:20:14.160
<v Speaker 1>worked for a long time to make chatbots sophisticated enough

0:20:14.560 --> 0:20:17.240
<v Speaker 1>so that you might start to think that maybe the

0:20:17.320 --> 0:20:20.720
<v Speaker 1>chat bot actually understands what you're saying, or maybe there's

0:20:20.760 --> 0:20:23.919
<v Speaker 1>a real human on the other side posing as a

0:20:24.000 --> 0:20:27.600
<v Speaker 1>chat bot. We'll talk about that again in just a second,

0:20:27.600 --> 0:20:40.760
<v Speaker 1>but first let's take another quick break. Okay, so you've

0:20:40.920 --> 0:20:46.000
<v Speaker 1>likely heard of the Turing test, which is this mythical

0:20:46.119 --> 0:20:49.080
<v Speaker 1>test for artificial intelligence and to determine whether or not

0:20:49.119 --> 0:20:52.400
<v Speaker 1>a computer may or may not have sentience or consciousness

0:20:52.520 --> 0:20:57.120
<v Speaker 1>or whatever. Uh That that is really kind of snowballed

0:20:57.160 --> 0:21:00.159
<v Speaker 1>from what it originally was, but the basic idea is

0:21:00.200 --> 0:21:03.160
<v Speaker 1>that it's a take on a game called the imitation game.

0:21:03.960 --> 0:21:08.720
<v Speaker 1>And in this game, a person an interrogator, sits down

0:21:08.760 --> 0:21:13.320
<v Speaker 1>at a computer terminal and they compose questions and they

0:21:13.359 --> 0:21:18.240
<v Speaker 1>get answers displayed on a computer display in front of them,

0:21:18.280 --> 0:21:21.560
<v Speaker 1>and their job is to determine whether or not the

0:21:21.720 --> 0:21:26.080
<v Speaker 1>entity that's creating the responses is another human, or in fact,

0:21:26.200 --> 0:21:28.879
<v Speaker 1>it's a machine that's attempting to pose as a human.

0:21:29.280 --> 0:21:33.480
<v Speaker 1>And if you get to a certain percentage of interrogators

0:21:33.480 --> 0:21:38.760
<v Speaker 1>who cannot be certain or they mistakenly misidentify a machine

0:21:38.760 --> 0:21:41.520
<v Speaker 1>as a human, you would say that machine passes the

0:21:41.560 --> 0:21:46.639
<v Speaker 1>Turing test, and it can convincingly pose as a human. Well,

0:21:47.640 --> 0:21:50.680
<v Speaker 1>we've seen lots of different examples of chat bots that

0:21:50.800 --> 0:21:54.800
<v Speaker 1>have supposedly passed the Turing test. But again, this isn't

0:21:54.920 --> 0:21:58.119
<v Speaker 1>like a solid tests. It's not it's not like the

0:21:58.240 --> 0:22:00.399
<v Speaker 1>S A T S or something. There's not like a

0:22:00.480 --> 0:22:04.040
<v Speaker 1>solid grading structure. It's more it's more interpretive than that.

0:22:05.040 --> 0:22:09.080
<v Speaker 1>But some of the early chatbots we saw do this

0:22:09.160 --> 0:22:13.359
<v Speaker 1>kind of thing by selecting a subset of human behaviors.

0:22:13.400 --> 0:22:16.080
<v Speaker 1>So an example, there were early chatbots or meant to

0:22:16.119 --> 0:22:20.520
<v Speaker 1>simulate someone who had paranoid schizophrenia, or it would pose

0:22:20.560 --> 0:22:23.600
<v Speaker 1>as a therapist, which mostly involved taking whatever it was

0:22:23.680 --> 0:22:26.000
<v Speaker 1>you last said and then turning it into a question,

0:22:26.119 --> 0:22:28.920
<v Speaker 1>which is, why do you think that your coworkers don't

0:22:28.960 --> 0:22:31.639
<v Speaker 1>like you? I gotta say, dr spate, so give me

0:22:31.720 --> 0:22:36.920
<v Speaker 1>a lot of complicated feelings. Anyway, by selecting this subset

0:22:36.920 --> 0:22:40.159
<v Speaker 1>of human behaviors, the programmers are limiting the sort of

0:22:40.200 --> 0:22:42.879
<v Speaker 1>things that the chat bought would be expected to chat about,

0:22:43.440 --> 0:22:46.400
<v Speaker 1>and they would also plant an expectation in the part

0:22:46.480 --> 0:22:50.000
<v Speaker 1>of the human interrogator. It lowers expectations. In other words,

0:22:50.240 --> 0:22:52.919
<v Speaker 1>if you are told that, hey, you're gonna be chatting

0:22:52.920 --> 0:22:57.480
<v Speaker 1>with someone, and it might be a young boy from

0:22:57.520 --> 0:23:00.520
<v Speaker 1>another country who only has a passing understand ending of

0:23:00.680 --> 0:23:05.480
<v Speaker 1>say English, and uh, they are like fifteen. Well, that's

0:23:05.480 --> 0:23:08.480
<v Speaker 1>gonna set your expectations right. You're no longer gonna think, oh,

0:23:08.480 --> 0:23:10.200
<v Speaker 1>this is someone who's going to have a very deep

0:23:10.280 --> 0:23:13.560
<v Speaker 1>knowledge of, say the Vietnam War. That's not gonna happen,

0:23:13.960 --> 0:23:19.679
<v Speaker 1>So there's some leeway there. Uh. Anyway, that's that's one

0:23:19.720 --> 0:23:23.240
<v Speaker 1>of the tricks of creating chat bots that are convincing.

0:23:23.240 --> 0:23:26.400
<v Speaker 1>But these days we're actually seeing much more sophisticated chat

0:23:26.440 --> 0:23:30.879
<v Speaker 1>bots like chat GPT, and they seem to actually understand

0:23:30.920 --> 0:23:33.160
<v Speaker 1>what it is we want, and we can give chat

0:23:33.200 --> 0:23:37.280
<v Speaker 1>GPT a complicated prompt and the program is capable of

0:23:37.320 --> 0:23:41.040
<v Speaker 1>providing a response. So, for example, I actually did this.

0:23:41.160 --> 0:23:44.800
<v Speaker 1>I wrote in the prompt, compose a high KU about

0:23:44.920 --> 0:23:49.000
<v Speaker 1>g p U s as graphics processing units. And this

0:23:49.119 --> 0:23:55.200
<v Speaker 1>is what chat GPT created for me. GPUs speed up

0:23:55.200 --> 0:24:04.920
<v Speaker 1>my code, processing data, lightning, fast, silent, powerful. For now,

0:24:04.960 --> 0:24:07.680
<v Speaker 1>I could point out that this poem does not strictly

0:24:07.720 --> 0:24:11.719
<v Speaker 1>adhere to the structure of hiku because a typical hiku,

0:24:12.160 --> 0:24:14.960
<v Speaker 1>the first and third lines have five syllables, the middle

0:24:15.000 --> 0:24:19.600
<v Speaker 1>line has seven syllables. The hiku quote unquote that chat

0:24:19.600 --> 0:24:24.120
<v Speaker 1>gpt produced had seven syllables, eight syllables, then six syllables.

0:24:24.160 --> 0:24:27.040
<v Speaker 1>So this is not a hiku in the structural sense.

0:24:27.080 --> 0:24:30.320
<v Speaker 1>But you you do see how chat gpt is trying

0:24:30.320 --> 0:24:33.560
<v Speaker 1>to comply with my request. It it's giving something that

0:24:33.640 --> 0:24:37.520
<v Speaker 1>has the feel of a hiku, even though it's not

0:24:38.200 --> 0:24:41.359
<v Speaker 1>strictly speaking a hiku. Now, I've talked in the past

0:24:41.400 --> 0:24:45.120
<v Speaker 1>about how chat gpt pulls data from a huge library

0:24:45.200 --> 0:24:49.119
<v Speaker 1>of information. It is not actively connected to the Internet,

0:24:49.160 --> 0:24:54.199
<v Speaker 1>but instead has this massive repository of information that it

0:24:54.240 --> 0:24:59.119
<v Speaker 1>can pull from, kind of like having a really big encyclopedia,

0:24:59.280 --> 0:25:03.400
<v Speaker 1>like horror coded encyclopedia. Think of something that you would

0:25:03.400 --> 0:25:07.040
<v Speaker 1>have in a home library. Actual books. The information in

0:25:07.080 --> 0:25:09.720
<v Speaker 1>those books is not going to change, not frequently, like

0:25:09.800 --> 0:25:13.280
<v Speaker 1>once a year you might get an updated volume that

0:25:13.359 --> 0:25:17.480
<v Speaker 1>gives information about different things that have developed over the year,

0:25:17.920 --> 0:25:20.560
<v Speaker 1>but otherwise, no, it doesn't change. So chat gpt is

0:25:20.600 --> 0:25:24.640
<v Speaker 1>not pulling the most recent information and then serving that up.

0:25:24.680 --> 0:25:29.480
<v Speaker 1>It's it's going to this big library. Now, Unfortunately, that

0:25:29.640 --> 0:25:32.760
<v Speaker 1>library doesn't guarantee that the responses you get are going

0:25:32.800 --> 0:25:35.760
<v Speaker 1>to be accurate. They will appear to at least be

0:25:35.880 --> 0:25:40.800
<v Speaker 1>relevant because chat gpt s programmers were really good at

0:25:40.800 --> 0:25:45.199
<v Speaker 1>having it analyzed queries and to really hone in on

0:25:45.359 --> 0:25:49.240
<v Speaker 1>what was being asked so that chat GPTs response, it's

0:25:49.359 --> 0:25:55.360
<v Speaker 1>generative response would relate to the query. It is one

0:25:55.400 --> 0:25:58.520
<v Speaker 1>common complaint with chat gpt that it presents information in

0:25:58.560 --> 0:26:02.159
<v Speaker 1>such a way as to authoritative though in fact it

0:26:02.200 --> 0:26:05.960
<v Speaker 1>may not quote unquote know what it's talking about. So

0:26:06.160 --> 0:26:09.760
<v Speaker 1>it's working on this very complicated system to parce language

0:26:09.760 --> 0:26:13.879
<v Speaker 1>infirm meaning based upon the words and syntax provided by users,

0:26:13.960 --> 0:26:16.720
<v Speaker 1>and then generate a response following the basic rules of

0:26:16.760 --> 0:26:23.520
<v Speaker 1>grammar and vocabulary well probabilistically picking the most likely response

0:26:23.600 --> 0:26:27.080
<v Speaker 1>to be correct and to be relevant. Again, this is

0:26:27.119 --> 0:26:30.560
<v Speaker 1>something we humans do pretty naturally, but for computers it

0:26:30.640 --> 0:26:34.840
<v Speaker 1>is anything but natural. It required a ton of work

0:26:34.840 --> 0:26:37.640
<v Speaker 1>and evolution to get there. Now, beyond the surface level,

0:26:37.680 --> 0:26:40.080
<v Speaker 1>I feel it's important to say that chat gpt does

0:26:40.240 --> 0:26:44.119
<v Speaker 1>not truly understand what we're saying to it, or what

0:26:44.240 --> 0:26:48.120
<v Speaker 1>it's saying to us. Non the level of deriving meaning

0:26:48.560 --> 0:26:51.880
<v Speaker 1>from it, it's not able to associate different ideas, it's

0:26:51.880 --> 0:26:55.240
<v Speaker 1>not able to come up with something new. It's not thinking.

0:26:55.760 --> 0:26:59.439
<v Speaker 1>It's analyzing and it's responding, and it's doing so in

0:26:59.480 --> 0:27:03.440
<v Speaker 1>a very cool way, but it's not sentient or anything

0:27:03.480 --> 0:27:06.400
<v Speaker 1>like that. Now I will probably do a full episode

0:27:06.440 --> 0:27:09.879
<v Speaker 1>about what's going on behind the curtain with natural language processing.

0:27:10.760 --> 0:27:15.240
<v Speaker 1>It's a pretty challenging topic to cover. It is incredibly complex,

0:27:15.760 --> 0:27:22.359
<v Speaker 1>it is incredibly sophisticated. It requires an interdisciplinary approach that

0:27:22.600 --> 0:27:28.639
<v Speaker 1>is hard to describe easily, and it also typically involves

0:27:28.640 --> 0:27:33.200
<v Speaker 1>several different machine learning strategies that are somewhat challenging to describe,

0:27:33.200 --> 0:27:36.600
<v Speaker 1>particularly without the benefit of visual aids. But I think

0:27:36.600 --> 0:27:39.520
<v Speaker 1>it's worth diving into, and I think we can do it.

0:27:39.600 --> 0:27:42.480
<v Speaker 1>I think we can at least get an appreciation for

0:27:42.600 --> 0:27:45.920
<v Speaker 1>how these systems are working. If nothing else, it can

0:27:45.960 --> 0:27:49.040
<v Speaker 1>remind us that the magic we're experiencing when we tell

0:27:49.119 --> 0:27:53.760
<v Speaker 1>chat GPT to compose, say a punk rock song about

0:27:53.840 --> 0:27:58.000
<v Speaker 1>the iPhone, well we understand that what we see is

0:27:58.040 --> 0:28:02.359
<v Speaker 1>the result of complex sesses and not you know, some

0:28:02.440 --> 0:28:05.960
<v Speaker 1>sort of mystical event. Now. I say that not to

0:28:06.040 --> 0:28:09.480
<v Speaker 1>take anything away from the phenomenal achievements of the hundreds

0:28:09.480 --> 0:28:12.240
<v Speaker 1>of folks who have worked on natural language processing projects,

0:28:12.640 --> 0:28:14.840
<v Speaker 1>but rather to prevent the rest of us from bringing

0:28:14.920 --> 0:28:19.560
<v Speaker 1>meaning where maybe there is no meaning. We don't want

0:28:19.560 --> 0:28:22.520
<v Speaker 1>to project onto this thing. We don't want to make

0:28:22.600 --> 0:28:26.239
<v Speaker 1>assumptions because that could lead us down pathways where we

0:28:26.320 --> 0:28:32.399
<v Speaker 1>start to trust things that are inherently not totally trustworthy.

0:28:32.520 --> 0:28:35.359
<v Speaker 1>One of the issues we've heard multiple times with chat

0:28:35.400 --> 0:28:39.040
<v Speaker 1>GPT is that it's kind of a black box and

0:28:39.160 --> 0:28:41.240
<v Speaker 1>that you ask a question, it gives you an answer,

0:28:41.280 --> 0:28:44.680
<v Speaker 1>but you don't see the process that chat GPT went

0:28:44.720 --> 0:28:47.800
<v Speaker 1>through in order to understand what you were asking and

0:28:47.800 --> 0:28:51.840
<v Speaker 1>then generate the answer that it gives you. And because

0:28:52.040 --> 0:28:54.959
<v Speaker 1>of that, you can't double check its work right. You

0:28:55.000 --> 0:28:58.560
<v Speaker 1>can't check to see what sources did you pull your

0:28:58.600 --> 0:29:01.840
<v Speaker 1>information from to generate your answer, because the sources may

0:29:01.920 --> 0:29:05.800
<v Speaker 1>or may not be reliable. And chat GPT may be

0:29:05.800 --> 0:29:08.920
<v Speaker 1>in a phenomenal tool, but if it's pulling from unreliable resources,

0:29:08.920 --> 0:29:10.840
<v Speaker 1>while the answer you get is still going to be wrong.

0:29:11.840 --> 0:29:15.000
<v Speaker 1>But because chat GPT doesn't really do that, doesn't really

0:29:15.400 --> 0:29:18.800
<v Speaker 1>show its work. Uh. That's where you start to run

0:29:18.840 --> 0:29:23.160
<v Speaker 1>into these problems. And the more dependence you put upon

0:29:23.280 --> 0:29:26.080
<v Speaker 1>these kinds of systems, the more important it is to

0:29:26.240 --> 0:29:30.120
<v Speaker 1>understand how these systems are actually generating the responses. This

0:29:30.160 --> 0:29:34.240
<v Speaker 1>goes beyond chat bots. Obviously, this applies to AI across

0:29:34.280 --> 0:29:38.800
<v Speaker 1>the board. It's an ongoing issue within AI in general.

0:29:39.120 --> 0:29:43.320
<v Speaker 1>Is this desire to make certain that the results that

0:29:43.400 --> 0:29:46.160
<v Speaker 1>AI generates where whatever it may be. Maybe it's facial

0:29:46.200 --> 0:29:52.400
<v Speaker 1>recognition technology, um, maybe it's a robot deciding how to

0:29:52.480 --> 0:29:55.560
<v Speaker 1>open a door. Being able to see that process and

0:29:55.640 --> 0:29:59.240
<v Speaker 1>understand what steps the system went through in order to

0:29:59.280 --> 0:30:02.120
<v Speaker 1>get to its decision are critical in order to be

0:30:02.200 --> 0:30:06.320
<v Speaker 1>able to uh, to judge how well that's that overall

0:30:06.400 --> 0:30:11.760
<v Speaker 1>system works or doesn't work, or if it's reliable or unreliable. Uh.

0:30:11.880 --> 0:30:15.280
<v Speaker 1>That transparency is absolutely necessary for that sort of thing.

0:30:15.400 --> 0:30:18.640
<v Speaker 1>And frankly, a lot of the systems we encounter today

0:30:18.680 --> 0:30:21.040
<v Speaker 1>have a lack of transparency and that makes it kind

0:30:21.080 --> 0:30:25.040
<v Speaker 1>of scary. However, that being said, I think chat GPT

0:30:25.320 --> 0:30:28.840
<v Speaker 1>is a really really cool project. I do share the

0:30:28.880 --> 0:30:32.600
<v Speaker 1>concerns of people relying upon it to do work that

0:30:32.640 --> 0:30:35.400
<v Speaker 1>they should be doing. Um, I think that's I think

0:30:35.400 --> 0:30:38.640
<v Speaker 1>they're cheating themselves. If you aren't doing the work, then

0:30:38.680 --> 0:30:40.760
<v Speaker 1>you're not learning how to think. Which is the most

0:30:40.760 --> 0:30:44.800
<v Speaker 1>important lesson you can learn in your education is learning

0:30:44.800 --> 0:30:48.320
<v Speaker 1>how to actually think and to think critically, and if

0:30:48.360 --> 0:30:50.840
<v Speaker 1>you deny yourself that, then you just set yourself up

0:30:50.880 --> 0:30:54.240
<v Speaker 1>to be led around by the nose by anyone who

0:30:54.280 --> 0:30:58.840
<v Speaker 1>has a convincing enough story, and that rarely turns out well.

0:30:59.640 --> 0:31:01.760
<v Speaker 1>At least it doesn't turn out well except for the

0:31:01.760 --> 0:31:04.720
<v Speaker 1>person who's doing the leading, and even they tend to

0:31:05.200 --> 0:31:07.680
<v Speaker 1>come to a bad ending once it's all said and done.

0:31:08.520 --> 0:31:12.760
<v Speaker 1>All right, that's it. Hope you enjoyed this tech stuff

0:31:12.800 --> 0:31:16.520
<v Speaker 1>tidbits about natural language processing, specifically within the context of

0:31:16.600 --> 0:31:18.920
<v Speaker 1>chat GPT. Like I said, we'll have to do a

0:31:19.000 --> 0:31:22.680
<v Speaker 1>much deeper dive because this isn't even really scratching the

0:31:22.720 --> 0:31:26.840
<v Speaker 1>surface like that. This is such a deep dense topic

0:31:27.320 --> 0:31:29.400
<v Speaker 1>that we could do a couple of episodes about it

0:31:29.440 --> 0:31:32.920
<v Speaker 1>and really kind of explore it. Uh. I would even

0:31:32.960 --> 0:31:35.800
<v Speaker 1>reach out to experts to have on the show to

0:31:35.880 --> 0:31:38.600
<v Speaker 1>talk with them about it. The only issue there is

0:31:38.640 --> 0:31:43.760
<v Speaker 1>that I would worry very quickly that experts would use

0:31:44.760 --> 0:31:49.000
<v Speaker 1>terminology and jargon that I'm not familiar with, let alone

0:31:49.080 --> 0:31:51.360
<v Speaker 1>some of my listeners, some of y'all are way ahead

0:31:51.360 --> 0:31:53.960
<v Speaker 1>of me on this stuff, and that's awesome. Some of

0:31:54.080 --> 0:31:55.920
<v Speaker 1>you all are probably in the same position that I'm in,

0:31:56.400 --> 0:31:59.320
<v Speaker 1>where you know, you could hear someone spelled off a

0:31:59.320 --> 0:32:01.760
<v Speaker 1>lot of jargon and not know what the heck they

0:32:01.760 --> 0:32:06.280
<v Speaker 1>were saying. Context be darned, it would just not be

0:32:06.920 --> 0:32:12.160
<v Speaker 1>be accessible to you, uh or to me. And so yeah,

0:32:12.280 --> 0:32:13.680
<v Speaker 1>I just got to make sure that if I pick

0:32:13.760 --> 0:32:17.680
<v Speaker 1>someone who is an expert, they're also a great communicator

0:32:17.960 --> 0:32:23.040
<v Speaker 1>for that kind of stuff. Uh. Some engineers are phenomenal communicators,

0:32:23.160 --> 0:32:28.840
<v Speaker 1>and some are phenomenal engineers who can make machines sing,

0:32:29.160 --> 0:32:32.720
<v Speaker 1>but may not be able to uh talk with other

0:32:32.800 --> 0:32:35.520
<v Speaker 1>human beings in a way that the other human beings

0:32:35.520 --> 0:32:38.880
<v Speaker 1>can follow. It's it's more that, you know, I lack

0:32:39.720 --> 0:32:44.000
<v Speaker 1>that experience and understanding to do it confidently and accurately.

0:32:44.320 --> 0:32:47.720
<v Speaker 1>But yeah, we'll do more about natural language processing. I

0:32:47.720 --> 0:32:52.440
<v Speaker 1>didn't even really touch on the spoken language processing stuff,

0:32:52.480 --> 0:32:54.920
<v Speaker 1>you know, like things like speech to text and that

0:32:55.000 --> 0:32:59.600
<v Speaker 1>kind of thing. That stuff is also incredibly complex. It

0:32:59.640 --> 0:33:05.240
<v Speaker 1>adds other layers of complexity upon this system. UM. I

0:33:05.320 --> 0:33:07.360
<v Speaker 1>have talked about those in the past. I've done episodes

0:33:07.400 --> 0:33:09.600
<v Speaker 1>where I've talked a bit about, you know, like things

0:33:09.640 --> 0:33:13.000
<v Speaker 1>like like voice recognition and those sorts of things, and

0:33:13.040 --> 0:33:16.959
<v Speaker 1>speech to text but yeah, that's also important to remember

0:33:17.000 --> 0:33:20.800
<v Speaker 1>that that adds yet another layer. Well that's it. I

0:33:20.880 --> 0:33:24.520
<v Speaker 1>hope you're having a great three so far. I mean

0:33:24.520 --> 0:33:27.400
<v Speaker 1>we're four days into it. I hope things haven't gone

0:33:27.520 --> 0:33:30.840
<v Speaker 1>pear shaped already. And if you have any suggestions for

0:33:30.880 --> 0:33:32.920
<v Speaker 1>topics A should cover in future episodes of tech Stuff,

0:33:32.920 --> 0:33:34.360
<v Speaker 1>there a couple of ways you can reach out to me.

0:33:34.400 --> 0:33:36.800
<v Speaker 1>One of those is to download the iHeart Radio app.

0:33:37.000 --> 0:33:40.080
<v Speaker 1>It is free to download into use. You can go

0:33:40.120 --> 0:33:43.040
<v Speaker 1>to that little searchbar type in tech Stuff. It'll take

0:33:43.080 --> 0:33:45.440
<v Speaker 1>you to our page. You'll see there's a little microphone

0:33:45.560 --> 0:33:48.120
<v Speaker 1>icon there. If you click on that, you can leave

0:33:48.120 --> 0:33:51.760
<v Speaker 1>a voice message up to thirty seconds in lengths say hi,

0:33:52.400 --> 0:33:54.520
<v Speaker 1>tell me kind of what topics you would like to

0:33:54.520 --> 0:33:57.880
<v Speaker 1>hear about more. If you prefer, you can pop on

0:33:57.920 --> 0:34:01.080
<v Speaker 1>over to Twitter and send me a message there. The

0:34:01.080 --> 0:34:04.080
<v Speaker 1>the Twitter handle for the show is tech Stuff H

0:34:04.200 --> 0:34:11.800
<v Speaker 1>s W and I'll talk to you again really soon, y.

0:34:13.360 --> 0:34:16.399
<v Speaker 1>Tech Stuff is an I Heart Radio production. For more

0:34:16.480 --> 0:34:19.839
<v Speaker 1>podcasts from I Heart Radio, visit the i Heart Radio app,

0:34:20.000 --> 0:34:23.160
<v Speaker 1>Apple Podcasts, or wherever you listen to your favorite shows.