関係節・条件・論理語|英語の基礎から技術文へ
このページはプロモーション(広告)を含みます。
英語の基礎から技術文へ(中級・読む30分+演習30分)
この授業のゴール
- 関係節(which・that・who)がどの名詞を説明しているかを示し、カンマの有無で対象が「一部」か「全部」かを判断できる
- if・unless・only if・when・as long as の条件を、満たす場合と満たさない場合に分けて説明できる
- however・therefore・because・although などの論理語から、文と文の関係(逆接・結論・理由・譲歩)を判断し、主張の中心を特定できる
- 日本語の規則を、if / unless と関係節を使った英文で書ける
仕事でどう使うか
技術文の「条件」は、関係節と if / unless の中に入っています。条件を落として訳すと、一部の場合だけの話がいつでもの話になります。また、論理語(however など)を読み落とすと、文書の主張が逆になります。
| 路線 | この授業の使いどころ |
|---|---|
| DS(データサイエンティスト) | "Rows that have no customer ID are removed." を読み、削除されるのはIDのない行だけであることを前処理の仕様に書く |
| ML(機械学習エンジニア) | "The model is retrained only if the accuracy drops below 90%." から、再学習の条件を監視の設定に落とす |
| DX(DX推進・AI企画) | 契約の "unless the customer cancels in writing" を「書面で解約しない限り」と読み、自動更新の条件を把握する |
| RS(研究者) | "Although the method is fast, it requires labeled data." の主張の中心が後半(ラベル付きデータが必要)にあると読み取る |
この授業では、長い文を「中心の文」と「条件・説明・つなぎ」に分ける方法を学びます。技術文を区切って読む で技術文を区切って読むための、最後の部品です。
前提
- 文の主語・動詞・語順(主語・動詞)、時制・否定・疑問(否定)、名詞・修飾・比較(名詞と後ろからの修飾)、助動詞・受動態(受動態)を使います。
- この授業には、条件を Python の if 文に置き換えて確かめる、実行できるコードがあります。プログラミングに慣れていなくても、
True(真:条件を満たす)とFalse(偽:満たさない)が表示されることだけ分かれば十分です。 - 聴解の音声ブロックもあります。音声が使えない端末では台本を読んで答えてください。
身近な状況:カンマ1つで、消える行の数が変わる
ある分析担当者が、自作の前処理の仕様を2つの版で受け取りました。
(A) The rows that contain missing values are removed.
(B) The rows, which contain missing values, are removed.
どちらも「欠損値を含む行は削除される」と訳したくなりますが、意味が違います。
| 版 | 形 | 意味 | 削除される行 |
|---|---|---|---|
| (A) | カンマなし(that) | 欠損値を含む行だけが削除される | 一部 |
| (B) | カンマあり(, which) | それらの行は削除される。ちなみにそれらの行は欠損値を含んでいる | 話題にしている行全部 |
(A) の that 以下は、どの行かを絞り込む説明です。(B) の which 以下は、すでに特定されている行に補足をつけているだけです。(B) で「欠損のある行だけ」と読むと、残るはずのない行が残る前提で集計を進めてしまいます。
条件の語でも同じことが起きます。
The job runs unless the input file is empty.
unless は「〜でない限り」=「if ... not」です。「入力ファイルが空でない限り、ジョブは実行される」。空なら実行されません。unless を if と読むと、「空のときに実行される」と正反対になります。
直感的な説明:長い文は「骨組み」と「付属品」に分ける
長い英文は、次の3種類の部品からできています。
- 骨組み:主語+動詞(+目的語)。文の中心の主張。
- 説明の付属品:名詞を後ろから説明する関係節(that / which / who ...)。
- 条件・つなぎの付属品:if / unless / when などの条件と、however / therefore / because などの論理語。
読むときは、付属品をいったん( )でくくり、骨組みを先に訳します。
The script (that we use for the monthly report) stops (if the database is not available).
骨組み:The script stops.(そのスクリプトは止まる)
説明:that we use for the monthly report(私たちが月次報告に使う[スクリプト])
条件:if the database is not available(データベースが利用できない場合)
組み立てると「月次報告に使っているスクリプトは、データベースが利用できない場合に止まる」。骨組みだけ読むと「スクリプトは止まる」で、いつも止まるように読めてしまいます。条件の付属品を落とさないことが、この授業の中心です。
論理語は、文と文の間の道路標識です。However(しかし)が来たら、その後ろに書き手の言いたいことがあることが多い、Therefore(したがって)が来たら結論が来る、と予測しながら読みます。
正確な定義:関係節・条件・論理語
関係節:名詞の後ろに置いて、その名詞を説明する「主語+動詞」を含むかたまりです。
| 関係詞 | 説明する名詞 | 自作の例文 | 訳 |
|---|---|---|---|
| who | 人 | Users who forget their password can reset it. | パスワードを忘れた利用者は、それを再設定できる |
| which | もの | The file which the tool creates is temporary. | ツールが作るファイルは一時的なものだ |
| that | 人・もの | Values that are out of range are ignored. | 範囲外の値は無視される |
| (省略) | もの | The table we created yesterday has 300 rows. | 私たちが昨日作った表には300行ある |
関係詞が目的語の役割のとき(the file which the tool creates のように、関係節の中で creates の目的語になっているとき)は、関係詞を省略できます。名詞の直後に「主語+動詞」が続いていたら、関係詞が省略された関係節を疑います。
制限用法と非制限用法:
- 制限用法(カンマなし):どの名詞かを絞り込む。「〜する○○だけ」。
- 非制限用法(カンマあり、which / who):すでに特定された名詞に情報を足す。「○○、それは〜」。that は非制限用法では使いません。
条件を表す語:
| 語 | 意味 | 論理(Aのとき結果B) |
|---|---|---|
| if A, B | AならばB | Aが真ならB |
| unless A, B | Aでない限りB | Aが偽ならB(= if not A) |
| only if A, B | Aの場合に限りB | Aが偽ならBは起きない |
| when A, B | Aのとき(Aになったら)B | 起きることが前提の条件 |
| as long as A, B | Aである限りB | Aが続く間B |
| otherwise | そうでなければ | 直前の条件が偽の場合 |
論理語(文と文の関係):
| 関係 | 語 | 意味 |
|---|---|---|
| 逆接 | however, but | しかし(後ろが主張の中心のことが多い) |
| 譲歩 | although, though, even if | 〜ではあるが・〜だとしても |
| 理由 | because, since | 〜なので |
| 結論 | therefore, thus, as a result | したがって・その結果 |
| 追加 | in addition, also, moreover | さらに |
| 対比 | whereas, while, in contrast | 一方 |
| 例示 | for example, such as | たとえば・〜のような |
| 代替 | instead | その代わりに |
| 言い換え | in other words, that is | つまり・言い換えると |
段階付き例題:条件の入った仕様を、場合分けの表にする
自作のデータ取り込みツールの説明を読みます。
The tool imports every file that is placed in the input folder. Files are skipped if their names start with a dot. Duplicate rows are removed unless the keep option is set to true. However, the tool does not check whether the values are correct.
ステップ1:骨組みと付属品に分ける。
| 文 | 骨組み | 付属品 |
|---|---|---|
| 1 | The tool imports every file | that is placed in the input folder(関係節・制限用法) |
| 2 | Files are skipped | if their names start with a dot(条件) |
| 3 | Duplicate rows are removed | unless the keep option is set to true(条件:if not) |
| 4 | the tool does not check | However(逆接)、whether the values are correct(〜かどうか) |
ステップ2:和訳する。ツールは、入力フォルダに置かれたすべてのファイルを取り込む。名前がドット(.)で始まるファイルは読み飛ばされる。keep オプションが true に設定されていない限り、重複した行は削除される。しかし、ツールは値が正しいかどうかは確認しない。
ステップ3:場合分けの表にする(出力)。
| 状況 | 結果 |
|---|---|
| 入力フォルダの外にあるファイル | 取り込まれない(関係節で絞り込まれている) |
| 名前が .tmp_data.csv のファイル | 読み飛ばされる |
| keep が false(または未設定)で重複あり | 重複行は削除される |
| keep が true で重複あり | 重複行は残る |
| 値が誤っている行 | そのまま取り込まれる |
ステップ4:意味。However 以下が、利用者にとって最も重要な情報です。「値の検査はされない」ので、取り込み後に自分で範囲や欠損を確認する手順が必要です。
操作して理解する:英語の条件を if 文に置き換える
英語の条件は、プログラムの if 文に置き換えると、満たす・満たさないの両方を確かめられます。次のコードは、例題の3文目 "Duplicate rows are removed unless the keep option is set to true." を関数にしたものです。
def removes_duplicates(keep):
# unless A は if not A と同じ
return not keep
def runs_job(file_is_empty):
# "The job runs unless the input file is empty."
return not file_is_empty
def retrains(accuracy):
# "The model is retrained only if the accuracy drops below 0.90."
return accuracy < 0.90
print("keep=True ->", removes_duplicates(True))
print("keep=False ->", removes_duplicates(False))
print("空のファイル ->", runs_job(True))
print("空でないファイル ->", runs_job(False))
for acc in [0.95, 0.90, 0.85]:
print("accuracy", acc, "-> 再学習:", retrains(acc))
出力:
keep=True -> False
keep=False -> True
空のファイル -> False
空でないファイル -> True
accuracy 0.95 -> 再学習: False
accuracy 0.9 -> 再学習: False
accuracy 0.85 -> 再学習: True
試すこと:
retrainsの<を<=に変えると、精度がちょうど0.90のときの結果が変わります。drops below(〜を下回る)は境界を含まないので<が正しい書き換えです(名詞・修飾・比較の境界)。removes_duplicatesをreturn keepに書き換えると、unless を if と読んだ誤りを再現できます。
次の音声を聞き、However の前と後のどちらが書き手の主張の中心かを考えてください。
The new model is about twice as fast as the old one. However, it needs much more memory, so it cannot run on our current laptops.
答え:中心は However の後ろです。「新しいモデルは約2倍速いが、ずっと多くのメモリを必要とするので、今のノートパソコンでは動かせない」。so(だから)が結論を導いています。
発展:条件の論理と、論理語の細かい違い
if と only if:If the test passes, the code is deployed.(テストが通れば、コードは配備される)は、テストが通らなかった場合について何も言っていません。The code is deployed only if the test passes.(テストが通る場合に限り配備される)なら、通らなければ配備されないことまで言っています。仕様書では「if」だけの文から「満たさないときは起きない」と決めつけないよう注意します。
unless と if not のわずかな違い:多くの場合は同じ意味ですが、unless は「例外的な場合を除いて」という感じが強く、Unless otherwise noted(特に断りがない限り)のような決まった言い方があります。
although と however:Although A, B. は1文の中で「Aではあるが、B」。A. However, B. は2文に分かれます。どちらも B が主張の中心です。
while の二義性:While the job is running, do not close the window.(ジョブの実行中は、ウィンドウを閉じないこと)は「〜の間」、While model A is fast, model B is accurate.(モデルAは速い一方、モデルBは正確だ)は対比です。
because と therefore の向き:A because B は「Bが理由でA」、A. Therefore, B. は「Aが理由でB」。原因と結果の向きが逆です。ただし、because や therefore と書いてあっても、それが因果関係の証明になっているとは限りません。書き手の主張として読み、根拠のデータがあるかを確認します。
よくある失敗
失敗1:unless を if と読んで、条件を逆にする
原文:The subscription renews automatically unless you cancel it before the end of the month.
誤った訳:「月末までに解約すれば、契約は自動で更新される」
なぜ誤りか:unless は「〜でない限り」= if not です。解約しない場合に更新されます。
正しい訳:「月末までに解約しない限り、契約(subscription:定期利用契約)は自動で更新される」。
確かめ方:条件を満たす場合と満たさない場合の2行の表を作ります。「解約した → 更新されない」「解約しない → 更新される」。誤訳のままだと、解約したのに更新されると誤解し、逆に何もしなければ止まると思い込んで費用が発生します。
失敗2:関係節の対象を取り違える
原文:The report lists the customers of the stores that closed last year.
誤った訳:「報告書は、昨年解約した顧客の店舗を一覧にしている」
なぜ誤りか:that closed last year が説明しているのは、直前の the stores(店舗)です。閉じた(closed)のは店舗で、顧客ではありません。
正しい訳:「報告書は、昨年閉店した店舗の顧客を一覧にしている」。
直し方:関係節が説明する名詞は、ふつうは直前の名詞です。関係節の動詞(closed)の主語として意味が通るかを確かめます(店舗が閉店する→通る)。それでも決まらないときは、単数・複数と動詞の形(that close / that closes)も手がかりにします。
失敗3:However の後ろを落として、主張を逆に伝える
原文:The new pipeline reduces processing time by 40%. However, it produced incorrect totals in two of ten test runs.
誤った要約:「新しいパイプライン(データ処理の一連の流れ)は処理時間を40%減らす。導入すべきだ」
なぜ誤りか:However 以下に、10回のテストのうち2回で合計値が誤っていたという重大な問題があります。書き手はこの問題を伝えたいのです。
正しい要約:「処理時間は40%短くなるが、10回中2回のテストで合計値が誤っていた(20%の実行で誤り)。誤りの原因が分かるまで導入は判断できない」。
直し方:However・but・although を見たら、その前後を両方とも要約に入れます。片方だけを選ぶと、文書の主張が変わります。
まとめ
- 長い文は骨組み(主語+動詞)と付属品(関係節・条件・論理語)に分け、付属品を落とさずに組み立てる。
- 関係節はふつう直前の名詞を説明する。カンマなしは絞り込み(一部)、カンマありは補足(全部)。
- unless A は if not A。only if は「満たさなければ起きない」まで言う。満たす・満たさないの2つの場合で確かめる。
- However・although の後ろは主張の中心になりやすい。要約では前後の両方を入れる。
- because・therefore は書き手が示す理由と結論の向きであり、因果の証明とは限らない。
用語
- 関係節(relative clause)
名詞の後ろに置き、その名詞を説明する「主語+動詞」を含むかたまり。who、which、that などで始まる(省略もある)。
- 制限用法・非制限用法(restrictive / non-restrictive)
関係節で、名詞を絞り込む用法(カンマなし)と、情報を補足するだけの用法(カンマあり)。
- 論理語(connective / discourse marker)
however、therefore、because など、文と文の関係(逆接・結論・理由など)を示す語。
- 譲歩(concession)
although などで、相手の考えや不利な事実をいったん認めてから自分の主張を述べる関係。
よくある質問
なぜカンマの有無で意味が変わるのですか?
カンマなしの関係節は「どれのことか」を絞り込み、カンマありの関係節は、すでに特定されたものに補足をつけるからです。仕様書では、削除や更新の対象が「一部」か「全部」かを分けるので、カンマを読み落とさないようにします。
unless の文がいつも分かりにくいです。
unless A を if not A に置き換え、満たす場合と満たさない場合の2行の表を作ると確実です。プログラムが書ける人は、この授業のように if 文に書き直して True / False を確かめるのも有効です。
関係節がどの名詞を説明しているか、決まらないときは?
まず直前の名詞を候補にし、関係節の動詞の主語として意味が通るかを確かめます。次に、動詞の -s の有無で単数・複数を照合します。それでも決まらないときは、前後の文や表で確認し、推測で訳さないようにします。
However の前の内容は重要ではないのですか?
重要です。However の後ろが主張の中心であることが多いだけで、前の内容は「認めている事実」です。要約では両方を入れ、「〜だが、〜」の形にすると、書き手の判断を正しく伝えられます。
if と when はどう違いますか?
if は起きるかどうか分からない条件(〜ならば)、when は起きることが前提の時点(〜のとき、〜したら)に使うことが多いです。When the job finishes, ... はジョブが終わることを前提にしています。
仕事で条件つきの英文を書くときのコツは?
1文に条件を1つだけ入れ、境界の数値(more than、at least など)を明示します。条件が複数あるときは箇条書きにし、unless と not を同じ文で重ねないようにすると、読み手が論理を取り違えにくくなります。
確認問題
問1 The backup runs every night unless the server is in maintenance mode. の意味として正しいものはどれか。
- ① サーバーが保守モードでない限り、毎晩バックアップが実行される
- ② サーバーが保守モードのときだけ、毎晩バックアップが実行される
- ③ サーバーが保守モードかどうかに関係なく、バックアップは実行されない
- ④ バックアップが実行されると、サーバーは保守モードになる
解答と解説
正解:①
unless は「〜でない限り」(if not)です。保守モードのときは実行されません。
問2 The files, which are older than 30 days, are deleted. の意味として最も適切なものはどれか。
- ① 30日より古いファイルだけが削除される(新しいものは残る)
- ② ファイルは30日後に削除されるかもしれない
- ③ 30日より古いファイルは削除されない
- ④ 話題のファイルはすべて削除される。それらはどれも30日より古い
解答と解説
正解:④
カンマのある which は非制限用法で、ファイルを絞り込まず、情報を補足しているだけです。
問3 Although the dataset is small, the results are consistent across all five runs. の主張の中心として最も適切なものはどれか。
- ① データセットが小さいこと
- ② 5回の実行すべてで結果が一貫していること
- ③ データセットを大きくすべきこと
- ④ 結果が実行ごとに大きく異なること
解答と解説
正解:②
Although A, B. では、A を認めたうえで B を主張します。主張の中心は後半です。
問4 The report lists the employees of the teams that use the new tool. で、新しいツールを使っているのは何か。
- ① チーム
- ② 従業員
- ③ 報告書
- ④ 新しいツール自身
解答と解説
正解:①
関係節 that use the new tool は、直前の the teams を説明しています。use(-s なし)も複数の teams と合います。
問5 The model is retrained only if new labels are added. について正しいものはどれか。
- ① 新しいラベルが追加されなくても再学習されることがある
- ② 新しいラベルが追加されると、モデルは削除される
- ③ 新しいラベルが追加されない場合、再学習されない
- ④ 再学習すると、新しいラベルが追加される
解答と解説
正解:③
only if は「〜の場合に限り」で、条件を満たさなければ結果は起きないことまで言っています。
問6 The API is free for small projects. Therefore, many students use it. の Therefore が示す関係はどれか。
- ① 逆接(しかし)
- ② 結論・結果(したがって)
- ③ 例示(たとえば)
- ④ 譲歩(〜ではあるが)
解答と解説
正解:②
Therefore は、前の文を理由として結論・結果を導く語です。
次に学ぶこと
次は 技術文を区切って読む で、ここまでの部品(主語・動詞、時制・否定、修飾・比較、助動詞・受動態、関係節・条件・論理語)をすべて使い、技術文を区切って読む手順をまとめます。
条件や例外は、API文書の 「例と前提」(有料版)(例と前提)や論文の 「手法と仮定」(有料版)(手法と仮定)でも中心になります。この授業の確認問題だけでモジュールの習得とはしません。
キャリア学習:データサイエンティスト・機械学習エンジニア・DX推進・研究者を目指す人の学習アプリ。164モジュール・984授業を、ブラウザで動くSQLとPythonの演習で。基礎と各分野の最初のモジュールは無料。全部は2,980円の買い切り。
アプリを無料で開く有料版と無料版の違い