クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

AIとは何か、何ではないか

このレッスンのあとで: AIとは何か、何ではないかを説明できる。

45分のレッスンコマンドなし

次の言葉を当てるスマホ

人工知能(AI)は、たくさんの例から型を見つけて、それを使って予想するプログラムです。スマホがメッセージの次の言葉を出してくれるのも、AIのしくみです。

AIは、毎日使うアプリの中にあります。AIが何で、何ではないかを知ると、上手に使えます。

このレッスンのゴール

メモ

AIとは何か、何ではないかを説明できる。

キーワード

ことばいみ
AI例の中の型から予想するプログラム
型(パターン)何度もくり返し起こること
例プログラムが学ぶ、データの1つ
学習プログラムにたくさんの例を見せること
予想当たることも外れることもある答え

学生が入力するセルは、このプレビューでは空白です。

AIは型を見つけて予想する

ふつうのプログラムは、人が書いたルールにしたがいます。AIのプログラムは、そのかわりに何千もの例を見せられます。これを学習といいます。プログラムは例から型を見つけ、それを使って予想します。

迷惑メールのフィルターも、その1つです。「迷惑」か「ふつう」かの印が付いたメッセージを、たくさん見ています。新しいメッセージがどちらかを予想します。

動かせる小さな型さがし

下のプログラムには、人が印を付けたメッセージが4つあります。新しいメッセージと同じ言葉が、それぞれに何個あるかを数えます。同じ言葉が多いほうが勝ちです。日本語はふつうスペースで区切りませんが、ここでは数えやすいように、言葉の間にスペースを入れます。

Run を押しましょう。次に、最後の行のメッセージを自分で考えたものに変えて、もう一度動かします。

迷惑か、ふつうかを予想する

コード: python
# 人が印を付けたメッセージ。言葉の間にスペースを入れて書きます。
examples = [
    ["今すぐ 無料 で スマホ が 当たる", "迷惑"],
    ["無料 の 景品 を 今すぐ クリック", "迷惑"],
    ["今夜 サッカー の 練習 に 来る", "ふつう"],
    ["バス停 で 待って いる ね", "ふつう"],
]

def guess(message):
    junk = 0
    ok = 0
    for example in examples:
        for word in message.split():
            if word in example[0].split():
                if example[1] == "迷惑":
                    junk = junk + 1
                else:
                    ok = ok + 1
    if junk > ok:
        return "迷惑"
    if ok > junk:
        return "ふつう"
    return "わからない"

print(guess("無料 スマホ"))
print(guess("今夜 サッカー"))
print(guess("こんにちは みんな"))

例が1つ増えると予想が変わる

型さがしのプログラムは、自分の例しか知りません。例を1つ足すと、予想が変わることがあります。

下では、スマホについての「ふつう」のメッセージを1つ足しました。Run を押しましょう。最初の Run では、スマホのメッセージは「迷惑」と予想されていました。

例をもう1つ足す

コード: python
examples = [
    ["今すぐ 無料 で スマホ が 当たる", "迷惑"],
    ["無料 の 景品 を 今すぐ クリック", "迷惑"],
    ["今夜 サッカー の 練習 に 来る", "ふつう"],
    ["バス停 で 待って いる ね", "ふつう"],
    # 新しく足した例。
    ["新しい スマホ 最高", "ふつう"],
]

def guess(message):
    junk = 0
    ok = 0
    for example in examples:
        for word in message.split():
            if word in example[0].split():
                if example[1] == "迷惑":
                    junk = junk + 1
                else:
                    ok = ok + 1
    if junk > ok:
        return "迷惑"
    if ok > junk:
        return "ふつう"
    return "わからない"

print(guess("新しい スマホ"))

AIではないもの

AIは人ではありません。気持ちも意見もなく、何が本当かもわかりません。あなたと同じようにメッセージをわかっているわけではありません。

AIのよさは、例のよさで決まります。まちがった例からは、まちがった予想が出ます。かたよった例からは、かたよった予想が出ます。

例: AIに出会う場所

場所予想するもの
スマホのキーボード次に打つ言葉
音楽アプリ気に入りそうな曲
地図アプリバスが着くまでの時間
迷惑メールのフィルターメッセージが迷惑かどうか
チャットボット返事の言葉
ネットのお店次に買いそうなもの

学生が入力するセルは、このプレビューでは空白です。

よくある間違い

注意

AIは人と同じように自分をわかってくれる、と考える人が多いです。そうではありません。AIは例の型に合わせているだけなので、かしこそうに見えても、かんたんなことをまちがえます。

さらに挑戦: 例がかたよっていたら

Run の例では、迷惑メールの2つが、どちらも景品とスマホの話です。だから、新しいスマホについての本当のメッセージも、迷惑と予想されるかもしれません。

リストに例を2つ足しましょう。迷惑を1つ、ふつうを1つです。どんな新しいメッセージを、前よりうまく予想できるようになりましたか。

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。