JP6866551B2 - 数式処理方法、装置、デバイス及びプログラム - Google Patents

数式処理方法、装置、デバイス及びプログラム Download PDF

Info

Publication number
JP6866551B2
JP6866551B2 JP2017526093A JP2017526093A JP6866551B2 JP 6866551 B2 JP6866551 B2 JP 6866551B2 JP 2017526093 A JP2017526093 A JP 2017526093A JP 2017526093 A JP2017526093 A JP 2017526093A JP 6866551 B2 JP6866551 B2 JP 6866551B2
Authority
JP
Japan
Prior art keywords
expression
formula
user
content
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017526093A
Other languages
English (en)
Other versions
JP2018501551A (ja
Inventor
ハン、コン
Original Assignee
バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド, バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド filed Critical バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
Publication of JP2018501551A publication Critical patent/JP2018501551A/ja
Application granted granted Critical
Publication of JP6866551B2 publication Critical patent/JP6866551B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本出願は出願日が2014年12月17日で、出願番号が201410790497.1で、発明名称が"数式処理方法及び装置"である中国特許出願の優先権を主張する。
本発明は、インターネット技術分野に関し、特に、数式処理方法、装置、デバイス及びプログラムに関する。
インターネット技術の発展に連れて、ブラウザーに数式を表示する需要が切実になってくる。現在、業界では、主に以下のような方式によりブラウザーで数式を編集し表現する。
ユーザーは、規定の「式表示法」により式内容を入力し、ブラウザーは、ハイパーテキストマークアップ言語(Hyper Text Mark-up Language)とカスケーディング・スタイル・シート(Cascading Style Sheets、CSS)を利用して、ユーザーが入力した内容を数式にレンダリングしてユーザーに提供してプレビューし、ユーザーが提出した後、サーバーは、ユーザーの入力した内容をそのまま保存する。ユーザーがこの数式を読み取りしようとする時、サーバーは先に保存した内容をブラウザーに回送し、ブラウザーはHTMLとCSSを利用してサーバーが回送した内容を数式にレンダリングする。
上記のHTMLに基づいて数式を表現する方案は、数式を表現する時、メインウェブページにおけるCSSスタイルの影響をとても容易に受けるし、表示効果が安定しない。
本発明の複数の方面は、数式がウェブページCSSスタイルの影響を受ける問題を克服し、数式の表示安定性を高める数式処理方法、装置、デバイス及びプログラムを提供する。
本発明の一方面は、演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する主体対象を取得し、上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性により、上記図形対象に対応する数学表現式を取得し、上記図形対象の間の階層関係により、上記図形対象に対応する数学表現式をウェブページに描いて、上記式内容に対応する数式を取得する数式処理方法を提供する。
本発明の他の一方面は、演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する主体対象を取得する取得モジュールと、上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性により、上記図形対象に対応する数学表現式を取得する処理モジュールと、上記図形対象の間の階層関係により、上記図形対象に対応する数学表現式をウェブページに描いて、上記式内容に対応する数式を取得する製図モジュールと、を含む数式処理装置を提供する。
本発明では、主体対象により式内容を表し、具体的に、主体対象に含まれる図形対象の間の階層関係によって、式内容に対応する演算順序を表し、図形対象は演算タイプ属性と演算数属性を含み、図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性によって、図形対象に対応する数学表現式を取得し、更に、図形対象の間の階層関係により、図形対象に対応する数学表現式をウェブページに描いて、式内容に対応する数式を取得する。本発明は、主体対象に基づいて製図技術によってウェブページに数式を生成することを実現し、先行技術で使用されるHTMLタグと異なって、本発明が生成した数式はウェブページと完全に独立して、一つの独立の全体になるので、ウェブページにおけるCSSスタイルの干渉または影響を容易に受けなく、表示効果が比較的に安定である。
本発明の一実施例で提供する数式処理方法のフローチャートである。 本発明の一実施例で提供する式内容をどのように基準表現式に正確に分解するかを説明するための概略図である。 本発明の一実施例で提供する編集インターフェースの概略図である。 本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。 本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。 本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。 本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。 本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。 本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。 本発明の一実施例で提供するユーザーが領域選択操作によって式内容を変更する過程の概略図である。 本発明の一実施例で提供するユーザーが領域選択操作によって式内容を変更する過程の概略図である。 本発明の一実施例で提供するユーザーが領域選択操作によって式内容を変更する過程の概略図である。 は、本発明の一実施例で提供する数式処理装置の構造概略図である。
本発明の目的、技術案及び利点をより明確にするために、以下では図面及び具体的な実施例を利用して本発明を詳細に記述する。
図1は、本発明の一実施例で提供する数式処理方法のフローチャートである。図1に図示したように、この方法は以下のステップを含む。
101で、式内容に対応する主体対象を取得する。該当主体対象は、演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す図形対象の間の階層関係とを含む。
102で、上記図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性によって、図形対象に対応する数学表現式を取得する。
103で、図形対象の間の階層関係によって、図形対象に対応する数学表現式をウェブページに描いて、式内容に対応する数式を取得する。
本実施例は、数式処理装置により実行される数式処理方法を提供する。数式処理装置は、数式処理エンジンまたはツールライブラリーであって、例えばブラウザー環境に適用して、webによる数式処理を実現してもよく、または、データ式処理装置は、独立な式エディターとして実現してもよい。
具体的に、ウェブページに数式を表示する必要がある時、式内容に対応する主体対象を取得する。式内容は、数式を生成するために必要な内容であり、一般的には、数式における演算数、演算子及び演算順序などの情報を含む。一般的に、式内容はユーザーによって入力できるが、これに限定されない。
ここで、本実施例は、式内容の表示方式を限定しない。例えば、ユーザーは、ブラウザーが支持する「式表示法」によって式内容を入力できる。
本実施例において、式内容に対応する主体対象は実際上階層構造を有する対象(object)であり、具体的に、図形対象と図形対象の間の階層関係を含み、図形対象は演算タイプ属性と演算数属性を含み、図形対象の間には階層関係を持っており、図形対象の間の階層関係は当該主体対象の階層関係を表し、図形対象の間の階層関係は式内容に対応する演算順序、即ち式内容における各演算数の間の演算順序を示す。
図形対象の演算タイプ属性は、「name」属性で表記してもよく、主に数式における演算タイプを表し、例えば「+」、「-」、「×」等がある。図形対象の演算数属性は「operand」属性で表記してもよく、この属性は一つの数字グループで表してもよく、例えば、この数字グループは図形対象がある階層に含まれている「演算数」リストに順序に記録されてもよく、各演算数は一つの「簡単な対象」であってもよく、「複合対象」であってもよい。演算数が一つの「複合対象」であると、当該演算数は続いて分解して、当該図形対象の下のサブ図形対象を形成することができる。
全体的には、全体式内容はより簡単な語意を有する異なる基準表現式に分解されて、1つの階層構造を持つ主体対象に転換されて保存される。
好ましくは、階層構造を持つ主体対象は式文法ツリーであってもよく、この式文法ツリーは実際上数式を表記するための文法ツリーである。
主体対象を取得する一実施方式では、式内容に対応する主体対象は予めに生成されて特定の保存エリアに保存されてもよく、ウェブページに数式を表示する必要がある時、数式処理装置は特定の保存エリアから直接に主体対象を取得してもよい。
主体対象を取得する他の実施方式では、式内容は予めに取得されて特定の保存エリアに保存されてもよく、ウェブページに数式を表示する必要がある時、数式処理装置は特定の保存エリアから式内容を取得し、式内容を処理することによって主体対象を生成してもよい。例えば、数式処理装置は式内容を取得し、予設の分解規則により式内容をさらに分解できない基準表現式に分解し、基準表現式の間の階層関係、基準表現式のタイプ及び基準表現式に含まれる演算数に基づいて、主体対象を生成してもよい。ここで、各基準表現式は主体対象における一つの図形対象としてマッピングされ、基準表現式のタイプと含まれている演算数はそれぞれ図形対象の演算タイプ属性及び演算数属性としてマッピングされ、基準表現式の間の階層関係は図形対象の間の階層関係としてマッピングされる。
上記実施方式では、数式で現れたすべての内容を演算数(数字と演算子を含む)と見なし、演算数に対して前処理を行って、分解が不可能な基準表現式、例えば、テキスト表現式、ルート表現式、積分表現式などを取得して、数式を示す時にこのような基準表現式を再利用する目的を達成し、これによって、これらの基準表現式の組合せ及び相対位置に対する調整によって、いろいろな数式を取得することができる。
ここで、上記基準表現式は、それの数式での表示効果に基づいて、内部に含まれている要素に対して相対的な位置決めを行う。例えば、テキスト表現式はその内部の符号を線形配列し、ルート表現式はその内容に基づいて適当な大きさの根号を生成し、その内容を配列し、積分表現式はそれに含まれた上下限を調整して、上下限が相対的に正確な位置にあるようにする。
図2は式内容をどのようにして正確に基準表現式に分解するかを説明する。図2に示したように、下向き矢印は式内容
Figure 0006866551
を分解して、基準表現式を取得する過程を示し、上向き矢印は分解された基準表現式を組み合わせることによって数式を取得する過程で、この2つの過程は互いに反対である。
上記分解と組合過程に対する理解を助けるために、以下では、
Figure 0006866551
の式の1つのサブ部分(x+a)2を説明する。
先に、図2での丸付き文字の3が示す式(x+a)2は数学で平方式であり、本実施例では、「上付き表現式」(SuperscriptExpression)で表すことができる。
そして、本実施例での上付き表現式の要求により式(x+a)2を分解して、最後に表記番号が丸付き文字の1であるサブ表現式と表記番号が丸付き文字の2であるサブ表現式を得る。この時、分解して得たサブ表現式が1つのテキスト表現式(TextExpression)でなければ、最後にすべての表現式がテキスト表現式に分解されるまでに、再度サブ表現式の要求により表記番号が丸付き文字の1または表記番号が丸付き文字の2であるサブ表現式を分解する。この実施例では、表記番号が丸付き文字の3である表現式を1次分解すると2つのテキスト表現式、すなわち表記番号が丸付き文字の1と2である2個のサブ表現式を得ることができ、ここで分解過程は終了する。ここで、図2の表記番号が丸付き文字の3である表現式は主体対象に対応し、表記番号が丸付き文字の1と2である二つのサブ表現式はそれぞれ主体対象での一つの図形対象に対応する。
最後に、最終的に得たテキスト表現式の集合に基づいて「還元」過程を実行する。「還元」の過程は、実際上「分解」を逆順序に回帰する過程であり、全体過程は最末端のテキスト表現式から上に向かって合併し、合併する度に一つの新たな「複合表現式」、例えば、ルート表現式、上付き表現式などを得ることになる。全体過程が、最終的に唯一の1つの表現式が残るまでに持続的に回帰すると、当該表現式が最終的に希望する数式である。
主体対象を取得する更に他の実施方式では、式内容は事前に取得されず、ウェブページに数式を表示する必要がある時にユーザーによって入力される。これによって、ウェブページ上に数式を表示する必要がある時、数式処理装置はウェブページでユーザーに編集インターフェースを提供し、ユーザーが編集インターフェースを通じて入力した式内容における演算子または演算数を順に取得して、式内容に対応する主体対象を生成する。
例えば、上記編集インターフェースは可視編集領域と隠れ編集領域を含んでいてもよい。ここで、可視編集領域は主にユーザーが入力命令を発送しユーザーが希望する方式によりユーザーに式内容を表示するためのものであり、隠れ編集領域は入力捕捉イベントを活性化しユーザーが式内容を入力するためのものである。好ましくは、隠れ編集領域は隠れている。更に、この編集領域は、さらに入力ツール領域を含んでいてもよい。この編集インターフェースの一実施方式は、図3に示すように、図3で表記番号が丸付き文字の1である領域は隠れ編集領域であり、この領域は実際の環境で隠れており、ここではユーザーが入力した演算数を取得する後続の過程を直観的に記述するために明く表現している。図3で表記番号が丸付き文字の2である領域は可視編集領域で、ユーザーはこの領域でマウスによって入力する式を選択できる。図3で表記番号が丸付き文字の3である領域は入力ツール領域であり、この領域には、ユーザーが直接に選定し入力するように幾つか符号と式が予設されており、ユーザーが特殊な文字と常用の式を入力する複雑度を低くする。図3で表記番号が丸付き文字の4である領域は模擬カーソルで、ユーザーの現在入力するカーソルがある位置を提示する。
上記編集インターフェースに基づいて、数式処理装置は順にユーザーが編集インターフェースを通じて入力した式内容における演算子または演算数を取得して、式内容に対応する主体対象を生成する実施過程は、以下の過程を含む。
ユーザーが可視編集領域で発送した編集命令によって、可視編集領域で現在の入力位置を指示する模擬カーソルを表示し、模擬カーソルはユーザーの入力に従って移動し、模擬カーソルに関連したシステムカーソルを隠れ編集領域に位置決めて、入力捕捉イベントを活性化する。例えば、ユーザーは表記番号が丸付き文字の2である可視編集領域をクリックして、編集命令を発送することができる。
ユーザーはキーボードによって直接入力を行ってもよく、入力ツール領域の丸付き文字の3の予設の文字または式を一クリックすることによって入力を行ってもよい。ユーザーが以上の何れかの操作を実行すると、表記番号が丸付き文字の1である隠れ編集領域の入力捕捉イベントを触発する。したがって、ユーザーが表記番号が丸付き文字の1である隠れ編集領域に入力した式内容における演算子または演算数を順に捕捉し、システムカーソルの現在位置と捕捉された演算子または演算数に基づいて、初期ヌル対象に図形対象及び/または図形対象における演算数を追加して、主体対象を取得する。
上記式内容に対応する主体対象は、ユーザーが式内容を入力する過程で生成する。
以下では、ユーザーが式内容a+b÷c-b/aを入力し、主体対象が式文法ツリーであることを例として、式文法ツリーを生成する過程を説明する。
ユーザーが初めて入力する場合、この時内容はヌルであり、ユーザーはキーボードによって第1の文字「a」を入力し、この時得た式文法ツリーは図4に示すようなものである。
ユーザーは、続いてキーボードによって文字「+」を入力し、この時得た式文法ツリーは図5に示すようなものである。
ユーザーは、続いてキーボードによって文字「b」を入力し、この時得た式文法ツリーは図6に示すようなものである。
その後、ユーザーは「÷」を入力する必要があり、キーボードに「÷」符号を直接に入力するキーが提供されていないので、ユーザーは編集インターフェースに含まれたツール入力領域の予設の符号によって「÷」を入力でき、ユーザーが対応する符号をクリックすると、「÷」符号は隠れ編集領域に入力され、この時得た式文法ツリーは図7に示すようなものである。図7で新しく増加した「\\div\\」は「÷」符号が本実施例の式文法ツリー内部での表示方式である。
ユーザーは続いてキーボードによって文字「c」と「-」を入力し、この時得た式文法ツリーは図8に示すようなものである。
ユーザーは続いて入力し、この時、分数式b/aを入力すべきであるが、分数式はキーボードによって直接に入力できないので、ユーザーは編集インターフェースにおけるツール入力領域で提供した予設の式を使って入力する必要があり、ユーザーが対応するボタンをクリックしてデータを入力すると、最終に形成した式文法ツリーは図9に示すようなものである。ここまで、全体の式文法ツリーを取得する。
ここで、上記編集インターフェースを通じて式内容を入力する過程は、式内容を編集する過程と見なしてもよい。実際の適用では、ユーザーが式内容を編集する時、式内容のある一部に対して領域選択操作を行って、式内容における一部内容を編集する目的を達成する。
具体的に、数式処理装置はユーザーの領域選択操作を識別できるが、領域選択操作はユーザーが式内容における一部演算数を選定する操作を意味し、ユーザーが選定した式内容における一部演算数に基づいて、主体対象に表記し、ユーザーが選択操作で選定した領域内に再び入力した演算数を取得し、再び入力した演算数で主体対象に表記された演算数を取り替える。
以下では、一つの簡単な式a+b÷cを例として、ユーザーが領域選択操作によって、式a+b÷cを新な式a+b-cに変更する過程を説明する。
図10に示すように、ユーザーは表記番号が丸付き文字の1である位置でマウスの左キーを押しまた継続に押すと、この時数式処理装置はこのイベントを捕捉し、イベントの付加情報からこの時刻のマウスポインタの位置情報を取得し、この情報を記録する。
ユーザーはマウスの左キーを押している状態でマウスを移動し、その移動の軌跡が図10で表記番号が丸付き文字の2であるグレーフレームが示す部分であると、この時、数式処理装置はこの「マウス移動」イベントを捕捉し、イベントの付加情報からこの時刻のマウスポインタの位置を取得し、この時刻のマウスポインタの位置と先に記録されたマウスポインタの位置情報によって、選択領域を算出する。選択領域を算出した後、「式文法ツリー」において対応する位置に選択領域「マークポジション」を挿入して、この選択領域情報を表記する。
ユーザーがマウスを続いて移動すると、「マウス移動」イベントを持続的に触発することになり、前の段階の過程を重複に実行して選択領域を更新する。
ユーザーが図10で表記番号が丸付き文字の3である位置で左キーを放すと、この時数式処理装置は「マウスのボタンが跳ね上がる」とのイベント通知を受信することになり、選択領域を更新し、位置情報を取得することが止まり、選択領域は変わらなく、ユーザーが上記各段階の過程を重複する時こそ選択領域に対する更新を再びスタートする。この時、式内部の文法ツリーは図11に示すようであり、二つの実線は選択領域の始点と終点を示す。ここで、実線はただ表記方式の一表示例で、これに制限されない。
この時、ユーザーはキーボードによって文字「-」をタイピングすると、式文法ツリーはまず図11における2つの実線の間の内容を除去してから、新な内容を挿入し、更新した後の文法ツリーは図12に示すようである。
図12で、二つの実線の間の位置は図11における元の選択領域がある位置であり、ユーザーが新たなデータを入力すると、元々の選択領域は「閉鎖」され、元々の選択領域内に含まれた内容は削除されるとともに、新たな閉鎖された選択領域の前には新たな内容、即ち「-」が挿入されている。
ここで、ユーザーは式を編集する以外に、さらにカーソル位置を更新する操作もできる。カーソル位置の更新は、実際上選択領域の更新の一つの特殊例で、その本質は選択領域の長さが0である領域選択操作であり、その説明は上記ユーザーが選択領域を変更する操作の説明を参考しても良いので、ここで重複して説明しない。
ここで、図4-図9及び図11-図12で各グループの「name」と「operand」は組み合わせて一つの図形対象を構成し、すべての図形対象及び図形対象の間の階層関係は主体対象を構成する。図9を例として、図9の全体が表す内容は一つの主体対象を構成し、図9に示す主体対象は、二つの図形対象を含み、一つの図形対象の演算タイプ属性は「combination」であり、演算数属性は[「a」,「+」,「b」,「\\div\\」,「c」,「-」]であり、他の図形対象の演算タイプ属性は「fraction」であり、演算数属性は[「b」,「a」]である。
上記のように、実施方式はとても直観的な方式でユーザーに提供して使用させ、式の編集と読取り体験を大幅に高め、ユーザーが使用する要件を低める。また、本実施方式では、サーバーと通信する必要がなく、ユーザーはネットワークが比較的に悪い環境でも式を速やかに編集して編集効果を見ることができる。また、この実施方式はユーザーに対して追加的な要求がなく、ユーザーは従来技術のように専門的な式の表示法-Texを必ず了解する必要がなく、直感的な編集方式を採用するので、ユーザーは入力した直後にレンダリング効果を見ることができ、サーバーにレンダリング請求を発送する必要がなく、ユーザーの編集過程の流れを大幅に高め、ユーザーが編集に参与する要件を低める。
上記各実施方式によると、式内容に対応する主体対象を取得した後、この主体対象に含まれている図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性によって、図形対象に対応する数学表現式を取得する。
例えば、図形対象の間の階層関係の下から上への順序により、図形対象を一々確定し、図形対象の演算タイプ属性及び演算数属性によって図形を描いて、図形対象に対応する数学表現式を取得する。
その後、数式処理装置は図形対象の間の階層関係により、図形対象に対応する数学表現式をウェブページに描いて、式内容に対応する数式を取得する。
例えば、主体対象が一つの式文法ツリーであるのを例とすると、数式処理装置は一つの式文法ツリーを複写し、それをマッピングツリーとし、マッピングツリー上の図形対象を直接に図形対象に対応する数学表現式に取替えて、更に数学表現式により構成される描くことができるツリーであるマッピングツリーを取得する。次に、上から下への順序でこのマッピングツリーをウェブページに描いて、完全な数式を取得する。
ここで、本実施例で採用した製図技術はSVG製図技術であるが、これに限定されない。
上記から見えるように、本実施例は主体対象によって式内容を表し、具体的に、主体対象に含まれる図形対象の間の階層関係によって式内容に対応する演算順序を表し、図形対象は演算タイプ属性と演算数属性を含み、図形対象の間の階層関係、図形対象の演算タイプ属性及び演算数属性によって、図形対象に対応する数学表現式を取得し、更に図形対象の間の階層関係により図形対象に対応する数学表現式をウェブページに描いて、式内容に対応する数式を取得する。本実施例は、主体対象に基づいて製図技術によりウェブページに数式を生成することを実現し、従来技術で使うHTMLタグとは異なって、生成された数式がウェブページと完全に独立して、一つの独立な全体になるので、ウェブページにおけるCSSスタイルの干渉または影響を容易に受けなく、表示効果が比較的に安定である。
本発明の技術案は、IE9及び以上バージョンのIEブラウザー、chrome、firefox、safari、operaなどの主流のブラウザーを支援し、ユーザーはほとんど全部のブラウザーにおいて数式を編集し読み取ることができる。
ここで、前記の各方法実施例について簡単に記述するために、一連の動作の組合せとして記述したが、本分野の当業者であれば、本発明は、記述した動作の順序の制限を受けず、本発明によると、あるステップは他の順序に従いまたは同時に行ってもよいとのことを了解すべきである。また、本分野の当業者であれば、明細書に記載の実施例はいずれも好ましい実施例で、関連する動作及びモジュールは本発明に必ず必要なものではない。
上述実施例で、各実施例に対する記述にはいずれも重点があり、ある実施例で詳細に記述しなかった部分は、他の実施例における関連記述を参照できる。
図13は、本出願の一実施例で提供する数式処理装置の構造概略図である。図13に示すように、この装置は、取得モジュール1301と、処理モジュール1302と、製図モジュール1303とを含む。
取得モジュール1301は、式内容に対応する主体対象を取得するためのもので、主体対象は図形対象と図形対象の間の階層関係を含み、図形対象の間の階層関係は式内容に対応する演算順序を表し、図形対象は演算タイプ属性と演算数属性を含む。
処理モジュール1302は、取得モジュール1301と接続して、図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性に基づいて、図形対象に対応する数学表現式を取得するためのものである。
製図モジュール1303は、処理モジュール1302と接続して、図形対象の間の階層関係によって、処理モジュール1302が取得した図形対象に対応する数学表現式をウェブページに描くことによって、式内容に対応する数式を取得するためのものである。
一つの好ましい実施方式において、取得モジュール1301は、具体的に、式内容を取得し、予設の分解規則により、式内容を更に分解できない基準表現式に分解し、基準表現式の間の階層関係、基準表現式のタイプ及び基準表現式に含まれる演算数に基づいて、主体対象を生成するために用いられる。
他の一つ実施方式において、取得モジュール1301は、具体的に、ウェブページでユーザーに編集インターフェースを提供し、ユーザーが編集インターフェースを通じて入力した式内容における演算子または演算数を順に取得して、主体対象を生成するために用いられる。
更に、好ましいのは、上記編集インターフェースは、可視編集領域と隠れ編集領域を含む。
これに基づいて、取得モジュール1301は、具体的に、ウェブページでユーザーに編集インターフェースを提供し、ユーザーが可視編集領域で発送した編集命令に基づいて、可視編集領域に現在入力位置を指示する模擬カーソルを表示し、模擬カーソルはユーザーの入力に従って移動し、模擬カーソルと関連したシステムカーソルを隠れ編集領域に位置決めて、入力捕捉イベントを活性化し、ユーザーが隠れ編集領域で入力した式内容における演算子または演算数を順に捕捉して、システムカーソルの現在の位置と捕捉された演算子または演算数によって初期のヌル対象に図形対象及び/または図形対象における演算数を添加して、主体対象を取得するために用いられる。
さらに、本実施例で提供した数式処理装置は、更に、識別モジュール、表記モジュール及び更新モジュールを含んでいてもよい。
識別モジュールは、ユーザーの領域選択操作を識別するためのものであり、領域選択操作はユーザーが式内容における一部演算数を選定する操作を意味する。
表記モジュールは、ユーザーが選定した式内容における一部演算数によって、主体対象において表記するためのものである。
更新モジュールは、ユーザーが領域選択操作で選定した領域内に再び入力した演算数を取得するためのもので、再び入力した演算数で主体対象に表記された演算数を取替える。
好ましい実施方式において、処理モジュール1302は、具体的に、図形対象の間の階層関係の下から上への順序で図形対象を一々確定し、図形対象の演算タイプ属性及び演算数属性によって図形を描いて、図形対象に対応する数学表現式を取得するために用いられる。
好ましくは、上記式内容に対応する主体対象は式内容に対応する式文法ツリーである。
本実施例で提供した数式処理装置は、主体対象によって式内容を表し、具体的に、主体対象に含まれる図形対象の間の階層関係によって式内容に対応する演算順序を表し、図形対象は演算タイプ属性と演算数属性を含み、図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性によって、図形対象に対応する数式を取得し、さらに、図形対象の間の階層関係に従って、図形対象に対応する数式をウェブページに描いて、式内容に対応する数式を取得する。本実施例で提供する数式処理装置は、主体対象に基づいて製図技術によってウェブページに数式を生成することを実現し、従来技術で使用するHTMLタグとは異なって、生成された数式がウェブページと完全に独立して、独立な全体になるので、ウェブページにおけるCSSスタイルの干渉または影響を容易に受けなく、表示効果が比較的に安定である。
所属分野の当業者であれば、記述の便利と簡潔のために、上述記述のシステム、装置と手段の具体的な動作過程は、前述方法の実施例における対応する過程を参照できることを理解すべきで、ここで重複に記述しない。
本発明で提供した幾つの実施例で開示したシステム、装置及び方法は、他の方式によって実現できるのは理解すべきである。例えば、以上に記載した装置の実施例はただ例示的なもので、例えば、前記手段の分割はただロジック機能の分割で、実際に実現する時は他の分割方式によってもよい。例えば、複数の手段又はモジュールは結合でき又は他の一つのシステムに集積でき、またはある特徴は無視し、または実行しなくてもよい。他に、示しまたは検討した互いの間の結合または直接に結合又は通信接続は、あるインタフェース、装置または手段の間接的な接合又は通信接続によるものであってもよく、電気的、機械または他の形式であってもよい。
前記で分離部材として説明した手段は、物理上で分離したものであってもよく物理上で分離しなかったものであってもよく、手段として示した部材は物理的な手段であってもよく、物理的な手段でなくてもよく、即ち、同一の位置にあってもよく、複数のネットワークユニットに分布されていてもよい。実際の必要によってその中の一部または全部手段を選択して、本実施例の方案の目的を実現してもよい。
また、本発明の各実施例における各機能手段は一つの処理モジュールに集積してもよく、各手段が物理上で単独に存在してもよく、二つ又は二つ以上の手段を一つの手段に集積してもよい。前記集積した手段は、ハードウェアの形式に実現してもよく、ハードウェアにソフトウェアの機能手段を結合する形式で実現してもよい。
上記のソフト機能手段の形式で実現した集積した手段は、一つのコンピューターが可読な記憶媒体に記憶してもよい。前記ソフト機能手段は一つの記憶媒体に記憶してもよく、複数の命令を含んで一つのコンピューターデバイス(パースナルコンピューター、サーバー、又はネットワークデバイス等)又はプロセッサ(processor)によって、本発明の各実施例の前記方法の一部のステップを実行させてもよい。前記記憶媒体は、Uディスク、ポータブルハードウェア、読み出し専用メモリ(Read-OnlyMemory、ROM)、ランダムアクセスメモリ(RandomAccessMemory、RAM)、ディスク又は光ディスク等の複数のプログラムコードを記憶できる媒体を含む。
前記はただ本発明の好ましい実施例で、本発明についての限定ではなく、本発明の主旨及び原則の範囲で実行したいずれの修正、等価置換、改良などは、全部本発明の保護する範囲に属すべきである。

Claims (12)

  1. 数式における演算のタイプを表す演算タイプ属性と数式における数字を表す演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する式文法ツリーである上記式内容に対応する主体対象を取得し、
    前記主体対象における上記図形対象の間の階層関係に従って上位側の階層の図形対象を順次選択し、各図形対象の演算タイプ属性及び演算数属性に応じた数式部分を示す数学表現式の図形を生成し、
    前記主体対象における上記図形対象の間の階層関係によって、上記図形対象に対応する数学表現式の図形で上記式文法ツリー上の図形対象を上位階層側から順に置換して上記式文法ツリーをウェブページに描いて、上記式内容に対応する数式を表示する
    数式処理方法。
  2. 上記式内容に対応する主体対象を取得することは、
    上記式内容を取得し、
    予設の分解規則により、上記式内容をさらに分解できない基準表現式に分解し、
    上記基準表現式の間の階層関係、上記基準表現式のタイプ及び上記基準表現式に含まれる演算数に基づいて、上記主体対象を生成することを含む
    請求項1に記載の数式処理方法。
  3. 上記式内容に対応する主体対象を取得することは、
    ウェブページでユーザーに一つの編集インターフェースを提供し、
    上記ユーザーが上記編集インターフェースを通じて入力した上記式内容における演算子または演算数を順に取得して、上記主体対象を生成することを含む
    請求項1に記載の数式処理方法。
  4. 上記編集インターフェースは、ユーザーが入力命令を発送しユーザーが希望する方式により上記ユーザーに式内容を表示する可視編集領域と、前記可視編集領域と同じ式内容が入力され入力捕捉イベントを活性化する隠れ編集領域とを含み、
    上記ユーザーが上記編集インターフェースを通じて入力した上記式内容における演算子または演算数を順に取得して、上記主体対象を生成することは、
    上記ユーザーが上記可視編集領域で発送した編集命令に基づいて、上記可視編集領域に現在の入力位置を指示する模擬カーソルを表示し、上記模擬カーソルはユーザーの入力に従って移動し、式内での前記模擬カーソルの位置に基づいて上記模擬カーソルと関連するシステムカーソルを上記隠れ編集領域の式内に位置決めて、入力捕捉イベントを活性化し、
    前記可視編集領域での前記模擬カーソルの位置に対する入力に伴い、前記入力捕捉イベントで上記隠れ編集領域での前記システムカーソルの位置に入力された上記式内容における演算子または演算数を順に捕捉し、上記システムカーソルの現在位置と上記捕捉された演算子または演算数に基づいて初期ヌル対象に図形対象及び図形対象における演算数の少なくとも一方を添加して、上記主体対象を取得することを含む
    請求項3に記載の数式処理方法。
  5. 上記主体対象を取得した後に、さらに、
    上記ユーザーの領域選択操作を識別し、上記領域選択操作はユーザーが上記式内容における一部演算数を選定する操作を意味し、
    上記ユーザーが選定した上記式内容における一部演算数の開始位置および終了位置を前記主体対象内で特定することで上記主体対象内で選定した領域を特定し、
    上記ユーザーが上記領域選択操作で選定した領域内で再び入力した演算数を取得し、前記選定した領域内の演算数を除去し、前記再び入力した演算数を挿入し更新することを含む
    請求項4に記載の数式処理方法。
  6. 数式における演算のタイプを表す演算タイプ属性と数式における数字を表す演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する式文法ツリーである上記式内容に対応する主体対象を取得する取得モジュールと、
    前記主体対象における上記図形対象の間の階層関係に従って上位側の階層の図形対象を順次選択し、各図形対象の演算タイプ属性及び演算数属性に応じた数式部分を示す数学表現式の図形を生成する処理モジュールと、
    前記主体対象における上記図形対象の間の階層関係により、上記図形対象に対応する数学表現式の図形で上記式文法ツリー上の図形対象を上位階層側から順に置換して上記式文法ツリーをウェブページに描いて、上記式内容に対応する数式を表示する製図モジュールとを含む
    数式処理装置。
  7. 上記取得モジュールは、
    上記式内容を取得し、
    予設の分解規則により、上記式内容をさらに分解できない基準表現式に分解し、
    上記基準表現式の間の階層関係、上記基準表現式のタイプ及び上記基準表現式に含まれる演算数によって、上記主体対象を生成する
    請求項6に記載の数式処理装置。
  8. 上記取得モジュールは、
    上記ウェブページでユーザーに一つの編集インターフェースを提供し、
    上記ユーザーが上記編集インターフェースを通じて入力した上記式内容における演算子または演算数を順に取得して、上記主体対象を生成する
    請求項6に記載の数式処理装置。
  9. 上記編集インターフェースは、ユーザーが入力命令を発送しユーザーが希望する方式により上記ユーザーに式内容を表示する可視編集領域と、前記可視編集領域と同じ式内容が入力され入力捕捉イベントを活性化する隠れ編集領域を含み、
    上記取得モジュールは、
    上記ウェブページでユーザーに上記編集インターフェースを提供し、
    上記ユーザーが上記可視編集領域で発送した編集命令に基づいて、上記可視編集領域に現在の入力位置を指示する模擬カーソルを表示し、上記模擬カーソルはユーザーの入力に従って移動し、式内での前記模擬カーソルの位置に基づいて上記模擬カーソルと関連したシステムカーソルを上記隠れ編集領域の式内に位置決めて、入力捕捉イベントを活性化し、
    前記可視編集領域での前記模擬カーソルの位置に対する入力に伴い、前記入力捕捉イベントで上記隠れ編集領域での前記システムカーソルの位置に入力された上記式内容における演算子または演算数を順に捕捉し、上記システムカーソルの現在位置と上記捕捉された演算子または演算数に基づいて、初期ヌル対象に図形対象及び図形対象における演算数の少なくとも一方を添加して、上記主体対象を取得する
    請求項8に記載の数式処理装置。
  10. さらに、
    上記式内容における一部演算数を選定する操作を意味する、ユーザーの領域選択操作を識別する識別モジュールと、
    上記ユーザーが選定した上記式内容における一部演算数の開始位置および終了位置を前記主体対象内で特定することで上記主体対象内で選定した領域を特定する特定モジュールと、
    上記ユーザーが上記領域選択操作で選定した領域内に再び入力した演算数を取得し、前記選定した領域内の演算数を除去し、前記再び入力した演算数を挿入し更新する更新モジュールとを含む
    請求項9に記載の数式処理装置。
  11. 一または複数のプロセッサと、
    メモリと、
    上記メモリに記憶されている一または複数のプログラムを含み、
    上記一または複数のプログラムが上記一または複数のプロセッサに実行されるとき、
    数式における演算のタイプを表す演算タイプ属性と数式における数字を表す演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する式文法ツリーである上記式内容に対応する主体対象を取得し、
    前記主体対象における上記図形対象の間の階層関係に従って上位側の階層の図形対象を順次選択し、各図形対象の演算タイプ属性及び演算数属性に応じた数式部分を示す数学表現式の図形を生成し、
    前記主体対象における上記図形対象の間の階層関係によって、上記図形対象に対応する数学表現式の図形で上記式文法ツリー上の図形対象を上位階層側から順に置換して上記式文法ツリーをウェブページに描いて、上記式内容に対応する数式を表示する
    デバイス。
  12. 一つのデバイスにより実行される時、上記デバイスに、
    数式における演算のタイプを表す演算タイプ属性と数式における数字を表す演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する式文法ツリーである上記式内容に対応する主体対象を取得し、
    前記主体対象における上記図形対象の間の階層関係に従って上位側の階層の図形対象を順次選択し、各図形対象の演算タイプ属性及び演算数属性に応じた数式部分を示す数学表現式の図形を生成し、
    前記主体対象における上記図形対象の間の階層関係によって、上記図形対象に対応する数学表現式の図形で上記式文法ツリー上の図形対象を上位階層側から順に置換して上記式文法ツリーをウェブページに描いて、上記式内容に対応する数式を表示させる
    一または複数のプログラム。
JP2017526093A 2014-12-17 2015-07-08 数式処理方法、装置、デバイス及びプログラム Active JP6866551B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410790497.1A CN104572577B (zh) 2014-12-17 2014-12-17 数学公式处理方法及装置
CN201410790497.1 2014-12-17
PCT/CN2015/083534 WO2016095502A1 (zh) 2014-12-17 2015-07-08 数学公式处理方法、装置、设备和计算机存储介质

Publications (2)

Publication Number Publication Date
JP2018501551A JP2018501551A (ja) 2018-01-18
JP6866551B2 true JP6866551B2 (ja) 2021-04-28

Family

ID=53088684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017526093A Active JP6866551B2 (ja) 2014-12-17 2015-07-08 数式処理方法、装置、デバイス及びプログラム

Country Status (4)

Country Link
JP (1) JP6866551B2 (ja)
KR (1) KR101950126B1 (ja)
CN (1) CN104572577B (ja)
WO (1) WO2016095502A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572577B (zh) * 2014-12-17 2018-09-04 百度在线网络技术(北京)有限公司 数学公式处理方法及装置
CN106802749A (zh) * 2015-11-25 2017-06-06 阿里巴巴集团控股有限公司 数值输入方法及装置
CN107390978B (zh) * 2017-07-27 2020-11-03 广州视源电子科技股份有限公司 公式的显示方法、装置、终端及计算机可读存储介质
CN107832271B (zh) * 2017-10-31 2021-08-31 广州视睿电子科技有限公司 函数图像绘制方法、装置、设备及计算机存储介质
CN109992121B (zh) * 2017-12-29 2023-02-03 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置
CN111309302B (zh) * 2020-02-06 2023-04-18 杭州电子科技大学 一种基于LaTeX的四则运算与三角函数混合运算公式转换Verilog代码的方法
CN112269476B (zh) * 2020-10-28 2024-05-31 维沃移动通信有限公司 公式显示方法、装置和电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01108673A (ja) * 1987-10-21 1989-04-25 Hitachi Ltd 数式入力編集方式
JP2000148738A (ja) * 1998-11-16 2000-05-30 Suuken Shuppan Kk 数式入力・表示装置および方法並びに数式入力・表示プログラムを記録した記録媒体
US20040114258A1 (en) * 2002-12-17 2004-06-17 Harris Richard Alexander Device and method for combining dynamic mathematical expressions and other multimedia objects within a document
JP4956757B2 (ja) * 2006-03-15 2012-06-20 国立大学法人大阪大学 数式記述構造化言語オブジェクト検索システムおよび検索方法
KR100963976B1 (ko) * 2007-12-24 2010-06-15 엔에이치엔(주) 이미지 정보에 기초하여 연산을 처리하기 위한 방법, 장치,시스템 및 컴퓨터 판독 가능한 기록 매체
CN101436309B (zh) * 2008-12-15 2011-03-30 北大方正集团有限公司 一种修改公式运算符的方法和装置
CA2863522C (en) * 2012-01-23 2018-08-28 Microsoft Corporation Formula detection engine
CN102663138A (zh) * 2012-05-03 2012-09-12 北京大学 一种公式查询条件的输入方法与装置
CN103425634B (zh) * 2012-05-17 2016-04-06 北大方正集团有限公司 一种流式文档的生成方法及装置
CN102693303B (zh) * 2012-05-18 2017-06-06 上海极值信息技术有限公司 一种公式化数据的搜索方法及装置
CN103176954A (zh) * 2013-03-27 2013-06-26 重庆市科学技术研究院 一种基于HTML5 canvas的数学公式显示方法及系统
CN103425773A (zh) * 2013-08-02 2013-12-04 深圳市菁优网络科技有限公司 一种利用原生Html在网页中快速显示数学公式的方法
CN104572577B (zh) * 2014-12-17 2018-09-04 百度在线网络技术(北京)有限公司 数学公式处理方法及装置

Also Published As

Publication number Publication date
JP2018501551A (ja) 2018-01-18
KR101950126B1 (ko) 2019-02-19
CN104572577B (zh) 2018-09-04
CN104572577A (zh) 2015-04-29
KR20170071553A (ko) 2017-06-23
WO2016095502A1 (zh) 2016-06-23

Similar Documents

Publication Publication Date Title
JP6866551B2 (ja) 数式処理方法、装置、デバイス及びプログラム
CN107844299B (zh) 一种Web应用开发工具的实现方法
CN106909610B (zh) 基于浏览器的可视化拖拽查询数据的方法及系统
US9047261B2 (en) Document editing method
JP3857663B2 (ja) 構造化文書編集装置、構造化文書編集方法及びプログラム
US20030037076A1 (en) Method, computer program and system for style sheet generation
US20140006913A1 (en) Visual template extraction
US10049095B2 (en) In-context editing of output presentations via automatic pattern detection
JP2021536062A (ja) 特許文書作成装置、方法、コンピュータプログラム、コンピュータで読み取り可能な記録媒体、サーバー、およびシステム
CN109710250B (zh) 一种用于构建用户界面的可视化引擎系统及方法
CN103593414A (zh) 一种浏览器中网页的展现方法和装置
KR20150085716A (ko) 웹 스크래핑 추출 데이터 설정 방법
CN102902673A (zh) 一种用于动态生成网页的方法和装置
JPWO2006137563A1 (ja) データ処理装置及びデータ処理方法
US20090083300A1 (en) Document processing device and document processing method
CN108170409A (zh) Web前端控件的开发方法和系统
JPWO2006137562A1 (ja) 文書処理装置及び文書処理方法
WO2007081017A1 (ja) 文書処理装置
JPWO2005098658A1 (ja) 文書処理装置及び文書処理方法
EP1830274A1 (en) Server device and name space issuing method
JPWO2006051974A1 (ja) 文書処理装置および文書処理方法
KR100522186B1 (ko) 동적으로 홈페이지를 제작하는 방법 및 이 방법을 웹에서구현하는 장치
JPWO2007052680A1 (ja) 文書処理装置及び文書処理方法
JPWO2006001392A1 (ja) 文書処理方法および装置
US20080005085A1 (en) Server Device and Search Method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180912

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190704

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20190704

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190712

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20190716

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20190906

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20190910

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200212

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200414

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20200811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201109

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20210202

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210309

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210311

R150 Certificate of patent or registration of utility model

Ref document number: 6866551

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150