数学の解法

数学の問題のタイプと特定の数学の問題に関する詳細なチュートリアルを示す構造化データを追加することで、数学の問題について生徒や教師などをサポートできます。Google 検索の検索結果における数学の解法の表示例を以下に示します(外観は変更される可能性があります)。

数学の解法のリッチリザルトの例

数学の解法の構造化データをユーザーが最大限に活用できるように、ホームページと(可能であれば)特定の数式に関する解法ページの両方をマークアップします。Google は、ホームページ マークアップを使用して、数学の解法に解答手順の詳細な説明が記載されているかどうか、または数学の解法によって幾何学の問題を解くことができるかどうかといった重要な情報を明らかにできます。

ホームページ マークアップを使用すると、数学の解法に関する詳細情報も表示できます。たとえば、数学の解法はユーザーによる一般的な入力を受け入れることが可能ですが、サイトで概略が示されている別個の機能も付与できます。その例として、数学の解法によって多項方程式を解けることを確認したユーザーは、「x^2 - 3x = 0」といった数式に関する数学の解法にクリックして移動できると、より快適に感じる可能性があります。

数学の解法の詳細なプレビューを可能にするには、サーバー側で生成された解法のページ マークアップを特定の問題に追加します。詳細なプレビューにより、数学の解法によって特定の問題を解けることがユーザーに示されます。

構造化データを追加する方法

構造化データは、ページに関する情報を提供し、ページ コンテンツを分類するための標準化されたデータ形式です。構造化データを初めて使用する場合は、構造化データの仕組みについてをご覧ください。

構造化データの作成、テスト、リリースの概要は次のとおりです。ウェブページに構造化データを追加するための手順ガイドについては、構造化データの Codelab をご覧ください。

  1. 必須プロパティを追加します。ページ上の構造化データを配置する場所について詳しくは、JSON-LD 構造化データ: ページでの挿入場所をご覧ください。
  2. ガイドラインを遵守します。
  3. リッチリザルト テストでコードを検証します。
  4. 構造化データが含まれているページを数ページ導入し、URL 検査ツールを使用して、Google でページがどのように表示されるかをテストします。Google がページにアクセスでき、robots.txt ファイル、noindex タグ、またはログイン要件によってページがブロックされていないことを確認します。ページが正常に表示される場合は、Google に URL の再クロールを依頼できます。
  5. 今後の変更について Google への情報提供を続けるには、サイトマップを送信することをおすすめします。これは、Search Console Sitemap API で自動化できます。

1 つの解法操作が掲載されているホームページ

多項方程式と導関数の問題を解くことができる 1 つの解法操作が掲載されている、数学の解法に関するホームページの例を以下に示します。


<html>
<head>
<title>An awesome math solver</title>
</head>
<body>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": ["MathSolver", "LearningResource"],
  "name": "An awesome math solver",
  "url": "https://www.mathdomain.com/",
  "usageInfo": "https://www.mathdomain.com/privacy",
  "potentialAction": [{
    "@type": "SolveMathAction",
    "target": "https://mathdomain.com/solve?q={math_expression_string}",
    "mathExpression-input": "required name=math_expression_string",
    "eduQuestionType": ["Polynomial Equation","Derivative"]
   }],
  "learningResourceType": "Math solver"
}
</script>
</body>
</html>

2 つの解法操作が掲載されているホームページ

以下に、2 つの解法のエンドポイントがある数学の解法に関するホームページの例を示します。一方のエンドポイントで多項方程式を解き、他方のエンドポイントで三角方程式を解くことができます。


