手書き式認識 (iHFR)
I. 概要
iHandify 手書き式認識(iHFR: iHandify Handwriting Formula Recognition)サービスは、手書きの理科式・数学式を認識し、構造化された形式へ変換するために設計された REST API 群です。
多くの科学的表現は、通常のデジタルテキストでは正確に表現することができません。そのため、本サービスは認識結果を LaTeX 形式で返し、複雑な数式や科学表記の正確なエンコード、レンダリング、および後続処理を可能にします。
II. LaTeX 出力フォーマット
LaTeX は、科学技術文書の作成に広く使用されている組版システムです。
複雑な数式、積分、化学式、物理表現などを標準化された形式で表現することができます。
iHFR サービスは、認識された数式を LaTeX 文字列として出力し、MathJax、KaTeX、または標準的な LaTeX コンパイラなどの LaTeX 対応ツールを用いて直接レンダリングすることが可能です。
式の例
| LaTeX式 | レンダリング結果 |
|---|---|
| a ^ 2 + b ^ 2 \geq 2 a b | |
| \frac { - b \pm \sqrt } | |
| \int ^ { \infty } _ x dx | |
| Cu Cl _ \rightarrow Cl _ + Cu |
LaTeXの書式設定ルール
LaTeXは原則として空白(スペース)を無視しますが、iHFRでは出力結果の可読性を高め、かつ後続の処理を容易にするため、一貫したスペーシング・ルールを適用しています。
例えば、LaTeXにおいて以下の数式表現は数学的に等価(同じ意味)です。
- a^2 + b^2 ≥ 2ab
- a^2 + b^2 ≥ 2ab
本サービスは、適切な箇所に明示的なスペースを挿入して出力を正規化します。これにより、可読性が高く、**diff(差分比較)**や後続の処理が行いやすいLaTeXを生成します。
III. 対応分野
iHFR は、以下の3つの主要な科学分野に対応しています。
- 数学
- 化学
- 物理
各分野はそれぞれ固有の記号体系、意味規則、および解釈上の制約を持っています。
これらの違いに対応するため、各分野ごとに専用の認識モデルが学習・提供されています。
分野別の解釈例
同じ手書き入力であっても、対象とする分野のコンテキスト(文脈)によって解釈が異なる場合があります。
- 数学では、 は通常、2つの変数 と の積()として解釈されます。
- 物理では、 は圧力の単位である「パスカル」として解釈される可能性が高くなります。
対象分野を明示的に指定することで、認識モデルは記号の曖昧さを排除し、適切な意味解釈ルールを適用できます。
分野別仕様
各分野には、それぞれ専用の設定オプションやドメイン固有の挙動が用意されています。
詳細については、対象分野ごとのドキュメントを参照してください。
主に以下の内容が記載されています。
- 対応している記号および演算子
- 分野特有の制約条件
- リクエストおよびレスポンスの仕様
- 認識例およびエッジケース
IV. APIの利用方法
iHFRでは、手書きの理科式・数学式を認識するサービスを提供しています。
現在、以下の3つの分野をサポートしています。
- 数学
- 化学
- 物理
本サービスは、画像入力とデジタルインク入力の両方に対応しています。サポートされている入力形式の詳細については、入力データの種類を参照してください。
APIにアクセスするには、有効な Scoped Public APIキー が必要です。Scoped Public APIキーは、サブスクリプションページで確認できる Secret APIキー を使用して生成できます。各 Scoped Public APIキーは、サブスクリプションプランに基づいて特定のAPIへのアクセス権を付与します。 APIキーの生成および使用方法の詳細については、認証のドキュメントをご参照ください。
1. リクエスト
https://api.ihandify.com/v1/ihfr/recognize/{type}/{subject}
このエンドポイントは、入力タイプおよび科学分野を指定するためにパスパラメータを必要とします。以下にリクエストパラメータの概要を示します。
| パラメータ | 説明 | 任意 | 値 | デフォルト値 | 備考 |
|---|---|---|---|---|---|
| type | 入力データの種類を指定します。 | ink image |
指定された input の形式と一致している必要があります。 | ||
| subject | 入力の科学分野を指定します。 | math chemistry physics |
無効な値が指定された場合、400 エラーが返されます。 | ||
| input | 処理対象の入力データ。 | デジタルインク形式](introduction#1-デジタルインク形式) または 画像形式 を参照してください。 | application/json の場合、画像はBase64エンコードが必要です。 multipart/form-data の場合、画像はバイナリデータとして送信してください。 |
||
| grade | 数学コンテンツの学習レベルを指定します。 | ✓ | hs jhs ps jp |
hs | 高校(hs)、中学校(jhs)、小学校(ps)、および日本独自単位(jp)を表します。詳細は Grade を参照してください。 |
| targetFilters | フィルターIDを使用して認識対象の記号セットを定義します。 | ✓ | フィルタ を参照(カンマ区切り)。 | 0 | |
| targetSymbols | 認識対象に追加するカスタム記号を指定します。 | ✓ | スペース区切りの記号 | targetSymbols と targetFilters のいずれも指定されない場合、結果は空になります。 | |
| documentType | 入力データの構造を指定します。 | ✓ | expression symbol |
expression | chemistry では symbol タイプはサポートされていません。 |
| candidateNum | 返却する候補結果の数を指定します。 | ✓ | 正の整数 | 1 | 値を大きくすると処理時間が増加する可能性があります。 |
リクエストサンプル
以下に、両方の入力形式に対応したcurlによるリクエスト例を示します。
Note: サンプルで使用されているAPIキーはデモ用です。実際にリクエストを送信する際は、ご自身のAPIキーに置き換えてください。
デジタルインク入力
curl -X POST https://api.ihandify.com/v1/ihfr/recognize \
-H "x-api-key: spk_cde88bc3267e3378677404121856330a4feb345c7712e04587cbaa2d9769583a" \
-F "input=[[[648,79],[647,78],[646,78],[645,78],[645,77],[644,77],[644,76],[643,75],[642,75],[642,74],[641,74],[640,74],[639,74],[638,74],[636,74],[635,74],[634,74],[633,74],[631,75],[629,75],[628,76],[626,77],[624,77],[622,78],[620,79],[618,81],[616,82],[615,84],[613,85],[611,87],[610,89],[608,92],[607,94],[606,97],[605,100],[604,103],[603,106],[603,109],[602,112],[602,115],[602,118],[602,120],[602,123],[603,126],[604,128],[605,130],[606,132],[607,134],[608,136],[609,137],[610,138],[611,139],[612,139],[614,140],[615,140],[616,140],[618,140],[619,139],[621,138],[623,138],[624,137],[626,136],[627,135],[629,134],[630,133],[632,132],[633,131],[635,129],[636,128],[638,126],[639,125],[641,123],[642,121],[644,119],[645,117],[647,114],[648,112],[650,109],[651,105],[652,102],[654,99],[655,96],[656,93],[657,90],[657,88],[657,86],[658,85],[658,84],[658,83],[658,82],[658,81],[658,80],[658,79],[658,78],[658,77],[658,76],[658,75],[658,74],[658,73],[658,72],[658,71],[658,70],[657,71],[657,72],[656,74],[655,76],[654,79],[653,82],[652,85],[651,88],[651,92],[650,95],[649,99],[649,103],[648,106],[648,110],[648,113],[648,116],[648,119],[648,122],[648,124],[649,127],[650,130],[651,133],[652,136],[653,138],[654,141],[655,143],[656,145],[657,148],[658,149],[660,150],[662,151],[665,151],[669,150],[673,148],[676,147],[676,147]],[[720,101],[726,101],[729,101],[732,101],[735,101],[739,101],[742,101],[746,101],[749,101],[753,101],[756,102],[759,102],[762,102],[765,102],[767,102],[769,102],[770,102],[770,102]],[[753,80],[750,89],[750,93],[749,97],[749,101],[749,105],[749,109],[749,112],[749,115],[749,117],[749,119],[749,120],[749,121],[750,122],[751,122],[751,122]],[[847,78],[845,72],[844,72],[843,71],[842,70],[840,70],[839,70],[836,69],[834,69],[831,69],[829,69],[826,70],[823,72],[821,74],[818,76],[816,78],[813,81],[811,85],[809,88],[808,92],[806,96],[805,101],[804,105],[803,109],[802,112],[802,116],[802,119],[802,122],[802,126],[802,129],[802,132],[802,134],[802,137],[803,140],[804,142],[806,144],[807,145],[809,147],[812,148],[815,148],[818,148],[822,148],[826,147],[831,146],[835,144],[841,141],[846,138],[849,136],[849,136]],[[872,92],[881,91],[883,91],[885,91],[888,91],[890,92],[893,92],[896,93],[899,93],[901,93],[904,94],[907,95],[909,95],[911,95],[911,95]],[[873,122],[879,122],[882,122],[885,122],[888,122],[891,122],[895,122],[899,122],[902,122],[906,122],[911,122],[914,122],[914,122]],[[953,54],[953,56],[953,59],[953,62],[953,67],[953,72],[952,78],[951,85],[950,94],[949,103],[948,110],[947,116],[947,119],[947,122],[946,126],[946,129],[946,133],[946,135],[946,137],[946,138],[946,137],[946,136],[946,134],[946,133],[946,131],[946,129],[946,127],[946,126],[946,124],[946,122],[946,120],[946,118],[947,116],[947,114],[948,112],[949,110],[950,108],[952,106],[954,104],[956,103],[958,102],[961,101],[964,101],[967,100],[970,100],[973,100],[976,100],[979,100],[982,101],[985,102],[987,103],[990,105],[992,107],[994,110],[996,112],[997,115],[999,117],[999,120],[999,123],[999,126],[999,129],[997,132],[995,136],[993,139],[991,141],[990,144],[988,146],[986,147],[984,148],[980,149],[977,150],[973,150],[969,150],[966,150],[962,150],[960,149],[957,148],[955,146],[954,144],[953,142],[953,140],[952,139],[952,138],[952,137],[952,137]]]" \
-F "subject=math" \
-F "grade=hs" \
-F "targetFilters=[1,2]" \
-F "targetSymbols=a b"
画像入力
curl -X POST https://api.ihandify.com/v1/ihfr/recognize \
-H "x-api-key: spk_cde88bc3267e3378677404121856330a4feb345c7712e04587cbaa2d9769583a" \
-F "input=@math_input.png" \
-F "subject=math" \
-F "grade=hs" \
-F "targetFilters=[1,2]" \
-F "targetSymbols=a b"
特化型エンドポイント (Specialized Endpoints)
当社では、認識リクエストを処理するために、複数の特化型APIエンドポイントを提供しています。標準のエンドポイントが高度なカスタマイズを可能にするインターフェースであるのに対し、特化型エンドポイントは、詳細なドキュメントを読み込まなくても迅速に導入・運用を開始できるよう、あらかじめ最適化されたエントリーポイントを提供します。
特化型APIエンドポイントを利用することで、すべてのパラメータを明示的に指定することなく認識リクエストを送信できます。リクエストに含まれていないパラメータについては、システムが自動的に初期値を適用します。これにより、まずはシンプルな構成でスタートし、必要に応じて徐々に詳細なオプションを拡張していくことが可能です。
| エンドポイント | 説明 | type | subject | input | grade | targetFilters | targetCharacters | documentType | candidateNum |
|---|---|---|---|---|---|---|---|---|---|
| /v1/ihfr/recognize/[ink|image]*/math/[hs|jhs|ps|jp]* | 指定された学習レベルで、インクデータまたは画像から数学の数式を認識します | ink|image* | math | * | [hs|jhs|ps|jp]* | expression | |||
| /v1/ihfr/recognize/[ink|image]*/number | インクデータまたは画像から数値を認識します | ink|image* | math | * | Digit | expression | |||
| /v1/ihfr/recognize/[ink|image]*/digit | インクデータまたは画像から単一の数字(文字)を認識します | ink|image* | math | * | Digit | character |
* アスタリスク(*)が付いているパラメータは、特化型エンドポイントで必須です。
特化型エンドポイントで定義されているパラメータは、その値が優先されます。リクエスト内で競合する値が指定された場合、それらは無視されます。
例えば、/v1/ihtr/recognize/ink/math/hs エンドポイントでは、grade パラメータは hs に固定されています。
このエンドポイントに対して grade=jhs を指定した場合、その値は無視され、grade=hs として処理されます。
特化型エンドポイントのリクエストサンプル
前述のリクエスト例は、入力方式に応じた特化型エンドポイントでも同様に使用できます。特化型エンドポイントでは、オプションのパラメータを省略し、必要最小限のデータのみでリクエストを送信することが可能です。
curl -X POST https://api.ihandify.com/v1/ihfr/recognize/ink/math/hs \
-H "x-api-key: spk_cde88bc3267e3378677404121856330a4feb345c7712e04587cbaa2d9769583a" \
-F "input=[[[648,79],[647,78],[646,78],[645,78],[645,77],[644,77],[644,76],[643,75],[642,75],[642,74],[641,74],[640,74],[639,74],[638,74],[636,74],[635,74],[634,74],[633,74],[631,75],[629,75],[628,76],[626,77],[624,77],[622,78],[620,79],[618,81],[616,82],[615,84],[613,85],[611,87],[610,89],[608,92],[607,94],[606,97],[605,100],[604,103],[603,106],[603,109],[602,112],[602,115],[602,118],[602,120],[602,123],[603,126],[604,128],[605,130],[606,132],[607,134],[608,136],[609,137],[610,138],[611,139],[612,139],[614,140],[615,140],[616,140],[618,140],[619,139],[621,138],[623,138],[624,137],[626,136],[627,135],[629,134],[630,133],[632,132],[633,131],[635,129],[636,128],[638,126],[639,125],[641,123],[642,121],[644,119],[645,117],[647,114],[648,112],[650,109],[651,105],[652,102],[654,99],[655,96],[656,93],[657,90],[657,88],[657,86],[658,85],[658,84],[658,83],[658,82],[658,81],[658,80],[658,79],[658,78],[658,77],[658,76],[658,75],[658,74],[658,73],[658,72],[658,71],[658,70],[657,71],[657,72],[656,74],[655,76],[654,79],[653,82],[652,85],[651,88],[651,92],[650,95],[649,99],[649,103],[648,106],[648,110],[648,113],[648,116],[648,119],[648,122],[648,124],[649,127],[650,130],[651,133],[652,136],[653,138],[654,141],[655,143],[656,145],[657,148],[658,149],[660,150],[662,151],[665,151],[669,150],[673,148],[676,147],[676,147]],[[720,101],[726,101],[729,101],[732,101],[735,101],[739,101],[742,101],[746,101],[749,101],[753,101],[756,102],[759,102],[762,102],[765,102],[767,102],[769,102],[770,102],[770,102]],[[753,80],[750,89],[750,93],[749,97],[749,101],[749,105],[749,109],[749,112],[749,115],[749,117],[749,119],[749,120],[749,121],[750,122],[751,122],[751,122]],[[847,78],[845,72],[844,72],[843,71],[842,70],[840,70],[839,70],[836,69],[834,69],[831,69],[829,69],[826,70],[823,72],[821,74],[818,76],[816,78],[813,81],[811,85],[809,88],[808,92],[806,96],[805,101],[804,105],[803,109],[802,112],[802,116],[802,119],[802,122],[802,126],[802,129],[802,132],[802,134],[802,137],[803,140],[804,142],[806,144],[807,145],[809,147],[812,148],[815,148],[818,148],[822,148],[826,147],[831,146],[835,144],[841,141],[846,138],[849,136],[849,136]],[[872,92],[881,91],[883,91],[885,91],[888,91],[890,92],[893,92],[896,93],[899,93],[901,93],[904,94],[907,95],[909,95],[911,95],[911,95]],[[873,122],[879,122],[882,122],[885,122],[888,122],[891,122],[895,122],[899,122],[902,122],[906,122],[911,122],[914,122],[914,122]],[[953,54],[953,56],[953,59],[953,62],[953,67],[953,72],[952,78],[951,85],[950,94],[949,103],[948,110],[947,116],[947,119],[947,122],[946,126],[946,129],[946,133],[946,135],[946,137],[946,138],[946,137],[946,136],[946,134],[946,133],[946,131],[946,129],[946,127],[946,126],[946,124],[946,122],[946,120],[946,118],[947,116],[947,114],[948,112],[949,110],[950,108],[952,106],[954,104],[956,103],[958,102],[961,101],[964,101],[967,100],[970,100],[973,100],[976,100],[979,100],[982,101],[985,102],[987,103],[990,105],[992,107],[994,110],[996,112],[997,115],[999,117],[999,120],[999,123],[999,126],[999,129],[997,132],[995,136],[993,139],[991,141],[990,144],[988,146],[986,147],[984,148],[980,149],[977,150],[973,150],[969,150],[966,150],[962,150],[960,149],[957,148],[955,146],[954,144],[953,142],[953,140],[952,139],[952,138],[952,137],[952,137]]]" \
-F "targetFilters=[1,2]" \
-F "targetSymbols=a b"
このリクエストは、高校数式の認識モデルを指定し、数式認識用エンドポイントにデジタルインクデータを送信します。
curl -X POST https://api.ihandify.com/v1/ihfr/recognize/image/math/hs \
-H "x-api-key: spk_cde88bc3267e3378677404121856330a4feb345c7712e04587cbaa2d9769583a" \
-F "input=@math_input.png" \
-F "targetFilters=[1,2]" \
-F "targetSymbols=a b"
このリクエストは、高校数式の認識モデルを指定し、数式認識用エンドポイントに画像ファイルを送信します。
構成ガイドライン
最適な認識精度を得るために、以下のガイドラインに従って構成することを推奨します。
アプリケーションに合わせた対象認識記号の設定 認識対象とする記号セットを指定するには、TargetFilters および TargetSymbols を使用します。また、All フィルタを使用することで、サポートされているすべての記号を対象に含めることも可能です。 例えば、前述のリクエスト例では、Filter 1 と Filter 2 で定義されたすべての記号を組み合わせ、さらにカスタム記号として「a」と「b」を認識対象セットに追加しています。
適切な候補数(CandidateNum)の選択 この値を小さく設定することで、処理時間を短縮できます。後続の処理で複数の候補結果を必要としない場合は、可能な限り小さな値を設定することを推奨します。多くの場合、1 に設定するだけで十分です。
数式認識における適切な学年(Grade)の指定
数式(Subject = math)を処理する場合は、適切な学年レベルを指定することを推奨します。
数式は、小学校、中学校、高校の各レベルで複雑さが大きく異なります。これに対応するため、学年ごとに個別の認識モデルを学習しています。
理論上、高校モデル(Grade = hs)で下位レベルの数式を処理することは可能ですが、適切な学年を指定することで、システムが最適なモデルを選択でき、認識精度の向上につながります。
適切なリクエスト形式の選択 application/json と multipart/form-data の両方のリクエストに対応しています。ただし、画像データを送信する場合は、バイナリ画像データを用いた multipart/form-data の使用を強く推奨します。これにより、Base64エンコードされた画像と比較してペイロードサイズが削減され、処理性能が向上します。
2. レスポンス
本サービスは、以下の例に示すように JSON形式でレスポンスを返却します。
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"data": {
"result": {
"candidates": [
{ "latex": "a + c = b", "score": 0.95 }, # 候補の認識結果とその信頼度スコア
{ "latex": "a + C = b", "score": 0.317 },
{ "latex": "a + e = b", "score": 0.257 }
],
"latex": "a + c = b" # 認識結果 (最上位候補のlatexと同一)
}
}
}
レスポンスには認識結果の候補の配列が含まれており、各候補には対応する「LaTeX表現」と「信頼度スコア」が格納されています。また、利便性を考慮し、最上位候補の認識結果については、独立した latex フィールドにも個別に格納されます。
レスポンスコード
| コード | メッセージ | 説明 |
|---|---|---|
| 200 | Success | リクエストは正常に処理されました。 |
| 400 | Bad Request | リクエストの構文またはパラメータが不正です。 |
| 403 | Forbidden | APIキーが無効であるか、有効期限が切れています。 |
| 413 | Content Too Large | 入力データが現在のプランのサイズ制限を超えています。より大きなデータの処理が必要な場合は、お問い合わせの上、プランのアップグレードをご検討ください。 |
| 429 | Too Many Requests | APIキーに設定されたレートリミット(リクエスト回数制限)を超過しました。 |
| 500 | Internal Server Error | サーバー側で予期しないエラーが発生しました。調査が必要な場合は、カスタマーサポートまでご連絡ください。 |
V. リファレンス
1. 対応フィルタと記号
本サービスでは、英数字、LaTeXトークンおよび構造、さらに科学分野の文脈で一般的に使用される一部の日本語文字を含む、500種類以上の文字・記号をサポートしています。
利便性を高めるため、関連する記号は「フィルタ」と呼ばれる主要なカテゴリごとにグループ化されています(詳細は後述)。iHFRサービスにリクエストを送信する際、どのフィルタセットを適用するか、つまり入力データに含まれると想定される記号のサブセットを指定することが可能です。
例えば、小学校レベルの算数データを処理する場合、通常、積分()や平方根()といった高度な数学的構造を考慮する必要はありません。
実運用においては、認識対象とする記号セットを可能な限り絞り込むことを推奨します。多くの記号や数式表現は視覚的に非常に酷似しており、認識範囲を限定することで、モデルが曖昧さを排除し、正しい解釈を行えるよう誘導することができます。
なお、サポートされる記号は選択した分野(Subject)によって異なります。例として、Subject が math(数学)に設定されている場合、有機化合物の表記などはサポートされません。
サポート対象外の記号が TargetFilters または TargetSymbols で指定された場合、それらは認識プロセスにおいて無視されます。
| ID | フィルタ名 | 文字 | 数学対応 | 化学対応 | 物理対応 |
|---|---|---|---|---|---|
| 0 | All* | ✓ | ✓ | ✓ | |
| 1 | Digit | 0-9 | ✓ | ✓ | ✓ |
| 2 | AlphabetCapital | A-Z | ✓ | ✓ | ✓ |
| 3 | AlphabetSmall | a-z | ✓ | ✓ | ✓ |
| 4 | Alphabet | AlphabetCapital AlphabetSmall | ✓ | ✓ | ✓ |
| 5 | AlphaNumeric | Alphabet Digit | ✓ | ✓ | ✓ |
| 6 | GreekCapital | \Alpha \Beta \Gamma \Delta \Epsilon \Zeta \Eta \Theta \Iota \Kappa \Lambda \Mu \Nu \Xi \Omicron \Pi \Rho \Sigma \Tau \Upsilon \Phi \Chi \Psi \Omega | ✓ | ✓ | |
| 7 | GreekSmall | \alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \kappa \lambda \mu \nu \xi \omicron \pi \rho \sigma \tau \upsilon \phi \chi \psi \omega \varepsilon \varkappa \varphi \varpi \varrho \varsigma \vartheta | ✓ | ✓ | |
| 8 | Greek | GreekCapital GreekSmall | ✓ | ✓ | |
| 9 | PrimaryMath | + - \times \div \frac ^ / = > < ( ) : . , \circ \% | ✓ | ||
| 10 | MathUnit | mm cm dm m km mg g kg t a ha l ml dl kl L mL dL kL cL cg cl daL dag dal dam dg hL hg hl hm | ✓ | ||
| 11 | MathJapanese | あ い う え か が き く け こ ご さ し じ ず せ そ た だ ち つ て で と な に ね の は ば ぱ ひ び ぴ ふ ぶ ぷ へ ほ ぼ ぽ ま み め も ゃ や ゅ ょ ら り る ろ わ ん ー ア イ カ ガ キ ギ ク ケ シ ジ ス セ タ ダ チ ッ テ デ ト ナ ノ パ ヘ ペ マ ミ ム メ ラ リ ル ロ ン ヵ ヶ 一 万 三 上 下 世 両 二 五 人 以 件 位 体 個 倍 偶 億 兆 八 公 六 円 冊 分 前 割 匹 十 千 午 半 厘 厚 口 台 合 名 周 商 四 回 図 大 奇 安 対 小 局 層 席 平 年 度 引 形 径 後 成 戸 才 打 拡 数 方 日 時 最 月 未 本 束 杯 枚 機 次 歩 歳 段 比 毛 水 深 満 滴 点 玉 班 生 用 番 発 百 直 着 票 秒 立 等 箇 箱 約 素 組 縮 羽 脚 艘 行 袋 角 解 試 足 軒 輪 辺 逆 通 速 部 長 間 面 頭 | ✓ | ||
| 12 | JuniorHighMath | PrimaryMath \sqrt \pm _ \neq \geq \leq \geqq \leqq \{ \} [ ] \angle // \perp \stackrel{\frown} \triangle \parallelogram \hat \rightarrow \overline \overrightarrow \prime \backsim \equiv \fallingdotseq \mid \dots pgcd hPa kcal | ✓ | ||
| 13 | HighMath | JuniorHighMath \cdot \infty \mp \arg ! \int \lim \log \ln \mod \sum \prod \leftarrow \Leftarrow \Rightarrow \Leftrightarrow \cos \sin \tan \cot \arccos \arcsin \arctan tg \cosh \sinh \tanh \coth csch sech \exists \forall \neg \lor \land \in \ni \notin \notni \cap \cup \subset \subseteq \supset \supseteq \varnothing \oplus \otimes \& \nparallel \sim \simeq \coloneqq \because \therefore \dot \partial \langle \rangle Hz nm sinc \exp \gcd \max \min simplify solve \nabla ; Conv Cov Prob Var Min abs cas conc cov dist ord poly rad rank rect rem rev var vec \deg \det \dim \$ \overset | ✓ | ||
| 14 | EquationSystems | \\ \begin \end & \cdots \vdots \ddots \begin \begin \begin \begin \end \end \end \end | ✓ | ||
| 15 | ChemicalUnit | A C Hg K L Pa \% \circ atm cm dL dl dm kJ kg mL mg ml mm mol pH g l m t . / : \times \sqrt | ✓ | ||
| 16 | ChemicalElement** | A B C D E F G H I K L M N O P R S T U V W X Y Z a b c d e f g h i k l m n o p r s t u v y | ✓ | ||
| 17 | ChemicalEquation | ChemicalElement Digit _ ( ) + \rightarrow \rightleftharpoons \downarrow \uparrow \xleftarrow \xrightleftharpoons | ✓ | ||
| 18 | ChemicalStructural*** | \chemfig ? - = * ** ~ \equiv ( ) -[,,,1] -[,,,2] -[,,,3] -[,,2,] -[,1.5] -[:-100] -[:-10] -[:-110] -[:-120] -[:-135] -[:-150,0.6] -[:-150] -[:-170] -[:-30,0.6] -[:-30] -[:-45] -[:-60] -[:-70] -[:-80] -[:-90,0.6] -[:-90] -[:0] -[:10] -[:120,,1,1] -[:120] -[:135] -[:150,0.6] -[:150] -[:170] -[:180] -[:30,0.6] -[:30] -[:45] -[:60] -[:90,0.6] -[:90] =[:-120] =[:-150] =[:-30] =[:-45] =[:-60] =[:-90] =[:-135] =[:0] =[:120] =[:150] =[:180] =[:30] =[:45] =[:60] =[:90] [:-30] [:-35] [:-52] [:15] [:18] [:20] [:30] [:90] ~[:-30] ~[:0] ~[:30] | ✓ | ||
| 19 | ChemicalJapanese**** | · け は ん ア エ ス セ ゼ チ テ マ ル ー 下 中 付 以 体 元 光 冷 出 加 化 単 反 合 周 和 固 圧 型 基 塩 媒 室 希 強 形 応 性 期 末 析 極 正 殿 気 水 沈 液 深 温 濃 熱 生 異 発 白 硫 秒 粉 約 素 縮 脱 色 菌 褐 角 触 負 赤 還 酢 酵 酸 鉛 青 高 黄 黒 | ✓ | ||
| 20 | PhysicalUnit | cm dam dm hm km Km m mm nm cg dag dg g hg kg mg t a ha L l cL cl dL dl daL dal hL hl kL kl mL ml kcal Pa hPa atm GHz Hz MHz kHz kW kWh MeV eV feV keV meV neV peV | ✓ | ||
| 21 | PhysicalOperator | + - \times \div \frac ^ / \sqrt \pm \mp _ : . \circ % ! \cdot = > < \neq \geq \leq \geqq \leqq \equiv \fallingdotseq \sim \simeq \therefore \ddots \vdots , ; ? ( ) { } [ ] | ✓ | ||
| 22 | PhysicalFunction | \arg \int \lim \log \ln \mod \sum \prod \deg \det \dim \cos \sin \tan \cot \arccos \arcsin \arctan \cosh \sinh \tanh \coth | ✓ | ||
| 23 | PhysicalOther | \angle // \perp \stackrel{\frown} \triangle \hat \rightarrow \overline \underline \overrightarrow \Rightarrow \downarrow \rightleftharpoons \uparrow \xrightarrow \exists \forall \not \neg \lor \land \in \notin \cap \cup \subset \subseteq \supset \varnothing \oplus \otimes \overset \underset \infty \prime \mid \dots \partial \langle \rangle \exp \max \min \nabla \stackrel \tilde \Im rad | ✓ |
*All フィルタ:指定すると、すべての対応シンボルを対象にします。
**ChemicalElement フィルタ:周期表のすべての元素を表現するために必要な文字を含みます。
***ChemicalStructural フィルタ:Chemfigを用いた構造式・骨格式を表現するためのLaTeX構文を含みます。
****ChemicalJapanese フィルタ:化学分野でよく使用される日本語文字を含みます。
Note:
All フィルタを除き、他の各フィルタには最も一般的に使用される記号カテゴリのみが含まれており、サポートされている全記号を網羅しているわけではありません。そのため、ユースケースに応じて、TargetSymbols フィールドを使用して追加の記号を明示的に指定する必要がある場合があります。
2. 学年の指定
数式認識は本質的にドメイン固有の性質が強く、多くのアプリケーションは学年に合わせて設計されています。これに対応するため、iHFRでは「小学校」「中学校」「高校」の3つのセグメントに最適化された専用モデルを提供しています。
ここでの「高校」という定義は、広義の意味で用いられています。標準的な高校数学だけでなく、小学校・中学校レベルの範囲外となるあらゆる数式表現が含まれます。
| 学年 | 説明 |
|---|---|
| hs | 高校 |
| jhs | 中学校 |
| ps | 小学校 |
| jp | 日本の小学校単位(Digit および MathJapanese フィルタを含む) |
このパラメータは、現在 Subject が math(数学)に設定されている場合にのみ適用されます。
化学(chemistry)および物理(physics)については、それぞれ単一の共通モデルが使用されるため、本パラメータを指定しても無視されます。