JP5665821B2 - 文書処理装置、及びプログラム - Google Patents

文書処理装置、及びプログラム Download PDF

Info

Publication number
JP5665821B2
JP5665821B2 JP2012204591A JP2012204591A JP5665821B2 JP 5665821 B2 JP5665821 B2 JP 5665821B2 JP 2012204591 A JP2012204591 A JP 2012204591A JP 2012204591 A JP2012204591 A JP 2012204591A JP 5665821 B2 JP5665821 B2 JP 5665821B2
Authority
JP
Japan
Prior art keywords
output
condition
document
structured document
unit
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.)
Expired - Fee Related
Application number
JP2012204591A
Other languages
English (en)
Other versions
JP2014059744A (ja
Inventor
裕介 土井
裕介 土井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012204591A priority Critical patent/JP5665821B2/ja
Priority to US14/027,658 priority patent/US20140082481A1/en
Publication of JP2014059744A publication Critical patent/JP2014059744A/ja
Application granted granted Critical
Publication of JP5665821B2 publication Critical patent/JP5665821B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/149Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、文書処理装置、及びプログラムに関する。
従来、XMLなどの構造化文書においては、文書のデータ量が大きくなる傾向にあるため、高速なデータ処理や大量のXML文書を扱う処理には向いていなかった。そこで、効率的、かつ高速なデータ処理のための規格としてEXI(Efficient XML Intarchange)が提案されている。EXIは、XML文書をXMLスキーマにしたがってバイナリー化したEXIストリームへと変換する。バイナリー化されたデータは、データ容量が劇的に低減されることから、効率的なデータの通信や処理に寄与することができる。
特開2011−100234号公報
このEXIストリームを用いたデータ処理の例としては、バイナリー化されて大量に送られてくるEXIストリームから、ある条件に一致するデータのみをフィルタリングして抽出し、必要なデータのみを処理の対象とする場合が考えられる。しかしながら、このような大量のデータ処理を行うために最適化された文書処理の方法についてははこれまで開示されていない。
実施形態の課題は、上記に鑑みてなされたものであって、大量のバイナリー化された構造化文書のデータを高速に処理することのできる文書処理装置を提供することにある。
上述した課題を解決し、目的を達成するために、本発明の実施形態の文書処理装置は、クエリデータを分解したクエリ要素に対して、入力された構造化文書が条件を満たすかを判定するクエリ要素判定部を備える。クエリ要素判定部は、条件が肯定出力、又は否定出力で確定すると終了条件決定部に出力し、終了条件決定部は、クエリデータから生成され、各クエリ要素の条件を組み合わせた論理式で表現される終了条件を満たした場合に、条件を満たした旨の出力を行う。
図1は、実施形態の文書処理装置の接続例を示す図。 図2は、実施形態の文書処理装置の詳細な機能構成を示す図。 図3は、実施形態のXMLスキーマの例を示す図。 図4は、実施形態のEXIストリームの例を示す図。 図5は、実施形態の文書処理の流れを示すフロー図。 図6は、実施形態の文書処理の別例の流れを示すフロー図。
(第1の実施形態)
図1は、第1の実施形態にかかる文書処理装置の構成を示すブロック図である。本実施系形態においては、EXI規格によってバイナリー化されたXMLの構造化文書を処理する構成を示している。そのため、本実施形態では、スキーマとしてXMLスキーマを採用しているが、これはRELAX NGなどのほかの構造化文書を定義する文法を用いてもよい。また、構造化文書がXMLでなくASN.1などの他の構造化文書であってもよく、状態機械として文法が表現することのできる構造化文書のフォーマットであれば使用することができる。また、文書処理装置への入出力はEXIを採用しているが、他の規格を用いてもよい。
図1に示されるように、本実施形態においては、文書処理装置200にはEXIストリーム500が入力されている。また、文書処理装置200には、XMLスキーマ300、及び入力クエリデータ400に基づいて文法生成部100により生成された終了条件付き状態機械が入力される。そして、終了条件付き状態機械によってフィルタリングされたEXIストリーム600を文書処理装置200は、出力する。図3は、XMLスキーマの例であり、図4(a)はEXIで定義されるイベント列で表記された構造化文書の一例、図4(b)は図4(a)をXML形式で示した文書の一例である。
図3で例示したXMLスキーマは、MeasurementType、PointsType、及びPontTypeという3種類の要素について定義する文法である。また、入力クエリデータ400としては、本実施形態では、「/measurement/points/point/typeの値がtemperature であり、かつ/measurement/points/point/valueの値が40以上である構造化文書を絞り込む」旨を示すクエリが付与される。
文法生成部100は、これらのXMLスキーマ300、及び入力クエリデータ400から、終了条件付き状態機械を生成し、文書処理装置200へと入力する。以下、終了条件付き状態機械の生成について、その詳細を説明する。終了条件付き状態機械とは、XMLスキーマを構成する状態機械に、終了条件を付加したものである。具体的には、XMLスキーマ300と対応する状態機械、入力クエリデータから分解された条件判断要素である一つまたは複数のクエリ要素、クエリ要素の組み合わせの論理式によって示すことができる終了条件とを含む。
状態機械は、例えば、型文法表、状態表、遷移表の3つの表からなる文法の表現を示すが、状態機械であれば何であってもよい。ここで、本実施形態においては、状態機械は、プッシュダウンオートマトンであり、複数の有限状態機械を持ち、状態遷移をトリガとして有限状態遷移機械のスタックを構成するものとする。
クエリ要素は、入力クエリデータ400を分解して得られる、入力されたEXIストリーム500に含まれる注目すべき値に対応する属性を指定する条件式である。クエリ要素の種類は2つ存在しており、一つは、文法に含まれる特定の状態遷移を有限回(n回)遷移したら値を確定させる、というクエリ要素である。これは、例えばあるタグが存在するか、あるいはしないか、ということを判定するために利用する。タグeの存在確認は、タグeが存在することを確定させる状態遷移SE(e)に対し、n=1でTRUEを確定させるクエリ要素q1によって表現することができる。
また、タグeの非存在確認は、同じクエリ要素にFALSEを確定させる(q1)と同時に、タグeがその箇所以降登場しえないことが確定する遷移に、TRUEを確定させるクエリ要素(q2)を作成し、終了条件をq1あるいはq2とすればよい。
また、もう一つのクエリ要素の例は、値に対応するクエリ要素である。ある値に対して、数値の大小等値、あるいは文字列の判定関数(例えば、正規表現のマッチング、等値、先頭一致、末尾一致など)による判定を行い、この判定結果によりTRUE、またはFALSEを確定させる。
上述の入力クエリデータ400からは、以下の2つのクエリ要素が得られる。
QE1:/measurement/points/point/typeの値がtemperatureである
QE2:/measurement/points/point/valueの値が40以上である
なお、本実施形態においては、入力クエリデータ400はXPathのサブセットで記述している。XPathのうち、ノード名を軸とした省略のないパスに相当する構文規則を入力の要素とし、以後これをパスと呼ぶ。各ノード名はスラッシュで区切られ、例えば/node1/node2/@attribとなる。これは、XMLにおける、node1要素の下のnode2要素の下のattrib属性の値を意味する。本実施例における問い合わせの例としては、値が指定したパスにおいて存在するか否かを確認するもの、及び指定した値が、所定の条件を満たすか否かを確認するものと2種類を想定する。値が指定したパスにおいて存在するか否かを確認するものとしては、例えば、/node1/node2/@attribのように記述し、このパスが存在すればTRUEとなる。また、指定した値が、所定の条件を満たすか否かを確認するものとしては、例えば/node1/node2[@a="test"]のように記述し、node1要素の下のnode2要素で、かつnode2要素のa属性の値が"test"であるものがあるときTRUEとなる。
したがって、文法生成部100は、この入力となる入力クエリデータ400のそれぞれの項を単純にクエリ要素として分解している。また、他のより最適な方法として、例えば値の非存在に対するテスト(値の存在に対するテストの否定形)があった時、これを、その値(タグ)が既に登場し得ない条件、具体的には、XMLスキーマで規定されている構文上、対象となるタグが出現しておらず、かつ、そのタグよりも後ろに登場するタグが出現する、という条件に書き換えることにより、最適化を行うことができる。
タグの非存在は全てのXML文書の構文解釈が終了まで通常であれば判定できないが、スキーマにより規定される構文に書き換えることでより早い段階でクエリ要素の判断を行うことができるようになる。
終了条件は、クエリ要素それぞれの出力を組み合わせ生成された論理式である。入力クエリデータ400が要求する最終的な出力は、この終了条件によって表現される。例えば、クエリ要素としてq1、q2、q3の3つの要素が存在していた場合、終了条件は例えば、(q1∨q2)∧q3のような形式で表現することができる。これは、例えばXML文書の入力が顧客プロファイルであるとし、q1が「年齢エレメントの値が20才以下」で、q2が「職業エレメントの値が学生である」とし、q3を「同居家族エレメントの下に両親エレメントが存在する」とすると、「親と同居している学生または未成年」という条件が表現できる。文法生成部100は、以上のように生成したクエリ要素、及び終了条件を文書処理装置200へと入力する。
次に、文書処理装置200の詳細な構成について図2を用いて説明する。文書処理装置200は、状態遷移実行部210、文書記憶部220、状態機械記憶部230、割当部240、クエリ要素判定部250、終了条件決定部260、出力部270を備えている。本実施形態では、クエリ要素判定部250はN個あり、終了条件決定部260は1個の例である。文書記憶部220は、入力されたEXIストリーム500を受け付けて、EXIストリーム500を記憶する。EXIストリーム500の入力は1データずつ行われ、状態遷移実行部210は、1データが終了条件を満たすと次のデータの入力を受け付ける。
状態機械記憶部230には、文法生成部100によって生成された状態機械が入力されて記憶されている。したがって、状態機械記憶部230は、文法生成部100が生成した状態機械により設定される。なお、状態機械記憶部230には、複数の状態機械が記憶されている場合もある。また、状態遷移実行部210は、文書記憶部220に記憶されたEXIストリーム500を、EXIストリーム500に対応する記憶された状態機械にしたがって、状態の遷移を行い、遷移が実行されるごとに、文書記憶部220に記憶されたEXIストリーム500の現在状態を更新する。対応する状態機械は、EXIストリーム500中の宣言したXMLスキーマ300の対応関係から判断することができる。
また、状態遷移実行部210は、遷移を実行するごとに、割当部240に遷移の内容を通知する。割当部240は、通知を受けた遷移の内容からいずれのクエリ要素判定部250に対して情報を通知するかを選択する。クエリ要素判定部250は、文法生成部100によって生成されたクエリ要素が入力され、クエリ要素に従って生成される。具体的には、入力されたクエリ要素の数だけ生成され、例えば上述した例では2個のクエリ要素判定部250が生成される。
クエリ要素判定部250は、ある入力文書に対してTRUE(真)|FALSE(偽)|UNKNOWN(不定)の3つの値をとりうる。TRUEとは、入力されたEXIストリーム500の注目する値に対応する属性が条件を満たす旨の肯定出力である。FALSEとは、入力された前記構造化文書中の注目する値に対応する属性が条件を満たさない旨の否定出力である。UNKNOWNとは、条件の判定を未だ行うことができない旨を示す待機出力である。
そして、クエリ要素判定部250は、出力がTRUE、又はFALSEに確定するまではUNKNOWNを値として出力する。そして、入力されたEXIストリーム500を構成する要素の列(入力列)の解釈が進むにつれ、TRUE、あるいはFALSEの出力値を確定する。クエリ要素は一度出力値を確定させたら、その後は変化しない。クエリ要素判定部250は、TRUE、FALSE、及びUNKNOWNの出力値を終了条件決定部260に対して出力する。
終了条件決定部260は、クエリ要素判定部250が出力する各出力値の条件の組み合わせにより、入力されたXMLストリーム500が入力クエリデータ400の条件を満たすか否かを表現し、TRUE、FALSE、UNKNOWNのいずれかを出力する。終了条件決定部260における終了条件も、文法生成部100によって生成された終了条件によって設定される。本実施形態の例では、QE1 and QE2が終了条件であるため、QE1と、QE2からTRUEが入力された時点で終了条件は満たされることとなる。
以下、詳細な処理の流れについて図5のフローチャートを用いて説明する。まず、状態遷移実行部210は、文書記憶部220からXMLストリーム500の現在状態を読み込む(ステップS1)。続いて、状態遷移実行部210は、状態機械記憶部230から、読み込んだXMLストリーム500と対応する状態機械を取得することで、現在状態から次のイベント(遷移)を発見する(ステップS2)。そして、状態遷移実行部210は、イベント(遷移)を実行し、遷移した後の現在状態を文書記憶部220に書き込む(ステップS3)。なお、この動作は通常のスタックを有するプッシュダウンオートマトンと同様であり、「現在状態」は現在の状態機械のIDのスタックと、スタック最上位に存在するアクティブな状態機械上の現在状態のIDとを有する。
また、状態遷移実行部210は、状態遷移を実行すると同時に、遷移後の現在状態と、イベントIDと、イベントがCH(EXI規格において「値」を意味するイベントタイプ)である場合には、CHに対応する値と、を割当部240へと入力する(ステップS4)。割当部240は、クエリ要素に対応するイベントID、すなわちクエリ要素の条件の判定に用いられるイベントがどのイベントになるかを、予め文法生成部100から入力されたクエリ要素と、状態機械とから判別することができる。したがって、割当部240は、入力されたイベントIDに対応するクエリ要素判定部250に対して、現在状態と、イベントIDと、対応する値を出力する(ステップS5)。このとき、複数のクエリ要素が一つのイベントIDに対応する場合は、同時に複数のクエリ要素判定部250に出力が行われる。
クエリ要素判定部250は、それぞれが内部に状態変数を持ち、入力に対して状態変数を更新し、更新した結果、出力がTRUE、又はFALSEに確定したか否かを判定する(ステップS6)。状態変数は、例えば、遷移の回数、比較対象となる値、遷移の前条件となるスタックの値などが存在する。
クエリ要素判定部250の出力がUNKNOWNのままであった場合(ステップS6:No)、ステップS1へと戻り以降の処理を繰り返す。また、クエリ要素判定部250の出力がTRUE、またはFALSEであった場合(ステップS6:Yes)、出力を受けた終了条件決定部260は、入力された値により終了条件がTRUE、又はFALSEに確定したか否かを判定する(ステップS7)。なお、終了条件決定部260での判定は、クエリ要素判定部250からの出力が変化した際に行ってもよいし、一定のサイクルごとに行ってもよい。
入力された値により終了条件がTRUEに確定した場合(ステップS7:TREU)、出力部270は、XMLストリーム600を出力して、処理を終了する(ステップS8)。また、入力された値により終了条件がFALSEに確定した場合(ステップS7:FALSE)、状態遷移実行部210は、入力されたXMLストリーム500を破棄して、処理を終了する(ステップS8)。また、入力された値により終了条件がUNKNOWNのままであった場合(ステップS7:UNKNOWN)、ステップS1に戻り処理を繰り返す。
また、別の例として図6のフローチャートに従った処理も可能である。図6では、図5と同様の処理については同じステップ番号を付与しており、異なる処理についてのみ説明する。図6に示されるように、終了条件決定部260は、全てのクエリ要素判定部250からの出力が確定したか否かを判定する(ステップS17)。全ての出力が確定していないと判定された場合(ステップS17:No)、全ての出力が確定するまでステップ1からの処理を繰り返す。一方、全ての出力が確定したと判定された場合(ステップS17:Yes)、終了条件決定部260は、出力がTRUE、又はFALSEのいずれになったかを判定する(ステップS18)。全てのクエリ要素判定部250からの出力が確定していることから、終了条件決定部260からの出力は、TRUEかFALSEのいずれかとなる。
以上の処理を図4で示したXMLストリーム500に適用した場合について説明する。EXIストリームにおいて、状態機械のスタックはSEイベントによりプッシュされ、EEイベントによりポップされる。具体的には、図4中のイベントCH(12345)の段階では、状態機械はSD、SE(measurement)、SE(ID)の順に積まれる。また、次のCH(temperature)の段階では、SE(ID)がEE(ID)によりポップされ、スタックは、SD、SE(measurement)、SE(points)、SE(point)、SE(type)となる。これは、パス/measurement/points/point/typeに対応し、CHによって指定された値がtemperatureであることから、「QE1:/measurement/points/point/typeの値がtemperatureであるの条件を満たす」。したがって、この時点でQE1に対応するクエリ要素判定部250はTRUEを終了条件決定部260へ出力する。
また、同様にCH(40.5)の際には、スタックは、SD、SE(measurement)、SE(points)、SE(point)、SE(value)となる。これは、パス/measurement/points/point/valueに対応し、CHによって指定された値が40.5であることから、「QE2:/measurement/points/point/valueの値が40以上である」を満たす。したがって、この時点でQE2に対応するクエリ要素判定部250はTRUEを終了条件決定部260へ出力する。
この段階で終了条件が成立するので、入力列の以降の部分については状態遷移が実行されずに、終了条件決定部260は、出力をTRUEに決定する。
以上に示した本実施形態の文書処理装置200にあっては、入力されたクエリデータ400を条件ごとに分解したクエリ要素判定部250によって、並列的にXMLストリーム500を解析、評価することができ、また条件式自体が単純な構造によって記述されているため解析に要する時間も短くなる。したがって、XMLストリーム500がクエリデータ400を満たすか否かの判定を高速に処理することができるようになり、構造化文書を処理する速度を向上させることができるようになる。
なお、上記の実施形態では、文法生成部100を文書処理装置200に含ませない構成を示したが、文法生成部100の機能を文書処理装置200内で実現するようにしてもよい。
また、上記実施形態で示した文書処理装置は例えば次のような装置として実現することもできる。例えば、文書処理装置を入力となるEXIストリームを、複数の出力先に振り分ける、コンテンツベースのネットワークスイッチとして利用することもできる。この場合、個々の出力先に対応する終了条件決定部を複数用意し、EXIストリームに対して同様の処理を行い、成立した終了条件に対応する出力先にEXIストリームを出力するようにしてもよい。終了条件決定部を並列に用意するとき、単純に並列化してもよいし、終了条件決定部に優先度を設けて、ある優先度の終了条件の出力がTRUEに確定したら、それ以降は判定を停止するようにしてもよい。
また、文書処理装置を、EXIストリームのうち、入力クエリデータ400によって指定された条件に対応する部分までは判定を行わずに読み進め、対応する条件にあたる部分のみ詳細な検討を行う、といったプリプロセッサのような用法で用いることもできる。この際、出力部はEXIストリームに加えて、文書処理装置における判定時の現在状態、及び判定したCHの位置を出力してもよい。出力を受信したアプリケーションは、EXIストリームを先頭から解釈することなく、入力クエリデータで指定し、クエリ要素判定部において成立した条件の直後から解釈を継続できる。これによりアプリケーション処理の高速化が可能となる。
以上の各実施形態の文書処理装置は、例えばCPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
以上の各実施形態の文書処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、以上の各実施形態のプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、以上の各実施形態の文書処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、以上の各実施形態のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
以上の各実施形態の文書処理装置はで実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 文法生成部
200 文書処理装置
210 状態遷移実行部
220 文書記憶部
230 状態機械記憶部
240 割当部
250 クエリ要素判定部
260 終了条件決定部
270 出力部
300 XMLスキーマ
400 入力クエリデータ
500 EXIストリーム
600 EXIストリーム

Claims (6)

  1. 構造化文書を定義する文法から生成される状態機械を記憶する状態機械記憶部と、
    処理中のバイナリー化された構造化文書を記憶する文書記憶部と、
    前記構造化文書の入力を受け付け、前記文書記憶部に記憶する文書受付部と、
    前記文書記憶部に記憶された前記構造化文書を、前記構造化文書に対応する記憶された前記状態機械にしたがって、状態の遷移を行い、遷移が実行されるごとに、前記文書記憶部に記憶された前記構造化文書の現在状態を更新する状態遷移実行部と、
    前記構造化文書に対する条件を指定するクエリデータから条件単位毎に分割されて複数生成されるクエリ要素に対し、入力された前記構造化文書中の注目する値に対応する属性を満たすか否かを判定し、出力値として、条件を満たす旨の肯定出力、条件を満たさない旨の否定出力、及び条件の判定を未だ行うことができない旨を示す待機出力のいずれかを出力し、前記肯定出力、又は前記否定出力が出力されるまでは、前記待機出力を出力するクエリ要素判定部と、
    前記クエリ要素判定部が出力する各出力値の条件の組み合わせの論理式により表現され、入力された前記構造化文書が前記クエリデータの条件を満たすか否かを表現する終了条件の出力として、条件を満たす旨の肯定出力、条件を満たさない旨の否定出力、及び条件の判定を未だ行うことができない旨を示す待機出力のいずれかを出力する終了条件決定部と、
    前記構造化文書を出力する出力部と、
    を備え、
    前記状態遷移実行部は、前記終了条件決定部が前記待機出力を出力している間は、前記遷移を実行し、前記終了条件決定部が前記否定出力を出力した場合は、処理中の入力された前記構造化文書を破棄して、前記文書受付部に次の前記構造化文書の入力を指示し、
    前記出力部は、前記終了条件決定部が前記肯定出力を出力する場合は、処理中の前記構造化文書を出力し、
    前記クエリ要素は、前記状態機械に含まれる特定の状態遷移を有限回遷移したら値を確定させるというクエリ要素、又は指定された要素の値が条件を満たすか否かを判定するクエリ要素のいずれかである
    ことを特徴とする文書処理装置。
  2. 前記構造化文書を定義する文法、及び前記クエリデータの入力を受け付け、前記文法に基づいて前記状態機械を生成するとともに、前記文法、及び前記クエリデータに基づいて前記クエリ要素、及び前記終了条件を生成する文法生成部と
    を更に備えることを特徴とする請求項1に記載の文書処理装置。
  3. 複数の前記終了条件決定部を備え、
    前記終了条件決定部は、それぞれ対応する出力先が設定されており、
    前記出力部は、前記終了条件決定部が前記終了条件を満たして肯定出力を出力した場合に、肯定出力を出力した前記終了条件決定部に対応する前記出力先に対して、前記構造化文書を出力する
    ことを特徴とする請求項1または2に記載の文書処理装置。
  4. 構造化文書を定義する文法から生成される状態機械を記憶する状態機械記憶部と、
    処理中のバイナリー化された構造化文書を記憶する文書記憶部と、
    前記構造化文書の入力を受け付け、前記文書記憶部に記憶する文書受付部と、
    前記文書記憶部に記憶された前記構造化文書を、前記構造化文書に対応する記憶された前記状態機械にしたがって、状態の遷移を行い、遷移が実行されるごとに、前記文書記憶部に記憶された前記構造化文書の現在状態を更新する状態遷移実行部と、
    前記構造化文書に対する条件を指定するクエリデータから条件単位毎に分割されて複数生成されるクエリ要素に対し、入力された前記構造化文書中の注目する値に対応する属性を満たすか否かを判定し、出力値として、条件を満たす旨の肯定出力、条件を満たさない旨の否定出力、及び条件の判定を未だ行うことができない旨を示す待機出力のいずれかを出力し、前記肯定出力、又は前記否定出力が出力されるまでは、前記待機出力を出力するクエリ要素判定部と、
    前記クエリ要素判定部が出力する各出力値の条件の組み合わせの論理式により表現され、入力された前記構造化文書が前記クエリデータの条件を満たすか否かを表現する終了条件の出力として、条件を満たす旨の肯定出力、条件を満たさない旨の否定出力、及び条件の判定を未だ行うことができない旨を示す待機出力のいずれかを出力する複数の終了条件決定部と、
    前記構造化文書を出力する出力部と、
    を備え、
    前記状態遷移実行部は、前記終了条件決定部が前記待機出力を出力している間は、前記遷移を実行し、前記終了条件決定部が前記否定出力を出力した場合は、処理中の入力された前記構造化文書を破棄して、前記文書受付部に次の前記構造化文書の入力を指示し、
    前記終了条件決定部は、それぞれ対応する出力先が設定されており、
    前記出力部は、前記終了条件決定部が前記終了条件を満たして肯定出力を出力した場合に、肯定出力を出力した前記終了条件決定部に対応する前記出力先に対して、処理中の前記構造化文書を出力する
    ことを特徴とする文書処理装置。
  5. コンピュータを、
    構造化文書を定義する文法から生成される状態機械を記憶する状態機械記憶部と、
    処理中のバイナリー化された構造化文書を記憶する文書記憶部と、
    前記構造化文書の入力を受け付け、前記文書記憶部に記憶する文書受付部と、
    前記文書記憶部に記憶された前記構造化文書を、前記構造化文書に対応する記憶された前記状態機械にしたがって、状態の遷移を行い、遷移が実行されるごとに、前記文書記憶部に記憶された前記構造化文書の現在状態を更新する状態遷移実行部と、
    前記構造化文書に対する条件を指定するクエリデータから条件単位毎に分割されて複数生成されるクエリ要素に対し、入力された前記構造化文書中の注目する値に対応する属性を満たすか否かを判定し、出力値として、条件を満たす旨の肯定出力、条件を満たさない旨の否定出力、及び条件の判定を未だ行うことができない旨を示す待機出力のいずれかを出力し、前記肯定出力、又は前記否定出力が出力されるまでは、前記待機出力を出力するクエリ要素判定部と、
    前記クエリ要素判定部が出力する各出力値の条件の組み合わせの論理式により表現され、入力された前記構造化文書が前記クエリデータの条件を満たすか否かを表現する終了条件の出力として、条件を満たす旨の肯定出力、条件を満たさない旨の否定出力、及び条件の判定を未だ行うことができない旨を示す待機出力のいずれかを出力する終了条件決定部と、
    前記構造化文書を出力する出力部と、
    として機能させるためのプログラムであって、
    前記状態遷移実行部は、前記終了条件決定部が前記待機出力を出力している間は、前記遷移を実行し、前記終了条件決定部が前記否定出力を出力した場合は、処理中の入力された前記構造化文書を破棄して、前記文書受付部に次の前記構造化文書の入力を指示し、
    前記出力部は、前記終了条件決定部が前記肯定出力を出力する場合は、処理中の前記構造化文書を出力し、
    前記クエリ要素は、前記状態機械に含まれる特定の状態遷移を有限回遷移したら値を確定させるというクエリ要素、又は指定された要素の値が条件を満たすか否かを判定するクエリ要素のいずれかである
    ことを特徴とするプログラム。
  6. コンピュータを、
    構造化文書を定義する文法から生成される状態機械を記憶する状態機械記憶部と、
    処理中のバイナリー化された構造化文書を記憶する文書記憶部と、
    前記構造化文書の入力を受け付け、前記文書記憶部に記憶する文書受付部と、
    前記文書記憶部に記憶された前記構造化文書を、前記構造化文書に対応する記憶された前記状態機械にしたがって、状態の遷移を行い、遷移が実行されるごとに、前記文書記憶部に記憶された前記構造化文書の現在状態を更新する状態遷移実行部と、
    前記構造化文書に対する条件を指定するクエリデータから条件単位毎に分割されて複数生成されるクエリ要素に対し、入力された前記構造化文書中の注目する値に対応する属性を満たすか否かを判定し、出力値として、条件を満たす旨の肯定出力、条件を満たさない旨の否定出力、及び条件の判定を未だ行うことができない旨を示す待機出力のいずれかを出力し、前記肯定出力、又は前記否定出力が出力されるまでは、前記待機出力を出力するクエリ要素判定部と、
    前記クエリ要素判定部が出力する各出力値の条件の組み合わせの論理式により表現され、入力された前記構造化文書が前記クエリデータの条件を満たすか否かを表現する終了条件の出力として、条件を満たす旨の肯定出力、条件を満たさない旨の否定出力、及び条件の判定を未だ行うことができない旨を示す待機出力のいずれかを出力する複数の終了条件決定部と、
    前記構造化文書を出力する出力部と、
    として機能させるためのプログラムであって、
    前記状態遷移実行部は、前記終了条件決定部が前記待機出力を出力している間は、前記遷移を実行し、前記終了条件決定部が前記否定出力を出力した場合は、処理中の入力された前記構造化文書を破棄して、前記文書受付部に次の前記構造化文書の入力を指示し、
    前記終了条件決定部は、それぞれ対応する出力先が設定されており、
    前記出力部は、前記終了条件決定部が前記終了条件を満たして肯定出力を出力した場合に、肯定出力を出力した前記終了条件決定部に対応する前記出力先に対して、処理中の前記構造化文書を出力する
    ことを特徴とするプログラム。
JP2012204591A 2012-09-18 2012-09-18 文書処理装置、及びプログラム Expired - Fee Related JP5665821B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012204591A JP5665821B2 (ja) 2012-09-18 2012-09-18 文書処理装置、及びプログラム
US14/027,658 US20140082481A1 (en) 2012-09-18 2013-09-16 Document processing device and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012204591A JP5665821B2 (ja) 2012-09-18 2012-09-18 文書処理装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014059744A JP2014059744A (ja) 2014-04-03
JP5665821B2 true JP5665821B2 (ja) 2015-02-04

Family

ID=50275799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012204591A Expired - Fee Related JP5665821B2 (ja) 2012-09-18 2012-09-18 文書処理装置、及びプログラム

Country Status (2)

Country Link
US (1) US20140082481A1 (ja)
JP (1) JP5665821B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2605481A1 (de) * 2011-12-13 2013-06-19 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Filtern von Netzwerkverkehr
US10282400B2 (en) * 2015-03-05 2019-05-07 Fujitsu Limited Grammar generation for simple datatypes
US10311137B2 (en) * 2015-03-05 2019-06-04 Fujitsu Limited Grammar generation for augmented datatypes for efficient extensible markup language interchange
JP2023025969A (ja) 2021-08-11 2023-02-24 富士通株式会社 情報処理方法、および情報処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032A (en) * 1852-06-15 mooee
IL107657A (en) * 1993-11-18 1997-01-10 Scitex Corp Ltd Method for transferring documents
JP3368883B2 (ja) * 2000-02-04 2003-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
US7627589B2 (en) * 2004-08-10 2009-12-01 Palo Alto Research Center Incorporated High performance XML storage retrieval system and method
JP5156205B2 (ja) * 2006-07-21 2013-03-06 株式会社ブリヂストン 航空機用空気入りラジアルタイヤ
US8024325B2 (en) * 2008-06-25 2011-09-20 Oracle International Corporation Estimating the cost of XML operators for binary XML storage
US8560944B2 (en) * 2010-04-04 2013-10-15 Hewlett-Packard Development Company, L.P. Document modeling using concurrent hierarchical state machines

Also Published As

Publication number Publication date
JP2014059744A (ja) 2014-04-03
US20140082481A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
TWI506556B (zh) 用於編譯正規表達式之方法及裝置
JP3832830B2 (ja) XPath評価方法、これを用いたXPath評価装置及び情報処理装置
TWI517036B (zh) 程式化的平行機與電腦實施方法、電腦可讀媒體、非暫態電腦可讀媒體、用於編譯程式之電腦及系統
US9396298B1 (en) Linear array display
JP5665821B2 (ja) 文書処理装置、及びプログラム
KR20140005258A (ko) 요소 이용을 위한 상태 그룹화
CN108563448B (zh) 程序文件的编译方法、系统、计算机设备和存储介质
WO2024114655A1 (zh) 一种规则表达式匹配方法、装置及计算机可读存储介质
CN109783626A (zh) 问题生成方法、智能问答系统、介质以及计算机系统
US20160342615A1 (en) Method and device for generating pileup file from compressed genomic data
JP6692281B2 (ja) テストケース生成装置、及びテストケース生成方法
JP2011257817A (ja) 特許明細書分析装置、及び文章分析装置。
JPWO2013172310A1 (ja) ルール発見システムと方法と装置並びにプログラム
CN113254023B (zh) 对象读取方法、装置和电子设备
US11977642B2 (en) Information processing device, information processing method and computer readable medium
JP6364332B2 (ja) 仕様生成方法、仕様生成装置、及びプログラム
JP2006277282A (ja) モデル評価解析システムおよびモデル評価解析プログラム
JP6502044B2 (ja) データ解析装置、データ解析方法、および、プログラム。
JP6802109B2 (ja) ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法
CN108614691B (zh) 网络功能的开发方法、系统、计算机设备和存储介质
JP2010186412A (ja) 文書管理方法及び管理装置
JP2008243075A (ja) 構造化文書管理装置及び方法
JP2014086048A (ja) 検証装置、検査方法およびプログラム
JP2015022356A (ja) テストシナリオバリエーション生成装置及び方法及びプログラム
JP6453685B2 (ja) 演算制御装置、演算制御方法及び演算制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141209

LAPS Cancellation because of no payment of annual fees