<html>
<head>
<title>An awesome math solver</title>
</head>
<body>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": ["MathSolver", "LearningResource"],
  "name": "An awesome math solver",
  "url": "https://www.mathdomain.com/",
  "usageInfo": "https://www.mathdomain.com/privacy",
  "potentialAction": [{
     "@type": "SolveMathAction",
     "target": "https://mathdomain.com/solve?q={math_expression_string}",
     "mathExpression-input": "required name=math_expression_string",
     "eduQuestionType": "Polynomial Equation"
   },
   {
     "@type": "SolveMathAction",
     "target": "https://mathdomain.com/trig?q={math_expression_string}",
     "mathExpression-input": "required name=math_expression_string",
     "eduQuestionType": "Trigonometric Equation"
   }],
  "learningResourceType": "Math solver"
}
</script>
</body>
</html>

解法ページ

以下に、問題に対する 2 つの詳細な解答手順を示した解法ページの例を示します。


<html>
<head>
<title>An awesome math solver</title>
</head>
<body>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": ["MathSolver", "LearningResource"],
  "name": "An awesome math solver",
  "url": "https://www.mathdomain.com/solve?q=x^2-3x=0",
  "usageInfo": "https://www.mathdomain.com/privacy",
  "assesses": "Polynomial Equation",
  "hasPart": {
    "@context": "https://schema.org",
    "@type": "HowTo",
    "url": "https://www.mathdomain.com/solve?q=x^2-3x=0",
    "name": "$$ x^2 -3x = 0 $$",
    "about": {
      "@type": "Thing",
      "name": "$$ x^2 - 3x = 0 $$"
    },
    "yield": "$$ x = 3 \\ x = 0 $$",
    "tool": [
      {
        "@type": "HowToTool",
        "name": "Quadratic Formula"
      },
      {
        "@type": "HowToTool",
        "name": "Common Factoring"
      }
    ],
    "step": [{
      "@type": "HowToSection",
      "name": "Quadratic Formula",
      "position": "1",
      "numberOfItems": "5",
      "itemListElement": [{
          "@type": "HowToStep",
          "position": "1",
          "text": "Use the quadratic formula <br> $$ x=\\frac{-({\\color&#123;#e8710a}{-3}}) \\pm \\sqrt{({\\color&#123;#e8710a}{-3}})^{2}-4 \\cdot {\\color&#123;#c92786}{1}} \\cdot {\\color&#123;#129eaf}{0}}}}{2 \\cdot {\\color&#123;#c92786}{1}}} $$"
        },
        {
          "@type": "HowToStep",
          "position": "2",
          "text": "Simplify the quadratic formula <br> $$ x=\\frac{3 \\pm 3}{2} $$"
        }
      ]
    },
    {
      "@type": "HowToSection",
      "name": "Common factoring",
      "position": "2",
      "numberOfItems": "4",
      "itemListElement": [
        {
          "@type": "HowToStep",
          "position": "1",
          "text": "Use the sum product pattern"
        },
        {
          "@type": "HowToStep",
          "position": "2",
          "text": "Write the equation in factored form <br> $$ (x-3)(x+0)=0 $$"
        }
      ]
    }
  ]
},
  "learningResourceType": "Math solver"
}
</script>
</body>
</html>

ガイドライン

ページを数学の解法のリッチリザルトで表示できるようにするには、以下のガイドラインを遵守する必要があります。

解法ページに関するガイドライン

解法ページ マークアップを使用すると、詳細な解答手順のプレビューが可能になり、サイト上で問題を解けることをユーザーが確信できます。数学の性質上、解法ページをマークアップする場合は追加の要件があります。

  • 解法ページのマークアップは、サーバー側で生成し、初回のページ読み込み後にページに動的に挿入されないようにする必要があります。
  • 解法ページのマークアップは JSON-LD 形式にする必要があります。

構造化データタイプの定義

コンテンツがリッチリザルトとして表示されるようにするには、必須プロパティを含める必要があります。また、推奨プロパティを使用することで構造化データにより多くの情報を追加でき、ユーザー エクスペリエンスを向上させることができます。

MathSolver

MathSolver は、詳細な解答手順を提示し、数学の問題について生徒や教師などを支援するツールです。ホームページと解法ページの両方で MathSolver 構造化データを使用します。

