プログラム、情報処理装置、および図生成方法
【課題】所定の記述形式に従った図を容易に作成することができるようにする。
【解決手段】コンピュータは、自然言語で記述された文に含まれる文節の構造を解析し、文節の種別を判別する。次にコンピュータは、文節を、文節に含まれる語を内容に含む図形を示す複数の図形データと、複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段1を参照する。そして、コンピュータは、文に含まれる文節を、文節の種別に応じた変換ルールに従って、文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する。
【解決手段】コンピュータは、自然言語で記述された文に含まれる文節の構造を解析し、文節の種別を判別する。次にコンピュータは、文節を、文節に含まれる語を内容に含む図形を示す複数の図形データと、複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段1を参照する。そして、コンピュータは、文に含まれる文節を、文節の種別に応じた変換ルールに従って、文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、図形データを生成するプログラム、情報処理装置、および図生成方法に関する。
【背景技術】
【0002】
業務アプリケーションなどのシステムは開発の際には、まずシステムの仕様が決められる。決められた仕様は、UML(Unified Modeling Language)などの図や形式言語で記述される。
【0003】
システムの開発時にUMLや形式言語で仕様を記述する場合、まず業務の知識に基づいて仕様を決定する。次に、UMLや形式言語の知識に基づいて、決定された仕様をUMLまたは形式言語で記述する。例えばUMLには、クラス図やアクティビティ図などの各種の図(ダイアグラム)に関する記述形式が定められている。記述形式に則って図を作成することで、システムの仕様を、第三者にも分かりやすい図形式でモデリングすることができる。
【0004】
なお、多くの場合、業務遂行者は業務に関する知識は有しているが、UMLや形式言語の記述形式に関する知識には乏しい。またシステムを構築する技術者は、UMLや形式言語の記述形式に関する知識は有しているが、業務の内容に関する知識は乏しい。そこで、UMLまたは形式言語でのシステムの仕様の記述は、業務遂行者と技術者とが連携して作業することになり、非効率的である。
【0005】
そこで、例えば自然言語文を、計算機がプログラム可能な形式言語に変換する技術が考えられている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−28630号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、形式言語での記述は、コンピュータが機械的に解釈するのには都合がよいが、人が目で見て理解しやすいようにグラフィカルにモデリングするものではない。そのため、人が見やすい形式でシステムの仕様をモデリングする場合、依然として、業務を熟知する業務遂行者と、UMLなどのモデリング言語の知識を有する技術者とが連携して作業することとなり、作業効率が悪い。
【0008】
1つの側面では、本発明は、所定の記述形式に従った図を容易に作成することができるプログラム、情報処理装置、および図生成方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
1つの案では、コンピュータに、以下の処理を実行させるプログラムが提供される。コンピュータは、自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する。次にコンピュータは、文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する。
【発明の効果】
【0010】
1態様によれば、所定の記述形式に従った図を容易に作成可能となる。
【図面の簡単な説明】
【0011】
【図1】第1の実施の形態に係る装置の機能構成の一例を示す図である。
【図2】第1の実施の形態における図作成処理手順の一例を示すフローチャートである。
【図3】第1の実施の形態によるモデリングの一例を示す図である。
【図4】第2の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。
【図5】第2の実施の形態におけるモデリング機能の一例を示すブロック図である。
【図6】モデリング用文節DBのデータ構造の一例を示す図である。
【図7】変換ルールDBのデータ構造の一例を示す図である。
【図8】モデル表現DBのデータ構造の一例を示す図である。
【図9】第2の実施の形態におけるモデル生成処理の一例を示す概念図である。
【図10】モデリング処理の手順の一例を示すフローチャートである。
【図11】モデル要素生成処理の手順を示すフローチャートである。
【図12】システムの使用を説明する自然言語文の一例を示す図である。
【図13】言語処理部による解析結果の一例を示す図である。
【図14】文節種別の判別結果の一例を示す図である。
【図15】変換によって生成されたモデル要素の一例を示す第1の図である。
【図16】変換によって生成されたモデル要素の一例を示す第2の図である。
【図17】変換によって生成されたモデル要素の一例を示す第3の図である。
【図18】変換によって生成されたモデル要素の一例を示す第4の図である。
【図19】変換によって生成されたモデル要素の一例を示す第5の図である。
【図20】表示されるクラス図の一例を示す図である。
【図21】表示されるアクティビティ図の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る装置の機能構成の一例を示す図である。第1の実施の形態に係る情報処理装置Aは、記憶手段1、判別手段2、変換手段3、および表示手段4を有している。
【0013】
記憶手段1には、例えば複数の文節種別情報1−1a,1−1b,1−1c,・・・と複数の変換ルール1−2a,1−2b,1−2c,・・・と格納されている。
文節種別情報1−1a,1−1b,1−1c,・・・は、文節の種別ごとに設けられている。文節種別情報1−1a,1−1b,1−1c,・・・には、対応する文節の種別に該当する文節の条件が示されている。文節の種別に該当する条件は、例えば、その種別に属する文節の品詞配列や、含まれる文字で定義される。
【0014】
変換ルール1−2a,1−2b,1−2c,・・・は、文節の種別ごとに設けられている。変換ルールには、対応する種別の文節を、図形データと関係線データとに変換する規則(ルール)が示されている。図形データは、文節に含まれる語を内容に含む図形を示す情報である。関係線データは、複数の図形間の関係に応じた端点形状を有する関係線を示す情報である。
【0015】
判別手段2は、自然言語で記述された文に含まれる文節の構造を解析し、その文節の種別を判別する。例えば判別手段2は、文節の形態素解析を行い、文節に含まれる語(形態素)の品詞を判断する。そして判別手段2は、例えば記憶手段1内の文節種別情報1−1a,1−1b,1−1c,・・・の中から、文に含まれる文節の構造が適合する文節種別情報を検出し、検出した文節種別情報に示される種別を、文に含まれる文節の種別と判別する。
【0016】
変換手段3は、記憶手段1を参照し、文に含まれる文節を、その文節の種別に応じた変換ルールに従って、複数の図形データと関係性データとに変換する。例えば変換手段3は、記憶手段1の中から、文に含まれる文節の種別に対応する変換ルールを選択する。そして変換手段3は、選択した変換ルールに従って、文に含まれる文節を、複数の図形データと関係線を示す関係線データとに変換する。
【0017】
表示手段4は、変換によって生成された複数の図形データと関係線データとに基づいて図を表示する。表示される図には、内容が表記された複数の図形が含まれる。また表示される図では、複数の図形間の関係に応じた端点形状の関係線で、複数の図形が接続される。
【0018】
なお、図1に示した判別手段2、変換手段3、および表示手段4は、情報処理装置Aが有するCPU(Central Processing Unit)により実現することができる。また、記憶手段1は、情報処理装置Aが有するRAM(Random Access Memory)やハードディスクドライブ(HDD:Hard Disk Drive)などにより実現することができる。
【0019】
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
このような構成の情報処理装置Aに対して、例えばコンピュータシステムの仕様を自然言語で記述した文が入力されると、入力された文に基づく図作成処理が実行される。
【0020】
図2は、第1の実施の形態における図作成処理手順の一例を示すフローチャートである。以下、図2に示す処理をステップ番号に沿って説明する。
[ステップS1]判別手段2は、入力された自然言語の文に含まれる文節の構造を解析する。例えば判別手段2は、文節の形態素解析を行う。
【0021】
[ステップS2]判別手段2は、文節の種別を判別する。例えば判別手段2は、文節内の語の品詞の配列に基づき、その文節が適合する文節種別情報を検出する。そして判別手段2は、検出した文節種別情報に示される種別を、その文節の種別と判別する。
【0022】
[ステップS3]変換手段3は、記憶手段1に格納されている変換ルールの中から、判別手段2によって判別された文節の種別に対応する変換ルールを選択する。
[ステップS4]変換手段3は、選択した変換ルールに従って、文節を複数の図形データと関係線データとに変換する。
【0023】
[ステップS5]表示手段4は、変換手段3による変換処理で生成された図形データと関係線データとに基づいて、複数の図形を関係線で接続した図を表示する。
図3は、第1の実施の形態によるモデリングの一例を示す図である。
【0024】
図3の例では、自然言語で記述された文5に、「商品の価格」という文節5aが含まれている。文節5aは、判別手段2によって複数の語に分割され、各語の品詞が解析される。そして解析結果5bが得られる。解析結果5bでは、文節5aが、「商品」、「の」、「価格」という3つの語に分割されている。「商品」の品詞は名詞である。「の」の品詞は助詞である。「価格」の品詞は名詞である。
【0025】
判別手段2は、解析結果5bが適合する文節種別情報を、記憶手段1から検出する。図3の例では、文節種別情報1−1aにおいて、任意の名詞、「の」の助詞、および任意の名詞の語の配列が、文節種別No.「1」の種別の文節の条件として定義されている。文節5aの解析結果5bは、文節種別情報1−1aの条件に適合している。そこで判別手段2は、記憶手段1から文節種別情報1−1aを検出し、文節5aの種別を、文節種別No.1と判別する。判別手段2による種別判別結果5cは、変換手段3に渡される。
【0026】
変換手段3では、種別判別結果5cに示される文節の種別に対応する変換ルールを選択する。図3の例では、文節種別No.「1」に対応する変換ルール1−2aが選択される。変換手段3は、選択した変換ルール1−2aに従って、文節5aを、複数の図形データ5d,5eと関係線データ5fとに変換する。
【0027】
例えば変換ルール1−2aには、文節の最初の名詞を要素種別「もの」の図形の内容とすることが示されている。また変換ルール1−2aには、文節の最後の名詞を要素種別「もの」の図形の内容とすることが示されている。さらに変換ルール1−2aには、文節の最後の名詞に対応する図形が、最初の名詞に対応する図形に集約される関係であることが示されている。
【0028】
そこで変換手段3は、文節5aの最初の名詞「商品」を内容とし、要素種別が「もの」である図形を表す図形データ5dを生成する。また変換手段3は、文節5aの最後の名詞「価格」を内容とし、要素種別が「もの」である図形を表す図形データ5eを生成する。さらに変換手段3は、図形データ5eが示す図形を接続元、図形データ5dが示す図形を接続先とする、集約関係の関係線を表す関係線データ5fを生成する。
【0029】
生成された図形データ5d,5eおよび関係線データ5fに基づいて、表示手段4により、図が表示される。表示される図には、要素種別「もの」を示す2つの図形6a,6bが含まれる。図形6a内には、「商品」という内容が表示されている。図形6b内には、「価格」という内容が表示されている。また図形6aと図形6bとを接続する関係線6cが表示されている。関係線6cは、図形6b側が始端であり、図形6a側が終端である。関係線6cの終端は、関係種別が「集約」であることを示す形状となっている。図3の例では、菱形の終端の線が、「集約」関係を表している。
【0030】
このように自然言語の文に基づいて、グラフィカルな図を表示することができる。表示される図は、例えばUMLの規定に沿ったダイアグラムである。そのため、このような図の作成機能を有する情報処理装置Aに、システムの仕様を記述した自然言語の文を入力し、図を作成させることで、システムの仕様を容易に図で表すことができる。これにより、例えばシステムに求められる仕様に詳しい業務遂行者が、システムの構築を担当する技術者の助けを借りずに、システムの仕様を表現した図を作成できる。その結果、作業効率が格段に向上する。
【0031】
なお、文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合も考えられる。この場合、例えば変換手段3は、同じ内容の他の図形データを示す情報を、新たに生成された図形データに設定する。そして、表示する際には、表示手段4は、同じ内容を有する複数の図形データを、1つの図形データに統合して表示することができる。例えば表示手段4は、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外する。そして表示手段4は、表示対象から除外した図形データで示される図形と他の図形との間の関係を示す関係線を、除外した図形データと同じ内容の他の図形データに基づいて表示した図形に接続する。これにより、入力された文において、共通の内容に関連する事項が、複数の文節で説明されていた場合であっても、説明に沿った正確な図を表示することができる。
【0032】
また、変換手段3が生成した図形データと関係線データとは、記憶手段1などに格納しておくことができる。例えば変換手段3は、生成した図形データと関係線データとを、ストレージ装置に格納しておく。この場合、ユーザからの指示を受けた表示手段4が、指示に従って図形データと関係線データとをストレージ装置から読み出し、図を表示することができる。
【0033】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、UMLのクラス図とアクティビティ図とを同時に生成可能とするものである。
【0034】
図4は、第2の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。コンピュータ100は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
【0035】
RAM102は、コンピュータ100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0036】
バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
【0037】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、コンピュータ100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0038】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0039】
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0040】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0041】
通信インタフェース107は、ネットワーク10に接続されている。通信インタフェース107は、ネットワーク10を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0042】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した装置も、図4に示したコンピュータと同様のハードウェアにより実現することができる。
【0043】
図5は、第2の実施の形態におけるモデリング機能の一例を示すブロック図である。コンピュータ100は、自然言語からクラス図とアクティビティ図とのモデリングを実現するために、図5に示す各機能を有している。すなわちコンピュータ100は、モデリング用文節DB(データベース)110、変換ルールDB120、言語処理部130、マッチング部140、変換部150、モデル表現DB160、および表示部170を有する。
【0044】
モデリング用文節DB110は、モデリングに使用可能な自然言語の文節の構造の条件を示すモデリング用文節を記憶する。モデリング用文節は、例えば文節の種別ごとに設けられている。その場合、モデリング用文節それぞれには、対応する文節の種別を示す文節種別番号(文節種別No.)が設定される。例えば図4に示したRAM102またはHDD103の記憶領域の一部が、モデリング用文節DB110として使用される。
【0045】
変換ルールDB120は、モデリング用文節に適合した文節に含まれる語を、モデル要素または要素関係の関係に変換する規則を示す変換ルールを記憶する。モデル要素は、例えば、クラス図におけるクラスや、アクティビティ図におけるアクティビティ状態である。例えば図4に示したRAM102またはHDD103の記憶領域の一部が、変換ルールDB120として使用される。
【0046】
言語処理部130は、入力された自然言語の文から文節を抽出する。また言語処理部130は、抽出した文節の構文や、文節に含まれる字句を解析する。構文や字句を解析する技術として、例えば形態素解析技術がある。形態素解析は、自然言語で記述された文を形態素(意味を持つ最少単位)に分割し、各形態素の品詞を判別する技術である。
【0047】
マッチング部140は、言語処理部130によって抽出された文節が適合するモデリング用文節を、モデリング用文節DB110から抽出する。そして、マッチング部140は、入力された文節に対応するモデリング用文節の文節種別No.を判別する。
【0048】
変換部150は、入力された文節に対応するモデリング用文節の文節種別No.に基づいて、その入力された文節に適用する変換ルールを、変換ルールDB120から抽出する。そして変換部150は、抽出した変換ルールに則って、入力された文節をモデルの要素に変換する。変換部150は、変換処理で生成された要素を、モデル表現DB160に格納する。
【0049】
モデル表現DB160は、モデル要素を記憶する。例えば図4に示したRAM102またはHDD103の記憶領域の一部が、モデル表現DB160として使用される。
表示部170は、モデル表現DB160に格納されたモデルの要素に基づいて、入力された文全体から認識できるシステムの仕様を表す、クラス図やアクティビティ図をモニタ11などに表示する。
【0050】
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また図5に示すモデリング用文節DB110は、図1に示す記憶手段1の一例である。図5に示す変換ルールDB120は、図1に示す記憶手段1の一例である。図5に示す言語処理部130とマッチング部140とによる機能は、図1に示す判別手段2の一例である。図5に示す変換部150は、図1に示す変換手段3の一例である。図5に示す表示部170は、図1に示す表示手段4の一例である。
【0051】
次に、コンピュータ100に予め登録されているDBの内容について説明する。
図6は、モデリング用文節DBのデータ構造の一例を示す図である。モデリング用文節DB110には、複数のモデリング用文節111,112,113,114,・・・が格納されている。
【0052】
モデリング用文節111には、文節種別No.、語番号(語No.)、語種別、および語内容の欄が設けられている。文節種別No.の欄には、モデリング用文節に対応する文節種別の識別番号が設定される。語No.の欄には、モデリング用文節111に含まれる語の識別番号が設定される。語種別の欄には、モデリング用文節111に含まれる語の品詞が設定される。語内容の欄には、モデリング用文節111に含まれる語の内容が設定される。なお語内容の欄には、正規表現によって語の内容を示すことができる。例えば語内容の欄に、任意の文字列を示す記号(*)を設定することもできる。他のモデリング用文節112,113,114,・・・のデータ構造も、モデリング用文節111と同様である。
【0053】
例えばモデリング用文節111には、任意の名詞と任意の名詞とが「の」で接続された文節の構造が定義されている。
なお、図6に示すモデリング用文節111,112,113,114,・・・は、図1に示す文節種別情報1−1a,1−1b,1−1c,・・・の一例である。
【0054】
図7は、変換ルールDBのデータ構造の一例を示す図である。変換ルールDB120には、複数の変換ルール121,122,123,124,・・・が格納されている。
変換ルール121,122,123,124,・・・には、ルール番号(ルールNo.)、文節種別No.、語No.、1以上の要素種別番号(要素種別No.)の欄が設けられている。
【0055】
ルール番号の欄には、変換ルールの識別番号が設定される。文節種別No.の欄には、変更ルールを適用する文節の種別を示す文節種別No.が設定される。
語No.の欄には、変更ルールを適用する文節に対応するモデリング用文節内の語の語No.が設定される。語No.に続く文字列は、語No.に対応する文節内の語を示している。「*」の記号は、任意の文字列が対応することを示している。また、括弧内の文字列は、右の矢印で示された変数名の変数に代入される。例えば、ルール番号「1」の変換ルール121では、「の」の前にある文字列が変数「$1」に代入され、「の」の後ろにある文字列が変数「$2」に代入される。なお、変換ルール122の要素種別番号「23」の例では、合致する文字列のうちの一部の文字列のみが括弧で囲まれている。この場合、括弧内の文字列のみが変数に代入される。
【0056】
要素種別No.の欄には、文節の変換先となるモデル要素の種別を示す識別番号が設定される。互いに関係するモデル要素の要素種別No.は、同じ行に設定される。要素識別番号の右側の括弧内に、モデル要素に要素種別と要素内容とが設定される。
【0057】
図7の例では、要素種別No.の欄の括弧内が「:」で区切られている。要素種別がクラス図のクラス、またはアクティビティ図のアクティビティ状態を示すモデル要素の場合、括弧内の「:」の左側に要素種別を示す名称が設定され、「:」の右側に要素内容が設定される。要素内容に変数名が設定されている場合、その変数名に設定されている文字列が、生成されるモデル要素の要素内容となる。
【0058】
要素種別がクラス図のクラス間の関係を示すモデル要素の場合、「:」の左側に関係の種別(集約、参照など)が設定され、「:」の右側に関係の方向が示される。集約の場合、集約関係の接続先のモデル要素が設定される側に、菱形の図形が配置されている。参照の場合、参照関係の参照先(参照される側)のモデル要素が設定される側を、矢印で指し示している。例えば、変換ルール122の要素種別番号「24」のモデル要素は、要素種別「21」のモデル要素を全体とし、要素種別「26」のモデル要素を部分とする集約関係を表している。また、変換ルール122の要素種別番号「25」のモデル要素は、要素種別「23」のモデル要素から、要素種別「26」のモデル要素を参照することを表している。
【0059】
変換ルールによって生成されるモデル要素がアクティビティ図のモデル要素の場合、その変換ルールの要素種別番号のいずれかに、アクティビティエッジ、サブアクティビティなどのアクティビティのモデル要素であることを示す情報が設定されている。
【0060】
図8は、モデル表現DBのデータ構造の一例を示す図である。モデル表現DB160には、変換ルールに従って生成されたモデル要素161〜166が格納されている。なお、図8に例示したモデル要素161〜166は、図9に例示した文20に基づいて生成されたものである。
【0061】
モデル要素161〜166には、要素No.、要素種別番号(要素種別No.)、要素種別、要素内容、要素値、関係種別、接続先要素、および同値要素のフィールドが設けられている。
【0062】
要素No.のフィールドには、モデル要素の識別番号が設定される。要素種別番号のフィールドには、モデル要素の要素種別番号が設定される。要素種別のフィールドには、モデル要素の要素種別が設定される。要素内容のフィールドには、モデル要素の内容が設定される。要素値のフィールドには、モデル要素の要素内容の値(要素値)が設定される。関係種別のフィールドには、他のモデル要素との関係が設定される。接続先要素のフィールドには、関係を有する他のモデル要素の要素No.が設定される。同値要素のフィールドには、要素内容が同じ他のモデル要素の要素No.が設定される。
【0063】
なお、図8に示すモデル要素161〜166は、第1の実施の形態における図形データと関係線データとを包含する情報の一例である。例えば、モデル要素161〜166における、要素No.、要素種別No.、要素種別、要素内容、要素値、および同値要素のフィールドは、第1の実施の形態における図形データの一例である。またモデル要素161〜166における、関係種別と接続先要素とのフィールドは、第1の実施の形態における関係線データの一例である。第2の実施の形態では、関係線データが、接続元のモデル要素に含まれているため、接続元のモデル要素を指定するフィールドは設けられていない。
【0064】
次に、第2の実施の形態におけるモデル生成処理の概略を説明する。
図9は、第2の実施の形態におけるモデル生成処理の一例を示す概念図である。図9の例では、「商品の価格」と「商品を発注する」という2つの文節21,22を含む文20が入力されている。入力された文20は、言語処理部130で文節21,22ごとに解析される。例えば言語処理部130で形態素解析が行われることで、文節21,22が複数の語(例えば形態素)に分割される。また言語処理部130では、分割された各語の品詞が解析される。これにより、例えば文節21は、品詞が名詞の「商品」、品詞が助詞の「の」、品詞が名詞の「価格」に分割される。また文節22は、品詞が名詞の「商品」、品詞が助詞の「を」、品詞が動詞の「発注する」に分割される。
【0065】
次にマッチング部140により、文節21,22が合致するモデリング用文節が、モデリング用文節DB110から検索される。図9の例では、文節21は、文節種別No.「1」のモデリング用文節に合致する。また文節22は、文節種別No.「2」のモデリング用文節に合致する。マッチング部140は、言語処理部130で解析後の各文節21,22に対して、その文節が合致するモデリング用文節の文節種別No.を付与し、変換部150に送信する。
【0066】
変換部150は、解析後の各文節21,22それぞれに付与された文節種別No.に対応する変換ルールを変換ルールDB120から取得する。そして変換部150は、各文節21,22を、対応する変換ルールに則ってモデル表現に変換する。
【0067】
なお図9では、変換ルールDB120内の変換ルール121,122で定義されているクラスのモデル要素内に、そのモデル要素の要素種別を示している。また図9のモデル表現DB160内には、モデル表現DB160に格納されたモデル要素161〜166(図8参照)で表現されたクラス図によるモデルが示されている。クラスを示すモデル要素161,162,165,166内には、そのモデル要素の要素内容が示されている。
【0068】
例えば文節21に対しては、変換ルール121が適用される。変換ルール121には、文節21の語No.「11」の語を、要素種別「もの」の要素内容とするモデル要素を生成することが示されている。また変換ルール121には、文節21の語No.「13」の語を、要素種別「属性」の要素内容とするモデル要素を生成することが示されている。さらに変換ルール121には、「もの」のモデル要素を全体とし、「属性」のモデル要素を部分とする集合の関係を生成することが示されている。このような変換ルール121に従って文節21を変換すると、モデル要素161,162が生成される。モデル要素162には、モデル要素161との間の集合関係が定義される。
【0069】
同様に、文節22が、変換ルール122に従ってモデル要素に変換され、図8に示したモデル要素163〜166が生成される。そして、モデル表現DB160に格納されたモデル要素161〜166基づいて、表示部170によってモニタ11にクラス図23が表示される。
【0070】
なお、図8に示すモデル要素163には、同値要素としてモデル要素161の要素No.が設定されている。そのため、モデル要素163はモデル要素161に統合され、クラス図では、モデル要素161のクラスのみが表示される。またモデル要素164は、状態を表す属性の要素であるため、発生し得る状態「未発注」、「発注済」が要素値として設定されている。さらにモデル要素166には、同値要素としてモデル要素164の要素No.が設定されている。そのため、モデル要素166はモデル要素164に統合され、クラス図では、モデル要素164のクラスのみが表示される。
【0071】
このように、自然言語で記述された文20に基づいて、クラス図23を生成することができる。
次に、第2の実施の形態におけるモデリング処理の手順について詳細に説明する。
【0072】
図10は、モデリング処理の手順の一例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS101]言語処理部130は、入力された文を解析し、文節を抽出する。このとき、言語処理部130は、抽出した文節を複数の語に分解し、各語の品詞を判定する。
【0073】
[ステップS102]マッチング部140は、言語処理部130で抽出された文節のうち、未処理の文節を1つ選択する。
[ステップS103]マッチング部140は、選択した文節が適合するモデリング用文節を、モデリング用文節DB110から検索する。
【0074】
[ステップS104]変換部150は、選択した文節が適合するモデリング用文節に設定されている文節種別No.に対応する変換ルールに則って、選択した文節からモデル要素を生成する。そして表示部170が、生成されたモデル要素に基づく図形と接続線とを、グラフィカルに表示する。この処理の詳細は後述する(図11参照)。
【0075】
[ステップS105]マッチング部140は、次の文節があるか否かを判断する。マッチング部140は、次の文節があれば、処理をステップS102に進める。またマッチング部140は、次の文節がなければ、処理をステップS106に進める。
【0076】
[ステップS106]言語処理部130は、未処理の文があるか否かを判断する。言語処理部130は、未処理の文があれば、処理をステップS101に進める。また言語処理部130は、未処理の文がなければ、処理を終了する。
【0077】
次に、モデル要素生成処理の手順について詳細に説明する。
図11は、モデル要素生成処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
【0078】
[ステップS111]変換部150は、ステップS103(図10参照)の検索処理で合致したモデリング用文節の文節種別No.に対応する変換ルールDB120内の変換ルールを選択する。変換部150は、選択した変換ルールを、ステップS102(図10参照)で選択した文節に適用する変換ルールとする。そして変換部150は、選択した文節内の語の少なくとも一部を、その文節に適用する変換ルールに従って抽出し、変数に設定する。
【0079】
[ステップS112]変換部150は、選択した文節に適用する変換ルールに設定されている要素種別No.で示されるモデル要素のうち、関係を示すモデル要素以外のモデル要素を生成する。例えば、要素種別が「集約」、「参照」、「アクティビティエッジ」、「サブアクティビティ」といったモデル要素が、関係を示すモデル要素である。モデル要素を生成する場合、例えば変換部150は、変換ルールに設定されている要素種別No.を有するモデル要素を生成し、変換ルールに従って、生成したモデル要素に要素種別と要素内容とを設定する。要素内容が変数によって定義されている場合、変換部150は、ステップS111で変数に設定された値を、要素内容に設定する。また変換部150は、生成されたモデル要素に、そのモデル要素を一意に識別可能な要素No.を付与する。
【0080】
[ステップS113]変換部150は、ステップS112で生成したモデル要素のうちの接続元のモデル要素に、関係種別と接続先要素の要素No.とを設定する。
[ステップS114]変換部150は、ステップS112で生成したモデル要素の中に、要素内容が「状態」のモデル要素があるか否かを判断する。要素内容が「状態」のモデル要素とは、例えば要素内容に設定されている文字列の最後の2文字が「状態」のモデル要素である。要素内容「状態」のモデル要素があれば、変換部150は、処理をステップS115に進める。また要素内容「状態」のモデル要素がなければ、変換部150は、処理をステップS116に進める。
【0081】
[ステップS115]変換部150は、要素内容「状態」のモデル要素に対して、要素値を設定する。例えば変換部150は、要素内容における「状態」の前の文字列を取得する。例えば要素内容が「発注状態」であれば、「発注」の文字列を取得する。次に変換部150は、取得した文字列の前に「未」を付けた要素値と、取得した文字列の後に「済」を付けた要素値とを生成する。例えば、「発注」の文字列が取得された場合、「未発注」と「発注済」との2つの要素値が生成される。変換部150は、生成した要素値を、要素内容「状態」のモデル要素に設定する。
【0082】
[ステップS116]変換部150は、ステップS103で生成したモデル要素と、要素内容が同じ他のモデル要素が既に生成されているか否かを判断する。変換部150は、要素内容が同じ他のモデル要素がある場合、処理をステップS117に進める。また変換部150は、要素内容が同じ他のモデル要素がない場合、処理をステップS118に進める。
【0083】
[ステップS117]変換部150は、要素内容が同じ他のモデル要素の要素No.を、ステップS112で生成したモデル要素に設定する。
[ステップS118]表示部170は、ステップS112で選択した文節に適用する変換ルールに設定されている関係が、アクティビティの関係か否かを判断する。表示部170は、アクティビティの関係であれば、処理をステップS120に進める。また表示部170は、アクティビティの関係でなければ、処理をステップS119に進める。
【0084】
[ステップS119]表示部170は、ステップS112〜S118の処理で生成されたモデル要素を、クラス図のモデル要素として表示する。同値要素が設定されているモデル要素については、同値要素の要素No.に対応するモデル要素にまとめられる。
【0085】
[ステップS120]表示部170は、アクティビティの関係を有するモデル要素について、アクティビティ図のモデル要素(例えばアクティビティ状態)として追加する。
[ステップS121]表示部170は、アクティビティ図に、開始状態と終点との終了状態を追加する。
【0086】
このような処理により、システムの仕様を説明する自然言語の文から、クラス図やアクティビティ図を自動生成することができる。以下、具体的なクラス図とアクティビティ図との生成例について説明する。
【0087】
図12は、システムの使用を説明する自然言語文の一例を示す図である。文30には、以下の9つの文節が含まれている。
(1)工事の日時
(2)工事の場所
(3)工事の担当者
(4)担当者の氏名
(5)工事を受注する
(6)工事を手配する
(7)担当者を割当する
(8)受注した次に手配する
(9)手配する際に割当する
文30が言語処理部130に入力されると、言語処理部130によって、文節に分割される。各文節は、さらに語(例えば形態素)ごとに分割され、各語の品詞が解析される。
【0088】
図13は、言語処理部による解析結果の一例を示す図である。図13の例では、文30に含まれていた9つの文節が、以下のような品詞の語に分割されている。
(1)名詞:工事、助詞:の、名詞:日時
(2)名詞:工事、助詞:の、名詞:場所
(3)名詞:工事、助詞:の、名詞:担当者
(4)名詞:担当者、助詞:の、名詞:氏名
(5)名詞:工事、助詞:を、動詞:受注する
(6)名詞:工事、助詞:を、動詞:手配する
(7)名詞:担当者、助詞:を、動詞:割当する
(8)動詞:受注した、副詞:次に、動詞:手配する
(9)動詞:手配する、副詞:際に、動詞:割当する
文節の解析結果は、言語処理部130からマッチング部140に渡される。すると、マッチング部140により、解析された各文節について、モデリング用文節DB110(図6参照)に基づいて文節種別が判別される。
【0089】
図14は、文節種別の判別結果の一例を示す図である。判別結果32には、各文節の種別が、文節種別No.によって示されている。図14の例では、(1)〜(4)の文節の文節種別No.は「1」である。(5)〜(7)の文節の文節種別No.は「2」である。(8)の文節の文節種別No.は「3」である。(9)の文節の文節種別No.は「4」である。
【0090】
このような判別結果32が、マッチング部140から変換部150に渡される。すると、変換部150において、各文節が、文節の種別に応じた変換ルールに則ってモデル要素に変換される。以下の例では、図14に示す判別結果32に示される各文節が、図中の上位から順に変換されるものとする。
【0091】
図15は、変換によって生成されたモデル要素の一例を示す第1の図である。図15には、(1)〜(4)の文節から変換されたモデル要素41〜48が示されている。モデル要素41,42は、(1)の文節を変換ルール121に従って変換することで生成されたものである。モデル要素43,44は、(2)の文節を変換ルール121に従って変換することで生成されたものである。モデル要素45,46は、(3)の文節を変換ルール121に従って変換することで生成されたものである。モデル要素47,48は、(4)の文節を変換ルール121に従って変換することで生成されたものである。
【0092】
ここで、モデル要素43の要素が生成された時点では、モデル要素41〜42が既に生成されている。モデル要素43の要素内容は「工事」であり、先に生成されたモデル要素41の要素内容と同じである。そこで、モデル要素43の同値要素のフィールドに、モデル要素41の要素No.が設定されている。
【0093】
図16は、変換によって生成されたモデル要素の一例を示す第2の図である。図16には、(5)の文節を、変換ルール122に従って変換することで生成されたモデル要素51〜54が示されている。モデル要素54の要素内容は「受注状態」であり、モデル要素52の要素内容と同じである。そこで、モデル要素54の同値要素のフィールドに、モデル要素52の要素No.が設定されている。また、モデル要素52,54は「状態」に関するモデル要素であるため、モデル要素52,54には、「未受注」、「受注済」という要素値が設定されている。
【0094】
図17は、変換によって生成されたモデル要素の一例を示す第3の図である。図17には、(6)の文節を、変換ルール122に従って変換することで生成されたモデル要素61〜64が示されている。モデル要素64の要素内容は「手配状態」であり、モデル要素62の要素内容と同じである。そこで、モデル要素64の同値要素のフィールドに、モデル要素62の要素No.が設定されている。また、モデル要素62,64は「状態」に関するモデル要素であるため、モデル要素62,64には、「未手配」、「手配済」という要素値が設定されている。
【0095】
図18は、変換によって生成されたモデル要素の一例を示す第4の図である。図18には、(7)の文節を、変換ルール122に従って変換することで生成されたモデル要素71〜74が示されている。モデル要素74の要素内容は「割当状態」であり、モデル要素72の要素内容と同じである。そこで、モデル要素74の同値要素のフィールドに、モデル要素72の要素No.が設定されている。また、モデル要素72,74は「状態」に関するモデル要素であるため、モデル要素72,74には、「未割当」、「割当済」という要素値が設定されている。
【0096】
図19は、変換によって生成されたモデル要素の一例を示す第5の図である。図19には、(8)、(9)の文節から変換されたモデル要素81〜84が示されている。モデル要素81,82は、(8)の文節を変換ルール123に従って変換することで生成されたものである。モデル要素83,84は、(9)の文節を変換ルール124に従って変換することで生成されたものである。
【0097】
図15〜図19に示したモデル要素に基づいて、表示部170によってグラフィカルな図がモニタ11などに表示される。
図20は、表示されるクラス図の一例を示す図である。図15〜図19に示したモデル要素のうち、図19に示したモデル要素81〜84は、アクティビティの関係が定義されている。そこで表示部170により、モデル要素81〜84以外のモデル要素に基づいて、クラス図200が表示される。クラス図200には、複数のクラス201〜211とクラス間の関係を示す接続線221〜230が表示されている。接続線221〜225,227,229は、集約関係を示す接続線であり、終端の形状は菱形である。接続線226,228,230は、参照関係を示す接続線であり、終端の形状は矢印である。
【0098】
ここでクラス201〜204および接続線221〜224は、図15に示したモデル要素41〜48にも基づいて表示されている。例えばモデル要素41に基づいてクラス201が表示されている。モデル要素42に基づいてクラス202と接続線221とが表示されている。なおモデル要素43,45,46は、同値要素としてモデル要素41の要素No.が設定されているため表示されていない。
【0099】
モデル要素44に基づいて、クラス203と接続線222とが表示されている。モデル要素44に設定されている接続先要素はモデル要素43であるが、モデル要素43には同値要素としてモデル要素41が設定されている。そのため接続線222は、モデル要素44に基づいて表示されたクラス203を接続元とし、モデル要素41に基づいて生成されたクラス201を接続先としている。
【0100】
モデル要素46に基づいて、クラス204と接続線223とが表示されている。モデル要素46に設定されている接続先要素はモデル要素45であるが、モデル要素45には同値要素としてモデル要素41が設定されている。そのため接続線223は、モデル要素46に基づいて表示されたクラス204を接続元とし、モデル要素41に基づいて生成されたクラス201を接続先としている。
【0101】
モデル要素48に基づいて、クラス205と接続線224とが表示されている。モデル要素48に設定されている接続先要素はモデル要素47であるが、モデル要素47には同値要素としてモデル要素46が設定されている。そのため接続線224は、モデル要素48に基づいて表示されたクラス205を接続元とし、モデル要素46に基づいて生成されたクラス201を接続先としている。
【0102】
クラス206,207および接続線225,226は、図16に示したモデル要素51〜54に基づいて表示されている。なおモデル要素51は、同値要素としてモデル要素41の要素No.が設定されているため表示されていない。モデル要素52に基づいてクラス206と接続線225とが表示されている。モデル要素52に設定されている接続先要素はモデル要素51であるが、モデル要素51は同値要素としてモデル要素41が設定されている。そのため接続線225は、モデル要素48に基づいて表示されたクラス205を接続元とし、モデル要素46に基づいて生成されたクラス201を接続先としている。
【0103】
モデル要素53に基づいてクラス207が表示されている。モデル要素54は、同値要素としてモデル要素52の要素No.が設定されているが、関係種別と接続先要素とが設定されている。そのためモデル要素54に基づいて、接続線226のみが表示されている。接続線226は、モデル要素54に同値要素として設定されているモデル要素52に基づいて表示されたクラス206を接続元とし、接続先要素として指定されたモデル要素53に基づいて生成されたクラス207を接続先としている。
【0104】
クラス208,209および接続線227,228は、図17に示したモデル要素61〜64に基づいて表示されている。クラス210,211および接続線229,230は、図18に示したモデル要素61〜64に基づいて表示されている。クラス208〜211および接続線227〜230の表示方法は、図16に示すモデル要素51〜54に基づいてクラス206,207および接続線225,226を表示する場合と同様である。
【0105】
このようにして、クラス図200が、例えばモニタ11に表示される。
図21は、表示されるアクティビティ図の一例を示す図である。図15〜図19に示したモデル要素のうち、図19に示したモデル要素81〜84に基づいてアクティビティ図300が表示される。
【0106】
例えばモデル要素81に基づいて、アクティビティ状態301が表示される。またモデル要素82に基づいて、アクティビティ状態302が表示される。モデル要素82には、関係種別「アクティビティエッジ」、接続先要素「171」が設定されている。これにより、要素No.「171」のモデル要素81に基づいて表示されたアクティビティ状態81から、モデル要素82に基づいて表示されたアクティビティ状態82への状態遷移を示すエッジ303が表示されている。また開始状態304、終了状態305、およびエッジ306,307が表示されている。エッジ306は、開始状態304からアクティビティ状態301への状態遷移を示している。エッジ307は、アクティビティ状態302から終了状態305への状態遷移を示している。
【0107】
なおモデル要素83は、同値要素としてモデル要素82の要素No.が設定されているため表示されていない。モデル要素84に基づいて、アクティビティ状態311が表示されている。モデル要素84には、関係種別「サブアクティビティ」、接続先要素「181」が設定されている。そこで、接続先要素として示されているモデル要素83の要素内容「手配」のサブアクティビティ310が表示される。サブアクティビティ310内には、開始状態312、終了状態313、およびエッジ314,315が表示されている。エッジ314は、開始状態312からアクティビティ状態311への状態遷移を示している。エッジ315は、アクティビティ状態311から終了状態313への状態遷移を示している。
【0108】
このようにして、アクティビティ図300が、例えばモニタ11に表示される。
以上説明したように、第2の実施の形態によれば、自然言語の文でシステムの仕様を記述するだけで、クラス図やアクティビティ図を定義するモデル要素を生成することができる。そして、生成されたモデル要素に基づいて、クラス図やアクティビティ図が表示される。例えば、システムの開発時には、業務の知識が豊富な業務遂行者が自然言語によってシステムの仕様を記述すれば、自動でクラス図やアクティビティ図にモデリングされる。この結果、システム構築の技術者の助けを借りずに、業務遂行者のみで、システムの仕様を容易にモデリングすることができる。
【0109】
〔その他の実施の形態〕
第2の実施の形態では、クラス図とアクティビティ図の生成例を示したが、他の形式の図を生成する変換ルールを定義しておけば、他の形式の図を生成することもできる。例えば、UMLにおけるユースケース図、相互作用図、ステートチャート図、実装図などを生成することができる。
【0110】
なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有する機能の処理内容を記述したプログラムが提供される。提供されるプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0111】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0112】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0113】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0114】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0115】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) 自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
処理をコンピュータに実行させるプログラム。
【0116】
(付記2) 変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる付記1記載のプログラム。
【0117】
(付記3) 前記文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合、該他の図形データを示す情報を、該生成された図形データに設定する、
処理を前記コンピュータに実行させる付記1記載のプログラム。
【0118】
(付記4) 変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続し、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外し、該図形データで示される図形と他の図形との間の関係を示す関係線を、該他の図形データに基づく図形に接続した図を表示する、
処理を前記コンピュータに実行させる付記3記載のプログラム。
【0119】
(付記5) 前記文に含まれる文節を変換する際には、状態を表す内容を有する図形データに対して、状態の取り得る値を設定する、
処理を前記コンピュータに実行させる付記1または3のいずれかに記載のプログラム。
【0120】
(付記6) 変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された図形、または内容と状態の取り得る値とが表記された図形のうちの複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる付記5記載のプログラム。
【0121】
(付記7) 状態の取り得る値を設定する際には、文節から抽出した語で示される動作の未了を示す値と、完了を示す値とを設定する、
処理を前記コンピュータに実行させる付記5または6のいずれかに記載のプログラム。
【0122】
(付記8) 図を表示する際には、関係線データに示される関係線が表す関係に応じて、表示する図の種別を決定し、該関係線で接続される図形と該関係線とを、決定した種別の図に表示する、
処理を前記コンピュータに実行させる付記2、4、6または7のいずれかに記載のプログラム。
【0123】
(付記9) 図を表示する際には、関係線データに示される関係線が、動作を表すアクティビティ間の関係を示す場合、該関係線で接続される図形と該関係線とをアクティビティ図に表示し、関係線データに示される関係線が、オブジェクト指向のシステム開発において使用されるクラス間の関係を示す場合、該関係線で接続される図形と該関係線とをクラス図に表示する、
処理を前記コンピュータに実行させる付記8記載のプログラム。
【0124】
(付記10) 自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する判別手段と、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する変換手段と、
を有する情報処理装置。
【0125】
(付記11) コンピュータが、
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
図生成方法。
【符号の説明】
【0126】
1 記憶手段
1−1a,1−1b,1−1c,・・・ 文節種別情報
1−2a,1−2b,1−2c,・・・ 変換ルール
2 判別手段
3 変換手段
4 表示手段
A 情報処理装置
【技術分野】
【0001】
本発明は、図形データを生成するプログラム、情報処理装置、および図生成方法に関する。
【背景技術】
【0002】
業務アプリケーションなどのシステムは開発の際には、まずシステムの仕様が決められる。決められた仕様は、UML(Unified Modeling Language)などの図や形式言語で記述される。
【0003】
システムの開発時にUMLや形式言語で仕様を記述する場合、まず業務の知識に基づいて仕様を決定する。次に、UMLや形式言語の知識に基づいて、決定された仕様をUMLまたは形式言語で記述する。例えばUMLには、クラス図やアクティビティ図などの各種の図(ダイアグラム)に関する記述形式が定められている。記述形式に則って図を作成することで、システムの仕様を、第三者にも分かりやすい図形式でモデリングすることができる。
【0004】
なお、多くの場合、業務遂行者は業務に関する知識は有しているが、UMLや形式言語の記述形式に関する知識には乏しい。またシステムを構築する技術者は、UMLや形式言語の記述形式に関する知識は有しているが、業務の内容に関する知識は乏しい。そこで、UMLまたは形式言語でのシステムの仕様の記述は、業務遂行者と技術者とが連携して作業することになり、非効率的である。
【0005】
そこで、例えば自然言語文を、計算機がプログラム可能な形式言語に変換する技術が考えられている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−28630号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、形式言語での記述は、コンピュータが機械的に解釈するのには都合がよいが、人が目で見て理解しやすいようにグラフィカルにモデリングするものではない。そのため、人が見やすい形式でシステムの仕様をモデリングする場合、依然として、業務を熟知する業務遂行者と、UMLなどのモデリング言語の知識を有する技術者とが連携して作業することとなり、作業効率が悪い。
【0008】
1つの側面では、本発明は、所定の記述形式に従った図を容易に作成することができるプログラム、情報処理装置、および図生成方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
1つの案では、コンピュータに、以下の処理を実行させるプログラムが提供される。コンピュータは、自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する。次にコンピュータは、文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する。
【発明の効果】
【0010】
1態様によれば、所定の記述形式に従った図を容易に作成可能となる。
【図面の簡単な説明】
【0011】
【図1】第1の実施の形態に係る装置の機能構成の一例を示す図である。
【図2】第1の実施の形態における図作成処理手順の一例を示すフローチャートである。
【図3】第1の実施の形態によるモデリングの一例を示す図である。
【図4】第2の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。
【図5】第2の実施の形態におけるモデリング機能の一例を示すブロック図である。
【図6】モデリング用文節DBのデータ構造の一例を示す図である。
【図7】変換ルールDBのデータ構造の一例を示す図である。
【図8】モデル表現DBのデータ構造の一例を示す図である。
【図9】第2の実施の形態におけるモデル生成処理の一例を示す概念図である。
【図10】モデリング処理の手順の一例を示すフローチャートである。
【図11】モデル要素生成処理の手順を示すフローチャートである。
【図12】システムの使用を説明する自然言語文の一例を示す図である。
【図13】言語処理部による解析結果の一例を示す図である。
【図14】文節種別の判別結果の一例を示す図である。
【図15】変換によって生成されたモデル要素の一例を示す第1の図である。
【図16】変換によって生成されたモデル要素の一例を示す第2の図である。
【図17】変換によって生成されたモデル要素の一例を示す第3の図である。
【図18】変換によって生成されたモデル要素の一例を示す第4の図である。
【図19】変換によって生成されたモデル要素の一例を示す第5の図である。
【図20】表示されるクラス図の一例を示す図である。
【図21】表示されるアクティビティ図の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る装置の機能構成の一例を示す図である。第1の実施の形態に係る情報処理装置Aは、記憶手段1、判別手段2、変換手段3、および表示手段4を有している。
【0013】
記憶手段1には、例えば複数の文節種別情報1−1a,1−1b,1−1c,・・・と複数の変換ルール1−2a,1−2b,1−2c,・・・と格納されている。
文節種別情報1−1a,1−1b,1−1c,・・・は、文節の種別ごとに設けられている。文節種別情報1−1a,1−1b,1−1c,・・・には、対応する文節の種別に該当する文節の条件が示されている。文節の種別に該当する条件は、例えば、その種別に属する文節の品詞配列や、含まれる文字で定義される。
【0014】
変換ルール1−2a,1−2b,1−2c,・・・は、文節の種別ごとに設けられている。変換ルールには、対応する種別の文節を、図形データと関係線データとに変換する規則(ルール)が示されている。図形データは、文節に含まれる語を内容に含む図形を示す情報である。関係線データは、複数の図形間の関係に応じた端点形状を有する関係線を示す情報である。
【0015】
判別手段2は、自然言語で記述された文に含まれる文節の構造を解析し、その文節の種別を判別する。例えば判別手段2は、文節の形態素解析を行い、文節に含まれる語(形態素)の品詞を判断する。そして判別手段2は、例えば記憶手段1内の文節種別情報1−1a,1−1b,1−1c,・・・の中から、文に含まれる文節の構造が適合する文節種別情報を検出し、検出した文節種別情報に示される種別を、文に含まれる文節の種別と判別する。
【0016】
変換手段3は、記憶手段1を参照し、文に含まれる文節を、その文節の種別に応じた変換ルールに従って、複数の図形データと関係性データとに変換する。例えば変換手段3は、記憶手段1の中から、文に含まれる文節の種別に対応する変換ルールを選択する。そして変換手段3は、選択した変換ルールに従って、文に含まれる文節を、複数の図形データと関係線を示す関係線データとに変換する。
【0017】
表示手段4は、変換によって生成された複数の図形データと関係線データとに基づいて図を表示する。表示される図には、内容が表記された複数の図形が含まれる。また表示される図では、複数の図形間の関係に応じた端点形状の関係線で、複数の図形が接続される。
【0018】
なお、図1に示した判別手段2、変換手段3、および表示手段4は、情報処理装置Aが有するCPU(Central Processing Unit)により実現することができる。また、記憶手段1は、情報処理装置Aが有するRAM(Random Access Memory)やハードディスクドライブ(HDD:Hard Disk Drive)などにより実現することができる。
【0019】
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
このような構成の情報処理装置Aに対して、例えばコンピュータシステムの仕様を自然言語で記述した文が入力されると、入力された文に基づく図作成処理が実行される。
【0020】
図2は、第1の実施の形態における図作成処理手順の一例を示すフローチャートである。以下、図2に示す処理をステップ番号に沿って説明する。
[ステップS1]判別手段2は、入力された自然言語の文に含まれる文節の構造を解析する。例えば判別手段2は、文節の形態素解析を行う。
【0021】
[ステップS2]判別手段2は、文節の種別を判別する。例えば判別手段2は、文節内の語の品詞の配列に基づき、その文節が適合する文節種別情報を検出する。そして判別手段2は、検出した文節種別情報に示される種別を、その文節の種別と判別する。
【0022】
[ステップS3]変換手段3は、記憶手段1に格納されている変換ルールの中から、判別手段2によって判別された文節の種別に対応する変換ルールを選択する。
[ステップS4]変換手段3は、選択した変換ルールに従って、文節を複数の図形データと関係線データとに変換する。
【0023】
[ステップS5]表示手段4は、変換手段3による変換処理で生成された図形データと関係線データとに基づいて、複数の図形を関係線で接続した図を表示する。
図3は、第1の実施の形態によるモデリングの一例を示す図である。
【0024】
図3の例では、自然言語で記述された文5に、「商品の価格」という文節5aが含まれている。文節5aは、判別手段2によって複数の語に分割され、各語の品詞が解析される。そして解析結果5bが得られる。解析結果5bでは、文節5aが、「商品」、「の」、「価格」という3つの語に分割されている。「商品」の品詞は名詞である。「の」の品詞は助詞である。「価格」の品詞は名詞である。
【0025】
判別手段2は、解析結果5bが適合する文節種別情報を、記憶手段1から検出する。図3の例では、文節種別情報1−1aにおいて、任意の名詞、「の」の助詞、および任意の名詞の語の配列が、文節種別No.「1」の種別の文節の条件として定義されている。文節5aの解析結果5bは、文節種別情報1−1aの条件に適合している。そこで判別手段2は、記憶手段1から文節種別情報1−1aを検出し、文節5aの種別を、文節種別No.1と判別する。判別手段2による種別判別結果5cは、変換手段3に渡される。
【0026】
変換手段3では、種別判別結果5cに示される文節の種別に対応する変換ルールを選択する。図3の例では、文節種別No.「1」に対応する変換ルール1−2aが選択される。変換手段3は、選択した変換ルール1−2aに従って、文節5aを、複数の図形データ5d,5eと関係線データ5fとに変換する。
【0027】
例えば変換ルール1−2aには、文節の最初の名詞を要素種別「もの」の図形の内容とすることが示されている。また変換ルール1−2aには、文節の最後の名詞を要素種別「もの」の図形の内容とすることが示されている。さらに変換ルール1−2aには、文節の最後の名詞に対応する図形が、最初の名詞に対応する図形に集約される関係であることが示されている。
【0028】
そこで変換手段3は、文節5aの最初の名詞「商品」を内容とし、要素種別が「もの」である図形を表す図形データ5dを生成する。また変換手段3は、文節5aの最後の名詞「価格」を内容とし、要素種別が「もの」である図形を表す図形データ5eを生成する。さらに変換手段3は、図形データ5eが示す図形を接続元、図形データ5dが示す図形を接続先とする、集約関係の関係線を表す関係線データ5fを生成する。
【0029】
生成された図形データ5d,5eおよび関係線データ5fに基づいて、表示手段4により、図が表示される。表示される図には、要素種別「もの」を示す2つの図形6a,6bが含まれる。図形6a内には、「商品」という内容が表示されている。図形6b内には、「価格」という内容が表示されている。また図形6aと図形6bとを接続する関係線6cが表示されている。関係線6cは、図形6b側が始端であり、図形6a側が終端である。関係線6cの終端は、関係種別が「集約」であることを示す形状となっている。図3の例では、菱形の終端の線が、「集約」関係を表している。
【0030】
このように自然言語の文に基づいて、グラフィカルな図を表示することができる。表示される図は、例えばUMLの規定に沿ったダイアグラムである。そのため、このような図の作成機能を有する情報処理装置Aに、システムの仕様を記述した自然言語の文を入力し、図を作成させることで、システムの仕様を容易に図で表すことができる。これにより、例えばシステムに求められる仕様に詳しい業務遂行者が、システムの構築を担当する技術者の助けを借りずに、システムの仕様を表現した図を作成できる。その結果、作業効率が格段に向上する。
【0031】
なお、文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合も考えられる。この場合、例えば変換手段3は、同じ内容の他の図形データを示す情報を、新たに生成された図形データに設定する。そして、表示する際には、表示手段4は、同じ内容を有する複数の図形データを、1つの図形データに統合して表示することができる。例えば表示手段4は、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外する。そして表示手段4は、表示対象から除外した図形データで示される図形と他の図形との間の関係を示す関係線を、除外した図形データと同じ内容の他の図形データに基づいて表示した図形に接続する。これにより、入力された文において、共通の内容に関連する事項が、複数の文節で説明されていた場合であっても、説明に沿った正確な図を表示することができる。
【0032】
また、変換手段3が生成した図形データと関係線データとは、記憶手段1などに格納しておくことができる。例えば変換手段3は、生成した図形データと関係線データとを、ストレージ装置に格納しておく。この場合、ユーザからの指示を受けた表示手段4が、指示に従って図形データと関係線データとをストレージ装置から読み出し、図を表示することができる。
【0033】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、UMLのクラス図とアクティビティ図とを同時に生成可能とするものである。
【0034】
図4は、第2の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。コンピュータ100は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
【0035】
RAM102は、コンピュータ100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0036】
バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
【0037】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、コンピュータ100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0038】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0039】
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0040】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0041】
通信インタフェース107は、ネットワーク10に接続されている。通信インタフェース107は、ネットワーク10を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0042】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した装置も、図4に示したコンピュータと同様のハードウェアにより実現することができる。
【0043】
図5は、第2の実施の形態におけるモデリング機能の一例を示すブロック図である。コンピュータ100は、自然言語からクラス図とアクティビティ図とのモデリングを実現するために、図5に示す各機能を有している。すなわちコンピュータ100は、モデリング用文節DB(データベース)110、変換ルールDB120、言語処理部130、マッチング部140、変換部150、モデル表現DB160、および表示部170を有する。
【0044】
モデリング用文節DB110は、モデリングに使用可能な自然言語の文節の構造の条件を示すモデリング用文節を記憶する。モデリング用文節は、例えば文節の種別ごとに設けられている。その場合、モデリング用文節それぞれには、対応する文節の種別を示す文節種別番号(文節種別No.)が設定される。例えば図4に示したRAM102またはHDD103の記憶領域の一部が、モデリング用文節DB110として使用される。
【0045】
変換ルールDB120は、モデリング用文節に適合した文節に含まれる語を、モデル要素または要素関係の関係に変換する規則を示す変換ルールを記憶する。モデル要素は、例えば、クラス図におけるクラスや、アクティビティ図におけるアクティビティ状態である。例えば図4に示したRAM102またはHDD103の記憶領域の一部が、変換ルールDB120として使用される。
【0046】
言語処理部130は、入力された自然言語の文から文節を抽出する。また言語処理部130は、抽出した文節の構文や、文節に含まれる字句を解析する。構文や字句を解析する技術として、例えば形態素解析技術がある。形態素解析は、自然言語で記述された文を形態素(意味を持つ最少単位)に分割し、各形態素の品詞を判別する技術である。
【0047】
マッチング部140は、言語処理部130によって抽出された文節が適合するモデリング用文節を、モデリング用文節DB110から抽出する。そして、マッチング部140は、入力された文節に対応するモデリング用文節の文節種別No.を判別する。
【0048】
変換部150は、入力された文節に対応するモデリング用文節の文節種別No.に基づいて、その入力された文節に適用する変換ルールを、変換ルールDB120から抽出する。そして変換部150は、抽出した変換ルールに則って、入力された文節をモデルの要素に変換する。変換部150は、変換処理で生成された要素を、モデル表現DB160に格納する。
【0049】
モデル表現DB160は、モデル要素を記憶する。例えば図4に示したRAM102またはHDD103の記憶領域の一部が、モデル表現DB160として使用される。
表示部170は、モデル表現DB160に格納されたモデルの要素に基づいて、入力された文全体から認識できるシステムの仕様を表す、クラス図やアクティビティ図をモニタ11などに表示する。
【0050】
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また図5に示すモデリング用文節DB110は、図1に示す記憶手段1の一例である。図5に示す変換ルールDB120は、図1に示す記憶手段1の一例である。図5に示す言語処理部130とマッチング部140とによる機能は、図1に示す判別手段2の一例である。図5に示す変換部150は、図1に示す変換手段3の一例である。図5に示す表示部170は、図1に示す表示手段4の一例である。
【0051】
次に、コンピュータ100に予め登録されているDBの内容について説明する。
図6は、モデリング用文節DBのデータ構造の一例を示す図である。モデリング用文節DB110には、複数のモデリング用文節111,112,113,114,・・・が格納されている。
【0052】
モデリング用文節111には、文節種別No.、語番号(語No.)、語種別、および語内容の欄が設けられている。文節種別No.の欄には、モデリング用文節に対応する文節種別の識別番号が設定される。語No.の欄には、モデリング用文節111に含まれる語の識別番号が設定される。語種別の欄には、モデリング用文節111に含まれる語の品詞が設定される。語内容の欄には、モデリング用文節111に含まれる語の内容が設定される。なお語内容の欄には、正規表現によって語の内容を示すことができる。例えば語内容の欄に、任意の文字列を示す記号(*)を設定することもできる。他のモデリング用文節112,113,114,・・・のデータ構造も、モデリング用文節111と同様である。
【0053】
例えばモデリング用文節111には、任意の名詞と任意の名詞とが「の」で接続された文節の構造が定義されている。
なお、図6に示すモデリング用文節111,112,113,114,・・・は、図1に示す文節種別情報1−1a,1−1b,1−1c,・・・の一例である。
【0054】
図7は、変換ルールDBのデータ構造の一例を示す図である。変換ルールDB120には、複数の変換ルール121,122,123,124,・・・が格納されている。
変換ルール121,122,123,124,・・・には、ルール番号(ルールNo.)、文節種別No.、語No.、1以上の要素種別番号(要素種別No.)の欄が設けられている。
【0055】
ルール番号の欄には、変換ルールの識別番号が設定される。文節種別No.の欄には、変更ルールを適用する文節の種別を示す文節種別No.が設定される。
語No.の欄には、変更ルールを適用する文節に対応するモデリング用文節内の語の語No.が設定される。語No.に続く文字列は、語No.に対応する文節内の語を示している。「*」の記号は、任意の文字列が対応することを示している。また、括弧内の文字列は、右の矢印で示された変数名の変数に代入される。例えば、ルール番号「1」の変換ルール121では、「の」の前にある文字列が変数「$1」に代入され、「の」の後ろにある文字列が変数「$2」に代入される。なお、変換ルール122の要素種別番号「23」の例では、合致する文字列のうちの一部の文字列のみが括弧で囲まれている。この場合、括弧内の文字列のみが変数に代入される。
【0056】
要素種別No.の欄には、文節の変換先となるモデル要素の種別を示す識別番号が設定される。互いに関係するモデル要素の要素種別No.は、同じ行に設定される。要素識別番号の右側の括弧内に、モデル要素に要素種別と要素内容とが設定される。
【0057】
図7の例では、要素種別No.の欄の括弧内が「:」で区切られている。要素種別がクラス図のクラス、またはアクティビティ図のアクティビティ状態を示すモデル要素の場合、括弧内の「:」の左側に要素種別を示す名称が設定され、「:」の右側に要素内容が設定される。要素内容に変数名が設定されている場合、その変数名に設定されている文字列が、生成されるモデル要素の要素内容となる。
【0058】
要素種別がクラス図のクラス間の関係を示すモデル要素の場合、「:」の左側に関係の種別(集約、参照など)が設定され、「:」の右側に関係の方向が示される。集約の場合、集約関係の接続先のモデル要素が設定される側に、菱形の図形が配置されている。参照の場合、参照関係の参照先(参照される側)のモデル要素が設定される側を、矢印で指し示している。例えば、変換ルール122の要素種別番号「24」のモデル要素は、要素種別「21」のモデル要素を全体とし、要素種別「26」のモデル要素を部分とする集約関係を表している。また、変換ルール122の要素種別番号「25」のモデル要素は、要素種別「23」のモデル要素から、要素種別「26」のモデル要素を参照することを表している。
【0059】
変換ルールによって生成されるモデル要素がアクティビティ図のモデル要素の場合、その変換ルールの要素種別番号のいずれかに、アクティビティエッジ、サブアクティビティなどのアクティビティのモデル要素であることを示す情報が設定されている。
【0060】
図8は、モデル表現DBのデータ構造の一例を示す図である。モデル表現DB160には、変換ルールに従って生成されたモデル要素161〜166が格納されている。なお、図8に例示したモデル要素161〜166は、図9に例示した文20に基づいて生成されたものである。
【0061】
モデル要素161〜166には、要素No.、要素種別番号(要素種別No.)、要素種別、要素内容、要素値、関係種別、接続先要素、および同値要素のフィールドが設けられている。
【0062】
要素No.のフィールドには、モデル要素の識別番号が設定される。要素種別番号のフィールドには、モデル要素の要素種別番号が設定される。要素種別のフィールドには、モデル要素の要素種別が設定される。要素内容のフィールドには、モデル要素の内容が設定される。要素値のフィールドには、モデル要素の要素内容の値(要素値)が設定される。関係種別のフィールドには、他のモデル要素との関係が設定される。接続先要素のフィールドには、関係を有する他のモデル要素の要素No.が設定される。同値要素のフィールドには、要素内容が同じ他のモデル要素の要素No.が設定される。
【0063】
なお、図8に示すモデル要素161〜166は、第1の実施の形態における図形データと関係線データとを包含する情報の一例である。例えば、モデル要素161〜166における、要素No.、要素種別No.、要素種別、要素内容、要素値、および同値要素のフィールドは、第1の実施の形態における図形データの一例である。またモデル要素161〜166における、関係種別と接続先要素とのフィールドは、第1の実施の形態における関係線データの一例である。第2の実施の形態では、関係線データが、接続元のモデル要素に含まれているため、接続元のモデル要素を指定するフィールドは設けられていない。
【0064】
次に、第2の実施の形態におけるモデル生成処理の概略を説明する。
図9は、第2の実施の形態におけるモデル生成処理の一例を示す概念図である。図9の例では、「商品の価格」と「商品を発注する」という2つの文節21,22を含む文20が入力されている。入力された文20は、言語処理部130で文節21,22ごとに解析される。例えば言語処理部130で形態素解析が行われることで、文節21,22が複数の語(例えば形態素)に分割される。また言語処理部130では、分割された各語の品詞が解析される。これにより、例えば文節21は、品詞が名詞の「商品」、品詞が助詞の「の」、品詞が名詞の「価格」に分割される。また文節22は、品詞が名詞の「商品」、品詞が助詞の「を」、品詞が動詞の「発注する」に分割される。
【0065】
次にマッチング部140により、文節21,22が合致するモデリング用文節が、モデリング用文節DB110から検索される。図9の例では、文節21は、文節種別No.「1」のモデリング用文節に合致する。また文節22は、文節種別No.「2」のモデリング用文節に合致する。マッチング部140は、言語処理部130で解析後の各文節21,22に対して、その文節が合致するモデリング用文節の文節種別No.を付与し、変換部150に送信する。
【0066】
変換部150は、解析後の各文節21,22それぞれに付与された文節種別No.に対応する変換ルールを変換ルールDB120から取得する。そして変換部150は、各文節21,22を、対応する変換ルールに則ってモデル表現に変換する。
【0067】
なお図9では、変換ルールDB120内の変換ルール121,122で定義されているクラスのモデル要素内に、そのモデル要素の要素種別を示している。また図9のモデル表現DB160内には、モデル表現DB160に格納されたモデル要素161〜166(図8参照)で表現されたクラス図によるモデルが示されている。クラスを示すモデル要素161,162,165,166内には、そのモデル要素の要素内容が示されている。
【0068】
例えば文節21に対しては、変換ルール121が適用される。変換ルール121には、文節21の語No.「11」の語を、要素種別「もの」の要素内容とするモデル要素を生成することが示されている。また変換ルール121には、文節21の語No.「13」の語を、要素種別「属性」の要素内容とするモデル要素を生成することが示されている。さらに変換ルール121には、「もの」のモデル要素を全体とし、「属性」のモデル要素を部分とする集合の関係を生成することが示されている。このような変換ルール121に従って文節21を変換すると、モデル要素161,162が生成される。モデル要素162には、モデル要素161との間の集合関係が定義される。
【0069】
同様に、文節22が、変換ルール122に従ってモデル要素に変換され、図8に示したモデル要素163〜166が生成される。そして、モデル表現DB160に格納されたモデル要素161〜166基づいて、表示部170によってモニタ11にクラス図23が表示される。
【0070】
なお、図8に示すモデル要素163には、同値要素としてモデル要素161の要素No.が設定されている。そのため、モデル要素163はモデル要素161に統合され、クラス図では、モデル要素161のクラスのみが表示される。またモデル要素164は、状態を表す属性の要素であるため、発生し得る状態「未発注」、「発注済」が要素値として設定されている。さらにモデル要素166には、同値要素としてモデル要素164の要素No.が設定されている。そのため、モデル要素166はモデル要素164に統合され、クラス図では、モデル要素164のクラスのみが表示される。
【0071】
このように、自然言語で記述された文20に基づいて、クラス図23を生成することができる。
次に、第2の実施の形態におけるモデリング処理の手順について詳細に説明する。
【0072】
図10は、モデリング処理の手順の一例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS101]言語処理部130は、入力された文を解析し、文節を抽出する。このとき、言語処理部130は、抽出した文節を複数の語に分解し、各語の品詞を判定する。
【0073】
[ステップS102]マッチング部140は、言語処理部130で抽出された文節のうち、未処理の文節を1つ選択する。
[ステップS103]マッチング部140は、選択した文節が適合するモデリング用文節を、モデリング用文節DB110から検索する。
【0074】
[ステップS104]変換部150は、選択した文節が適合するモデリング用文節に設定されている文節種別No.に対応する変換ルールに則って、選択した文節からモデル要素を生成する。そして表示部170が、生成されたモデル要素に基づく図形と接続線とを、グラフィカルに表示する。この処理の詳細は後述する(図11参照)。
【0075】
[ステップS105]マッチング部140は、次の文節があるか否かを判断する。マッチング部140は、次の文節があれば、処理をステップS102に進める。またマッチング部140は、次の文節がなければ、処理をステップS106に進める。
【0076】
[ステップS106]言語処理部130は、未処理の文があるか否かを判断する。言語処理部130は、未処理の文があれば、処理をステップS101に進める。また言語処理部130は、未処理の文がなければ、処理を終了する。
【0077】
次に、モデル要素生成処理の手順について詳細に説明する。
図11は、モデル要素生成処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
【0078】
[ステップS111]変換部150は、ステップS103(図10参照)の検索処理で合致したモデリング用文節の文節種別No.に対応する変換ルールDB120内の変換ルールを選択する。変換部150は、選択した変換ルールを、ステップS102(図10参照)で選択した文節に適用する変換ルールとする。そして変換部150は、選択した文節内の語の少なくとも一部を、その文節に適用する変換ルールに従って抽出し、変数に設定する。
【0079】
[ステップS112]変換部150は、選択した文節に適用する変換ルールに設定されている要素種別No.で示されるモデル要素のうち、関係を示すモデル要素以外のモデル要素を生成する。例えば、要素種別が「集約」、「参照」、「アクティビティエッジ」、「サブアクティビティ」といったモデル要素が、関係を示すモデル要素である。モデル要素を生成する場合、例えば変換部150は、変換ルールに設定されている要素種別No.を有するモデル要素を生成し、変換ルールに従って、生成したモデル要素に要素種別と要素内容とを設定する。要素内容が変数によって定義されている場合、変換部150は、ステップS111で変数に設定された値を、要素内容に設定する。また変換部150は、生成されたモデル要素に、そのモデル要素を一意に識別可能な要素No.を付与する。
【0080】
[ステップS113]変換部150は、ステップS112で生成したモデル要素のうちの接続元のモデル要素に、関係種別と接続先要素の要素No.とを設定する。
[ステップS114]変換部150は、ステップS112で生成したモデル要素の中に、要素内容が「状態」のモデル要素があるか否かを判断する。要素内容が「状態」のモデル要素とは、例えば要素内容に設定されている文字列の最後の2文字が「状態」のモデル要素である。要素内容「状態」のモデル要素があれば、変換部150は、処理をステップS115に進める。また要素内容「状態」のモデル要素がなければ、変換部150は、処理をステップS116に進める。
【0081】
[ステップS115]変換部150は、要素内容「状態」のモデル要素に対して、要素値を設定する。例えば変換部150は、要素内容における「状態」の前の文字列を取得する。例えば要素内容が「発注状態」であれば、「発注」の文字列を取得する。次に変換部150は、取得した文字列の前に「未」を付けた要素値と、取得した文字列の後に「済」を付けた要素値とを生成する。例えば、「発注」の文字列が取得された場合、「未発注」と「発注済」との2つの要素値が生成される。変換部150は、生成した要素値を、要素内容「状態」のモデル要素に設定する。
【0082】
[ステップS116]変換部150は、ステップS103で生成したモデル要素と、要素内容が同じ他のモデル要素が既に生成されているか否かを判断する。変換部150は、要素内容が同じ他のモデル要素がある場合、処理をステップS117に進める。また変換部150は、要素内容が同じ他のモデル要素がない場合、処理をステップS118に進める。
【0083】
[ステップS117]変換部150は、要素内容が同じ他のモデル要素の要素No.を、ステップS112で生成したモデル要素に設定する。
[ステップS118]表示部170は、ステップS112で選択した文節に適用する変換ルールに設定されている関係が、アクティビティの関係か否かを判断する。表示部170は、アクティビティの関係であれば、処理をステップS120に進める。また表示部170は、アクティビティの関係でなければ、処理をステップS119に進める。
【0084】
[ステップS119]表示部170は、ステップS112〜S118の処理で生成されたモデル要素を、クラス図のモデル要素として表示する。同値要素が設定されているモデル要素については、同値要素の要素No.に対応するモデル要素にまとめられる。
【0085】
[ステップS120]表示部170は、アクティビティの関係を有するモデル要素について、アクティビティ図のモデル要素(例えばアクティビティ状態)として追加する。
[ステップS121]表示部170は、アクティビティ図に、開始状態と終点との終了状態を追加する。
【0086】
このような処理により、システムの仕様を説明する自然言語の文から、クラス図やアクティビティ図を自動生成することができる。以下、具体的なクラス図とアクティビティ図との生成例について説明する。
【0087】
図12は、システムの使用を説明する自然言語文の一例を示す図である。文30には、以下の9つの文節が含まれている。
(1)工事の日時
(2)工事の場所
(3)工事の担当者
(4)担当者の氏名
(5)工事を受注する
(6)工事を手配する
(7)担当者を割当する
(8)受注した次に手配する
(9)手配する際に割当する
文30が言語処理部130に入力されると、言語処理部130によって、文節に分割される。各文節は、さらに語(例えば形態素)ごとに分割され、各語の品詞が解析される。
【0088】
図13は、言語処理部による解析結果の一例を示す図である。図13の例では、文30に含まれていた9つの文節が、以下のような品詞の語に分割されている。
(1)名詞:工事、助詞:の、名詞:日時
(2)名詞:工事、助詞:の、名詞:場所
(3)名詞:工事、助詞:の、名詞:担当者
(4)名詞:担当者、助詞:の、名詞:氏名
(5)名詞:工事、助詞:を、動詞:受注する
(6)名詞:工事、助詞:を、動詞:手配する
(7)名詞:担当者、助詞:を、動詞:割当する
(8)動詞:受注した、副詞:次に、動詞:手配する
(9)動詞:手配する、副詞:際に、動詞:割当する
文節の解析結果は、言語処理部130からマッチング部140に渡される。すると、マッチング部140により、解析された各文節について、モデリング用文節DB110(図6参照)に基づいて文節種別が判別される。
【0089】
図14は、文節種別の判別結果の一例を示す図である。判別結果32には、各文節の種別が、文節種別No.によって示されている。図14の例では、(1)〜(4)の文節の文節種別No.は「1」である。(5)〜(7)の文節の文節種別No.は「2」である。(8)の文節の文節種別No.は「3」である。(9)の文節の文節種別No.は「4」である。
【0090】
このような判別結果32が、マッチング部140から変換部150に渡される。すると、変換部150において、各文節が、文節の種別に応じた変換ルールに則ってモデル要素に変換される。以下の例では、図14に示す判別結果32に示される各文節が、図中の上位から順に変換されるものとする。
【0091】
図15は、変換によって生成されたモデル要素の一例を示す第1の図である。図15には、(1)〜(4)の文節から変換されたモデル要素41〜48が示されている。モデル要素41,42は、(1)の文節を変換ルール121に従って変換することで生成されたものである。モデル要素43,44は、(2)の文節を変換ルール121に従って変換することで生成されたものである。モデル要素45,46は、(3)の文節を変換ルール121に従って変換することで生成されたものである。モデル要素47,48は、(4)の文節を変換ルール121に従って変換することで生成されたものである。
【0092】
ここで、モデル要素43の要素が生成された時点では、モデル要素41〜42が既に生成されている。モデル要素43の要素内容は「工事」であり、先に生成されたモデル要素41の要素内容と同じである。そこで、モデル要素43の同値要素のフィールドに、モデル要素41の要素No.が設定されている。
【0093】
図16は、変換によって生成されたモデル要素の一例を示す第2の図である。図16には、(5)の文節を、変換ルール122に従って変換することで生成されたモデル要素51〜54が示されている。モデル要素54の要素内容は「受注状態」であり、モデル要素52の要素内容と同じである。そこで、モデル要素54の同値要素のフィールドに、モデル要素52の要素No.が設定されている。また、モデル要素52,54は「状態」に関するモデル要素であるため、モデル要素52,54には、「未受注」、「受注済」という要素値が設定されている。
【0094】
図17は、変換によって生成されたモデル要素の一例を示す第3の図である。図17には、(6)の文節を、変換ルール122に従って変換することで生成されたモデル要素61〜64が示されている。モデル要素64の要素内容は「手配状態」であり、モデル要素62の要素内容と同じである。そこで、モデル要素64の同値要素のフィールドに、モデル要素62の要素No.が設定されている。また、モデル要素62,64は「状態」に関するモデル要素であるため、モデル要素62,64には、「未手配」、「手配済」という要素値が設定されている。
【0095】
図18は、変換によって生成されたモデル要素の一例を示す第4の図である。図18には、(7)の文節を、変換ルール122に従って変換することで生成されたモデル要素71〜74が示されている。モデル要素74の要素内容は「割当状態」であり、モデル要素72の要素内容と同じである。そこで、モデル要素74の同値要素のフィールドに、モデル要素72の要素No.が設定されている。また、モデル要素72,74は「状態」に関するモデル要素であるため、モデル要素72,74には、「未割当」、「割当済」という要素値が設定されている。
【0096】
図19は、変換によって生成されたモデル要素の一例を示す第5の図である。図19には、(8)、(9)の文節から変換されたモデル要素81〜84が示されている。モデル要素81,82は、(8)の文節を変換ルール123に従って変換することで生成されたものである。モデル要素83,84は、(9)の文節を変換ルール124に従って変換することで生成されたものである。
【0097】
図15〜図19に示したモデル要素に基づいて、表示部170によってグラフィカルな図がモニタ11などに表示される。
図20は、表示されるクラス図の一例を示す図である。図15〜図19に示したモデル要素のうち、図19に示したモデル要素81〜84は、アクティビティの関係が定義されている。そこで表示部170により、モデル要素81〜84以外のモデル要素に基づいて、クラス図200が表示される。クラス図200には、複数のクラス201〜211とクラス間の関係を示す接続線221〜230が表示されている。接続線221〜225,227,229は、集約関係を示す接続線であり、終端の形状は菱形である。接続線226,228,230は、参照関係を示す接続線であり、終端の形状は矢印である。
【0098】
ここでクラス201〜204および接続線221〜224は、図15に示したモデル要素41〜48にも基づいて表示されている。例えばモデル要素41に基づいてクラス201が表示されている。モデル要素42に基づいてクラス202と接続線221とが表示されている。なおモデル要素43,45,46は、同値要素としてモデル要素41の要素No.が設定されているため表示されていない。
【0099】
モデル要素44に基づいて、クラス203と接続線222とが表示されている。モデル要素44に設定されている接続先要素はモデル要素43であるが、モデル要素43には同値要素としてモデル要素41が設定されている。そのため接続線222は、モデル要素44に基づいて表示されたクラス203を接続元とし、モデル要素41に基づいて生成されたクラス201を接続先としている。
【0100】
モデル要素46に基づいて、クラス204と接続線223とが表示されている。モデル要素46に設定されている接続先要素はモデル要素45であるが、モデル要素45には同値要素としてモデル要素41が設定されている。そのため接続線223は、モデル要素46に基づいて表示されたクラス204を接続元とし、モデル要素41に基づいて生成されたクラス201を接続先としている。
【0101】
モデル要素48に基づいて、クラス205と接続線224とが表示されている。モデル要素48に設定されている接続先要素はモデル要素47であるが、モデル要素47には同値要素としてモデル要素46が設定されている。そのため接続線224は、モデル要素48に基づいて表示されたクラス205を接続元とし、モデル要素46に基づいて生成されたクラス201を接続先としている。
【0102】
クラス206,207および接続線225,226は、図16に示したモデル要素51〜54に基づいて表示されている。なおモデル要素51は、同値要素としてモデル要素41の要素No.が設定されているため表示されていない。モデル要素52に基づいてクラス206と接続線225とが表示されている。モデル要素52に設定されている接続先要素はモデル要素51であるが、モデル要素51は同値要素としてモデル要素41が設定されている。そのため接続線225は、モデル要素48に基づいて表示されたクラス205を接続元とし、モデル要素46に基づいて生成されたクラス201を接続先としている。
【0103】
モデル要素53に基づいてクラス207が表示されている。モデル要素54は、同値要素としてモデル要素52の要素No.が設定されているが、関係種別と接続先要素とが設定されている。そのためモデル要素54に基づいて、接続線226のみが表示されている。接続線226は、モデル要素54に同値要素として設定されているモデル要素52に基づいて表示されたクラス206を接続元とし、接続先要素として指定されたモデル要素53に基づいて生成されたクラス207を接続先としている。
【0104】
クラス208,209および接続線227,228は、図17に示したモデル要素61〜64に基づいて表示されている。クラス210,211および接続線229,230は、図18に示したモデル要素61〜64に基づいて表示されている。クラス208〜211および接続線227〜230の表示方法は、図16に示すモデル要素51〜54に基づいてクラス206,207および接続線225,226を表示する場合と同様である。
【0105】
このようにして、クラス図200が、例えばモニタ11に表示される。
図21は、表示されるアクティビティ図の一例を示す図である。図15〜図19に示したモデル要素のうち、図19に示したモデル要素81〜84に基づいてアクティビティ図300が表示される。
【0106】
例えばモデル要素81に基づいて、アクティビティ状態301が表示される。またモデル要素82に基づいて、アクティビティ状態302が表示される。モデル要素82には、関係種別「アクティビティエッジ」、接続先要素「171」が設定されている。これにより、要素No.「171」のモデル要素81に基づいて表示されたアクティビティ状態81から、モデル要素82に基づいて表示されたアクティビティ状態82への状態遷移を示すエッジ303が表示されている。また開始状態304、終了状態305、およびエッジ306,307が表示されている。エッジ306は、開始状態304からアクティビティ状態301への状態遷移を示している。エッジ307は、アクティビティ状態302から終了状態305への状態遷移を示している。
【0107】
なおモデル要素83は、同値要素としてモデル要素82の要素No.が設定されているため表示されていない。モデル要素84に基づいて、アクティビティ状態311が表示されている。モデル要素84には、関係種別「サブアクティビティ」、接続先要素「181」が設定されている。そこで、接続先要素として示されているモデル要素83の要素内容「手配」のサブアクティビティ310が表示される。サブアクティビティ310内には、開始状態312、終了状態313、およびエッジ314,315が表示されている。エッジ314は、開始状態312からアクティビティ状態311への状態遷移を示している。エッジ315は、アクティビティ状態311から終了状態313への状態遷移を示している。
【0108】
このようにして、アクティビティ図300が、例えばモニタ11に表示される。
以上説明したように、第2の実施の形態によれば、自然言語の文でシステムの仕様を記述するだけで、クラス図やアクティビティ図を定義するモデル要素を生成することができる。そして、生成されたモデル要素に基づいて、クラス図やアクティビティ図が表示される。例えば、システムの開発時には、業務の知識が豊富な業務遂行者が自然言語によってシステムの仕様を記述すれば、自動でクラス図やアクティビティ図にモデリングされる。この結果、システム構築の技術者の助けを借りずに、業務遂行者のみで、システムの仕様を容易にモデリングすることができる。
【0109】
〔その他の実施の形態〕
第2の実施の形態では、クラス図とアクティビティ図の生成例を示したが、他の形式の図を生成する変換ルールを定義しておけば、他の形式の図を生成することもできる。例えば、UMLにおけるユースケース図、相互作用図、ステートチャート図、実装図などを生成することができる。
【0110】
なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有する機能の処理内容を記述したプログラムが提供される。提供されるプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0111】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0112】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0113】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0114】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0115】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) 自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
処理をコンピュータに実行させるプログラム。
【0116】
(付記2) 変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる付記1記載のプログラム。
【0117】
(付記3) 前記文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合、該他の図形データを示す情報を、該生成された図形データに設定する、
処理を前記コンピュータに実行させる付記1記載のプログラム。
【0118】
(付記4) 変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続し、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外し、該図形データで示される図形と他の図形との間の関係を示す関係線を、該他の図形データに基づく図形に接続した図を表示する、
処理を前記コンピュータに実行させる付記3記載のプログラム。
【0119】
(付記5) 前記文に含まれる文節を変換する際には、状態を表す内容を有する図形データに対して、状態の取り得る値を設定する、
処理を前記コンピュータに実行させる付記1または3のいずれかに記載のプログラム。
【0120】
(付記6) 変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された図形、または内容と状態の取り得る値とが表記された図形のうちの複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる付記5記載のプログラム。
【0121】
(付記7) 状態の取り得る値を設定する際には、文節から抽出した語で示される動作の未了を示す値と、完了を示す値とを設定する、
処理を前記コンピュータに実行させる付記5または6のいずれかに記載のプログラム。
【0122】
(付記8) 図を表示する際には、関係線データに示される関係線が表す関係に応じて、表示する図の種別を決定し、該関係線で接続される図形と該関係線とを、決定した種別の図に表示する、
処理を前記コンピュータに実行させる付記2、4、6または7のいずれかに記載のプログラム。
【0123】
(付記9) 図を表示する際には、関係線データに示される関係線が、動作を表すアクティビティ間の関係を示す場合、該関係線で接続される図形と該関係線とをアクティビティ図に表示し、関係線データに示される関係線が、オブジェクト指向のシステム開発において使用されるクラス間の関係を示す場合、該関係線で接続される図形と該関係線とをクラス図に表示する、
処理を前記コンピュータに実行させる付記8記載のプログラム。
【0124】
(付記10) 自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する判別手段と、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する変換手段と、
を有する情報処理装置。
【0125】
(付記11) コンピュータが、
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
図生成方法。
【符号の説明】
【0126】
1 記憶手段
1−1a,1−1b,1−1c,・・・ 文節種別情報
1−2a,1−2b,1−2c,・・・ 変換ルール
2 判別手段
3 変換手段
4 表示手段
A 情報処理装置
【特許請求の範囲】
【請求項1】
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
処理をコンピュータに実行させるプログラム。
【請求項2】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。
【請求項3】
前記文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合、該他の図形データを示す情報を、該生成された図形データに設定する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。
【請求項4】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続し、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外し、該図形データで示される図形と他の図形との間の関係を示す関係線を、該他の図形データに基づく図形に接続した図を表示する、
処理を前記コンピュータに実行させる請求項3記載のプログラム。
【請求項5】
前記文に含まれる文節を変換する際には、状態を表す内容を有する図形データに対して、状態の取り得る値を設定する、
処理を前記コンピュータに実行させる請求項1または3のいずれかに記載のプログラム。
【請求項6】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された図形、または内容と状態の取り得る値とが表記された図形のうちの複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる請求項5記載のプログラム。
【請求項7】
図を表示する際には、関係線データに示される関係線が表す関係に応じて、表示する図の種別を決定し、該関係線で接続される図形と該関係線とを、決定した種別の図に表示する、
処理を前記コンピュータに実行させる請求項2、4、または6のいずれかに記載のプログラム。
【請求項8】
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する判別手段と、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する変換手段と、
を有する情報処理装置。
【請求項9】
コンピュータが、
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
図生成方法。
【請求項1】
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
処理をコンピュータに実行させるプログラム。
【請求項2】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。
【請求項3】
前記文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合、該他の図形データを示す情報を、該生成された図形データに設定する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。
【請求項4】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続し、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外し、該図形データで示される図形と他の図形との間の関係を示す関係線を、該他の図形データに基づく図形に接続した図を表示する、
処理を前記コンピュータに実行させる請求項3記載のプログラム。
【請求項5】
前記文に含まれる文節を変換する際には、状態を表す内容を有する図形データに対して、状態の取り得る値を設定する、
処理を前記コンピュータに実行させる請求項1または3のいずれかに記載のプログラム。
【請求項6】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された図形、または内容と状態の取り得る値とが表記された図形のうちの複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる請求項5記載のプログラム。
【請求項7】
図を表示する際には、関係線データに示される関係線が表す関係に応じて、表示する図の種別を決定し、該関係線で接続される図形と該関係線とを、決定した種別の図に表示する、
処理を前記コンピュータに実行させる請求項2、4、または6のいずれかに記載のプログラム。
【請求項8】
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する判別手段と、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する変換手段と、
を有する情報処理装置。
【請求項9】
コンピュータが、
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
図生成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2013−16095(P2013−16095A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−149711(P2011−149711)
【出願日】平成23年7月6日(2011.7.6)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願日】平成23年7月6日(2011.7.6)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]