MathSolver の定義の全文は schema.org/MathSolver で確認できます。

必須プロパティ
potentialAction

SolveMathAction

数式の数学的説明(詳細な解答手順やグラフなど)につながるアクション。


{
"@type": "MathSolver",
"potentialAction": [{
  "@type": "SolveMathAction",
  "target": "https://mathdomain.com/solve?q={math_expression_string}",
  "mathExpression-input": "required name=math_expression_string"
  "eduQuestionType": "Polynomial Equation"
  }]
}
potentialAction.mathExpression-input

Text

特定の変数に対して解く、単純化する、または変換することができる数式(x^2-3x=0 など)。これにはさまざまな形式があります(例: LaTeX、Ascii-Math、キーボードで記述できる数式)。

url

URL

MathSolver の URL。

usageInfo

URL

数学の問題の解法に関するサイトのプライバシー ポリシー。


{
  "@type": "MathSolver",
  "usageInfo": "https://www.mathdomain.com/privacy"
}
potentialAction.target

EntryPoint

アクションの URL ターゲット エントリ ポイント。potentialAction.target プロパティは、アクションによって解かれている数式を表す文字列を受け入れます。


{
"@type": "MathSolver",
"potentialAction": [{
  "@type": "SolveMathAction",
  "target": "https://mathdomain.com/solve?q={math_expression_string}"
  }]
}
推奨プロパティ
assesses

問題タイプの定義Text リスト

HowTo を使用して解かれた問題のタイプ。MathSolver マークアップに加えて HowTo マークアップを使用する場合は、assesses プロパティを使用します。


{
  "@type": "MathSolver",
  "assesses": "Polynomial Equation"
}
potentialAction.eduQuestionType

問題タイプの定義Text リスト

potentialAction.target プロパティによって解くことができる問題のタイプ。


{
  "@type": "SolveMathAction",
  "eduQuestionType": "Polynomial Equation"
}

LearningResource

LearningResource は、マークアップのテーマが、生徒や教師などを教育的な学びによって支援するリソースであることを示しています。ホームページと解法ページの両方で LearningResource を使用します。

LearningResource の定義の全文は schema.org/LearningResource で確認できます。

必須プロパティ
learningResourceType

Text

この学習リソースのタイプ。固定値 Math Solver を使用します。


{
  "@type": ["MathSolver", "LearningResource"],
  "learningResourceType": "Math Solver"
}

HowTo

ホームページと解法ページの両方で MathSolver タイプの問題を解くための具体的な手順をマークアップします。MathSolver タイプに HowTo を埋め込む方法の例をご覧ください。

HowTo の定義の全文は schema.org/HowTo で確認できます。

必須プロパティ
about.name

Thing

解かれている、または詳細な解答手順が示されている数学の問題、方程式、または式です。値を数式としてフォーマットします(次の例では、値を $$ で囲んでいます)。詳しくは、HTML 形式の数学の問題 HowTo をエンコードするをご覧ください。


{
  "about": {
    "@type": "Thing",
    "name": "$$ x^2 - 3x = 0 $$"
  }
}
step

HowToSection のリスト

単一のステップ アイテムまたは HowToSection

問題を解くための方法が複数存在する場合は、各方法を HowToSection 要素で表現します。表示された各 tool 要素に、HowToSection 要素も追加します。

一部の問題タイプでは、詳細な解答手順ではなく、プロパティのリストのような形でレスポンスが返される場合があります。たとえば、関数 f(x) = (x - 5)(x + 5) の場合、生徒は、この関数の単純化、y 切片、X 切片、導関数などのプロパティに関心を持つ可能性があります。答えだけでなく、詳細な解答手順とともにレスポンスできるものであることから、単純化に最大限の重点を置くようお願いします。

step.itemListElement

HowToStep のリスト

HowToSection の名前で指定された方法を使用して問題を解く方法を示すステップのリスト。


{
  "@type": "HowToSection",
  "name": "Quadratic Formula",
  "position": "1",
  "itemListElement": []
}
step.itemListElement

HowToStep

HowToStep は、問題を解くために行う必要がある個別の操作を記述します。


{
  "@type": "HowToStep",
  "position": "3",
  "text": "Set each factor equal to zero <br>$$ x - 3 = 0 $$<br>$$ x + 0 = 0 $$"
  ]
}
step.itemListElement.position

Text

HowToStep の相対順序。position プロパティは、問題を解くために各 HowToStep をどのような順序で並べ替える必要があるかを Google が認識する方法です。


{
  "@type": "HowToStep",
  "position": "3",
  "itemListElement": []
}
step.name

Text

問題を解くために使用されている方法。tool 値と同じ値を使用します。


{
  "@type": "HowToSection",
  "name": "Quadratic Formula"
}
step.numberOfItems

Integer

HowToSection で記述されている解答方法のステップの数です。


{
  "@type": "HowToSection",
  "numberOfItems": "6"
}
step.position

Text

HowToSection の相対順序。これは、問題を解く方法が複数存在する場合に有用です。


{
  "@type": "HowToSection",
  "position": "1"
}
tool

HowToTool

数学の問題を解くために使用されている方法。各方法の名前は次のいずれかの値にする必要があります。

  • Quadratic Formula: 二次方程式の解の公式を使用して二次方程式を解きます。
  • Factoring: 項の因数分解とグループ化によって多項方程式を解きます。
  • Completing the Square: 平方完成によって二次方程式を解きます。
  • Graphing: 2 次元以上の平面にさまざまな方程式や式を表示します。
  • Row Reduction: 行列を行内に単純化して階段形を削減します。
  • Solve by Substitution: 代入によって行列または連立方程式の問題を解きます。
  • Solve by Elimination: 消去によって行列または連立方程式の問題を解きます。
  • Cramer's Rule: クラメルの公式を使用して行列または連立方程式の問題を解きます。

{
  "tool": [
    {
      "@type": "HowToTool",
      "name": "Quadratic Formula"
    },
    {
      "@type": "HowToTool",
      "name": "Common Factoring"
    }
  ]
}
url

URL

数学の問題の解法やチュートリアルを掲載したページの URL。

yield

Text

数学の問題の解答。解答が数式の場合は、値を数学としてフォーマットします。詳しくは、HTML 形式の数学の問題 HowTo をエンコードするをご覧ください。


{
  "yield": "$$ x = 0 \\ x = 3 $$",
}

問題タイプの定義

MathSolver が特定の数学の問題について詳細に説明する HowTo に付属する場合は、MathSolver.potentialActioneduQuestionType、または MathSolverassesses フィールドとして次の問題タイプのリストを使用します。

問題のタイプの例(すべてを網羅したリストではありません)
Absolute Value Equation

絶対値の方程式。例: |x - 5| = 9

Algebra

他の問題タイプと並列して配置できるメタタイプの問題。例: 多項方程式、指数方程式、無理式。

Arc Length

弧長の問題。例: x = 4 (3 + y)^2、1 < y < 4 の長さを求める。

Biquadratic Equation

複二次方程式。例: x^4 - x^2 - 2 = 0。

Calculus

他の問題タイプと並列して配置できるメタタイプの問題。例: 積分、導関数、微分方程式。

Characteristic Polynomial

{{1,2,5}, {3,-1,1}, {1,2,3}} の特性多項式を求める。

Circle

円に関連する問題。例: x^2 + y^2 = 3 の半径を求める。

Derivative

5x^4 + 2x^3 + 4x - 2 の導関数。

Differential Equation

微分方程式の問題。例: y+dy/dx=5x。

Distance

距離の問題。例: (6,-1) と (-3,2) 間の距離を求める。

Ellipse

楕円の問題。例: 9x^2 + 4y^2 = 36 の x 切片と y 切片を求める。

Exponential Equation

指数方程式。例: 7^x = 9。

Function

多項式の単純化。例: (x-5)^2 * (x+5)^2。

Function Composition

f(x)=x^2-2x、g(x)=2x-2 の場合の f(g(x))

Geometry

他の問題タイプと並列して配置できるメタタイプの問題。例: 円、楕円、放物線、傾き。

Hyperbola

双曲線の問題。例: (x^2)/4 - (y^2)/5 = 1 の x 切片を求める。

Inflection Point

f(x) = 1/2x^4 +x^3 - 6x^2 の変曲点を求める。

Integral

sqrt (x^2 - y^2) の積分。

Intercept

直線の切片の問題。例: 直線 y = 10x - 5 の x 切片を求める。

Line Equation

直線の方程式の問題。例: 点 (-7,-4) と (-2,-6) の直線の方程式を求める。

Linear Algebra

他の問題タイプと並列して配置できるメタタイプの問題。例: 行列と特性多項式。

Linear Equation

一次方程式。例: 4x - 3 = 2x + 9。

Linear Inequality

一次不等式。例: 5x - 6 > 3x - 8。

Logarithmic Equation

対数方程式。例: log(x) = log(100)。

Logarithmic Inequality

対数不等式。例: log(x) > log(100)。

Matrix

{{1,2,5}, {3,-1,1}, {1,2,3}} 行の削減

Midpoint

中点の問題。例: (-3, 7) と (5, -2) の間の中点を求める。

Parabola

放物線の問題。例: y2 - 4x - 4y = 0 の頂点を求める。

Parallel

平行線の問題。例: 2 つの直線 (y = 10x + 5, y = 20x + 10) は平行ですか。

Perpendicular

垂線の問題。例: 2 つの直線 (y = 10x + 5, y = 20x + 10) は直角に交わっていますか。

Polynomial Equation

多項方程式。例: x^5 - 3x = 0。

Polynomial Expression

多項式。例: (x - 5)^4 * (x + 5)^2。

Polynomial Inequality

多項不等式。例: x^4 - x^2 - 6 > x^3 - 3x^2。

Quadratic Equation

二次方程式。例: x^2 - 3x - 4 = 0。

Quadratic Expression

二次式。例: x^2 - 3x - 2。

Quadratic Inequality

二次不等式。例: x^2 - x - 6 > x^2 - 3x。

Radical Equation

無理方程式。例: sqrt(x) - x = 0。

Radical Inequality

無理不等式。例: sqrt(x) - x > 0。

Rational Equation

有理方程式。例: 5/(x - 3) = 2/(x - 1)。

Rational Expression

有理式。例: 1/(x^3 + 4x^2 + 5x + 2)。

Rational Inequality

有理不等式。例: 5/(x - 3) > 2/(x - 1)。

Slope

傾きの問題。例: y = 10x + 5 の傾きを求める。

Trigonometry

sin(t) + cos(t) = 1 を解く。

HTML 形式の数学の問題 HowTo をエンコードする

Google 検索では、MathSolver タイプの追加データを含む HowTo 構造化データをエンコードする際に、HTML をサポートしています。構成要素は、次に制限されます。

  • 太字
  • LaTex での数式
  • ヘッダー
  • 斜体
  • 改行
  • リスト(順序ありと順序なし)
  • 段落

CSS と JavaScript は無視されます。その他の構成はすべて無視され、書式なしテキストとして表示されます。

形式の指定方法

使用するエンコード形式を指定するには、encodingFormat プロパティを使用し、HTML の場合は値を "text/html" に設定します。

数式

LaTex 形式の数式がサポートされています。$$ を使用して、テキスト内で数式を適切にレンダリングします。

"<p>You can solve $$ x^2 - 25x = 0 $$ by factoring. <br>$$ (x-5)(x+5) $$</p>"