(57)【要約】【課題】所定の記述形式に従った図を容易に作成することができるようにする。【解決手段】コンピュータは、自然言語で記述された文に含まれる文節の構造を解析し、文節の種別を判別する。次にコンピュータは、文節を、文節に含まれる語を内容に含む図形を示す複数の図形データと、複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段１を参照する。そして、コンピュータは、文に含まれる文節を、文節の種別に応じた変換ルールに従って、文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する。【選択図】図１
2013016095.tif 000002
【特許請求の範囲】
【請求項１】
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
処理をコンピュータに実行させるプログラム。
【請求項２】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる請求項１記載のプログラム。
【請求項３】
前記文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合、該他の図形データを示す情報を、該生成された図形データに設定する、
処理を前記コンピュータに実行させる請求項１記載のプログラム。
【請求項４】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続し、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外し、該図形データで示される図形と他の図形との間の関係を示す関係線を、該他の図形データに基づく図形に接続した図を表示する、
処理を前記コンピュータに実行させる請求項３記載のプログラム。
【請求項５】
前記文に含まれる文節を変換する際には、状態を表す内容を有する図形データに対して、状態の取り得る値を設定する、
処理を前記コンピュータに実行させる請求項１または３のいずれかに記載のプログラム。
【請求項６】
変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された図形、または内容と状態の取り得る値とが表記された図形のうちの複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる請求項５記載のプログラム。
【請求項７】
図を表示する際には、関係線データに示される関係線が表す関係に応じて、表示する図の種別を決定し、該関係線で接続される図形と該関係線とを、決定した種別の図に表示する、
処理を前記コンピュータに実行させる請求項２、４、または６のいずれかに記載のプログラム。
【請求項８】
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する判別手段と、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する変換手段と、
を有する情報処理装置。
【請求項９】
コンピュータが、
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
図生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形データを生成するプログラム、情報処理装置、および図生成方法に関する。
【背景技術】
【０００２】
業務アプリケーションなどのシステムは開発の際には、まずシステムの仕様が決められる。決められた仕様は、ＵＭＬ(Unified Modeling Language)などの図や形式言語で記述される。
【０００３】
システムの開発時にＵＭＬや形式言語で仕様を記述する場合、まず業務の知識に基づいて仕様を決定する。次に、ＵＭＬや形式言語の知識に基づいて、決定された仕様をＵＭＬまたは形式言語で記述する。例えばＵＭＬには、クラス図やアクティビティ図などの各種の図（ダイアグラム）に関する記述形式が定められている。記述形式に則って図を作成することで、システムの仕様を、第三者にも分かりやすい図形式でモデリングすることができる。
【０００４】
なお、多くの場合、業務遂行者は業務に関する知識は有しているが、ＵＭＬや形式言語の記述形式に関する知識には乏しい。またシステムを構築する技術者は、ＵＭＬや形式言語の記述形式に関する知識は有しているが、業務の内容に関する知識は乏しい。そこで、ＵＭＬまたは形式言語でのシステムの仕様の記述は、業務遂行者と技術者とが連携して作業することになり、非効率的である。
【０００５】
そこで、例えば自然言語文を、計算機がプログラム可能な形式言語に変換する技術が考えられている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２８６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、形式言語での記述は、コンピュータが機械的に解釈するのには都合がよいが、人が目で見て理解しやすいようにグラフィカルにモデリングするものではない。そのため、人が見やすい形式でシステムの仕様をモデリングする場合、依然として、業務を熟知する業務遂行者と、ＵＭＬなどのモデリング言語の知識を有する技術者とが連携して作業することとなり、作業効率が悪い。
【０００８】
１つの側面では、本発明は、所定の記述形式に従った図を容易に作成することができるプログラム、情報処理装置、および図生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、コンピュータに、以下の処理を実行させるプログラムが提供される。コンピュータは、自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する。次にコンピュータは、文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する。
【発明の効果】
【００１０】
１態様によれば、所定の記述形式に従った図を容易に作成可能となる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態に係る装置の機能構成の一例を示す図である。
【図２】第１の実施の形態における図作成処理手順の一例を示すフローチャートである。
【図３】第１の実施の形態によるモデリングの一例を示す図である。
【図４】第２の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。
【図５】第２の実施の形態におけるモデリング機能の一例を示すブロック図である。
【図６】モデリング用文節ＤＢのデータ構造の一例を示す図である。
【図７】変換ルールＤＢのデータ構造の一例を示す図である。
【図８】モデル表現ＤＢのデータ構造の一例を示す図である。
【図９】第２の実施の形態におけるモデル生成処理の一例を示す概念図である。
【図１０】モデリング処理の手順の一例を示すフローチャートである。
【図１１】モデル要素生成処理の手順を示すフローチャートである。
【図１２】システムの使用を説明する自然言語文の一例を示す図である。
【図１３】言語処理部による解析結果の一例を示す図である。
【図１４】文節種別の判別結果の一例を示す図である。
【図１５】変換によって生成されたモデル要素の一例を示す第１の図である。
【図１６】変換によって生成されたモデル要素の一例を示す第２の図である。
【図１７】変換によって生成されたモデル要素の一例を示す第３の図である。
【図１８】変換によって生成されたモデル要素の一例を示す第４の図である。
【図１９】変換によって生成されたモデル要素の一例を示す第５の図である。
【図２０】表示されるクラス図の一例を示す図である。
【図２１】表示されるアクティビティ図の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る装置の機能構成の一例を示す図である。第１の実施の形態に係る情報処理装置Ａは、記憶手段１、判別手段２、変換手段３、および表示手段４を有している。
【００１３】
記憶手段１には、例えば複数の文節種別情報１−１ａ，１−１ｂ，１−１ｃ，・・・と複数の変換ルール１−２ａ，１−２ｂ，１−２ｃ，・・・と格納されている。
文節種別情報１−１ａ，１−１ｂ，１−１ｃ，・・・は、文節の種別ごとに設けられている。文節種別情報１−１ａ，１−１ｂ，１−１ｃ，・・・には、対応する文節の種別に該当する文節の条件が示されている。文節の種別に該当する条件は、例えば、その種別に属する文節の品詞配列や、含まれる文字で定義される。
【００１４】
変換ルール１−２ａ，１−２ｂ，１−２ｃ，・・・は、文節の種別ごとに設けられている。変換ルールには、対応する種別の文節を、図形データと関係線データとに変換する規則（ルール）が示されている。図形データは、文節に含まれる語を内容に含む図形を示す情報である。関係線データは、複数の図形間の関係に応じた端点形状を有する関係線を示す情報である。
【００１５】
判別手段２は、自然言語で記述された文に含まれる文節の構造を解析し、その文節の種別を判別する。例えば判別手段２は、文節の形態素解析を行い、文節に含まれる語（形態素）の品詞を判断する。そして判別手段２は、例えば記憶手段１内の文節種別情報１−１ａ，１−１ｂ，１−１ｃ，・・・の中から、文に含まれる文節の構造が適合する文節種別情報を検出し、検出した文節種別情報に示される種別を、文に含まれる文節の種別と判別する。
【００１６】
変換手段３は、記憶手段１を参照し、文に含まれる文節を、その文節の種別に応じた変換ルールに従って、複数の図形データと関係性データとに変換する。例えば変換手段３は、記憶手段１の中から、文に含まれる文節の種別に対応する変換ルールを選択する。そして変換手段３は、選択した変換ルールに従って、文に含まれる文節を、複数の図形データと関係線を示す関係線データとに変換する。
【００１７】
表示手段４は、変換によって生成された複数の図形データと関係線データとに基づいて図を表示する。表示される図には、内容が表記された複数の図形が含まれる。また表示される図では、複数の図形間の関係に応じた端点形状の関係線で、複数の図形が接続される。
【００１８】
なお、図１に示した判別手段２、変換手段３、および表示手段４は、情報処理装置Ａが有するＣＰＵ（Central Processing Unit）により実現することができる。また、記憶手段１は、情報処理装置Ａが有するＲＡＭ（Random Access Memory）やハードディスクドライブ（ＨＤＤ:Hard Disk Drive）などにより実現することができる。
【００１９】
また、図１に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
このような構成の情報処理装置Ａに対して、例えばコンピュータシステムの仕様を自然言語で記述した文が入力されると、入力された文に基づく図作成処理が実行される。
【００２０】
図２は、第１の実施の形態における図作成処理手順の一例を示すフローチャートである。以下、図２に示す処理をステップ番号に沿って説明する。
［ステップＳ１］判別手段２は、入力された自然言語の文に含まれる文節の構造を解析する。例えば判別手段２は、文節の形態素解析を行う。
【００２１】
［ステップＳ２］判別手段２は、文節の種別を判別する。例えば判別手段２は、文節内の語の品詞の配列に基づき、その文節が適合する文節種別情報を検出する。そして判別手段２は、検出した文節種別情報に示される種別を、その文節の種別と判別する。
【００２２】
［ステップＳ３］変換手段３は、記憶手段１に格納されている変換ルールの中から、判別手段２によって判別された文節の種別に対応する変換ルールを選択する。
［ステップＳ４］変換手段３は、選択した変換ルールに従って、文節を複数の図形データと関係線データとに変換する。
【００２３】
［ステップＳ５］表示手段４は、変換手段３による変換処理で生成された図形データと関係線データとに基づいて、複数の図形を関係線で接続した図を表示する。
図３は、第１の実施の形態によるモデリングの一例を示す図である。
【００２４】
図３の例では、自然言語で記述された文５に、「商品の価格」という文節５ａが含まれている。文節５ａは、判別手段２によって複数の語に分割され、各語の品詞が解析される。そして解析結果５ｂが得られる。解析結果５ｂでは、文節５ａが、「商品」、「の」、「価格」という３つの語に分割されている。「商品」の品詞は名詞である。「の」の品詞は助詞である。「価格」の品詞は名詞である。
【００２５】
判別手段２は、解析結果５ｂが適合する文節種別情報を、記憶手段１から検出する。図３の例では、文節種別情報１−１ａにおいて、任意の名詞、「の」の助詞、および任意の名詞の語の配列が、文節種別Ｎｏ．「１」の種別の文節の条件として定義されている。文節５ａの解析結果５ｂは、文節種別情報１−１ａの条件に適合している。そこで判別手段２は、記憶手段１から文節種別情報１−１ａを検出し、文節５ａの種別を、文節種別Ｎｏ．１と判別する。判別手段２による種別判別結果５ｃは、変換手段３に渡される。
【００２６】
変換手段３では、種別判別結果５ｃに示される文節の種別に対応する変換ルールを選択する。図３の例では、文節種別Ｎｏ．「１」に対応する変換ルール１−２ａが選択される。変換手段３は、選択した変換ルール１−２ａに従って、文節５ａを、複数の図形データ５ｄ，５ｅと関係線データ５ｆとに変換する。
【００２７】
例えば変換ルール１−２ａには、文節の最初の名詞を要素種別「もの」の図形の内容とすることが示されている。また変換ルール１−２ａには、文節の最後の名詞を要素種別「もの」の図形の内容とすることが示されている。さらに変換ルール１−２ａには、文節の最後の名詞に対応する図形が、最初の名詞に対応する図形に集約される関係であることが示されている。
【００２８】
そこで変換手段３は、文節５ａの最初の名詞「商品」を内容とし、要素種別が「もの」である図形を表す図形データ５ｄを生成する。また変換手段３は、文節５ａの最後の名詞「価格」を内容とし、要素種別が「もの」である図形を表す図形データ５ｅを生成する。さらに変換手段３は、図形データ５ｅが示す図形を接続元、図形データ５ｄが示す図形を接続先とする、集約関係の関係線を表す関係線データ５ｆを生成する。
【００２９】
生成された図形データ５ｄ，５ｅおよび関係線データ５ｆに基づいて、表示手段４により、図が表示される。表示される図には、要素種別「もの」を示す２つの図形６ａ，６ｂが含まれる。図形６ａ内には、「商品」という内容が表示されている。図形６ｂ内には、「価格」という内容が表示されている。また図形６ａと図形６ｂとを接続する関係線６ｃが表示されている。関係線６ｃは、図形６ｂ側が始端であり、図形６ａ側が終端である。関係線６ｃの終端は、関係種別が「集約」であることを示す形状となっている。図３の例では、菱形の終端の線が、「集約」関係を表している。
【００３０】
このように自然言語の文に基づいて、グラフィカルな図を表示することができる。表示される図は、例えばＵＭＬの規定に沿ったダイアグラムである。そのため、このような図の作成機能を有する情報処理装置Ａに、システムの仕様を記述した自然言語の文を入力し、図を作成させることで、システムの仕様を容易に図で表すことができる。これにより、例えばシステムに求められる仕様に詳しい業務遂行者が、システムの構築を担当する技術者の助けを借りずに、システムの仕様を表現した図を作成できる。その結果、作業効率が格段に向上する。
【００３１】
なお、文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合も考えられる。この場合、例えば変換手段３は、同じ内容の他の図形データを示す情報を、新たに生成された図形データに設定する。そして、表示する際には、表示手段４は、同じ内容を有する複数の図形データを、１つの図形データに統合して表示することができる。例えば表示手段４は、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外する。そして表示手段４は、表示対象から除外した図形データで示される図形と他の図形との間の関係を示す関係線を、除外した図形データと同じ内容の他の図形データに基づいて表示した図形に接続する。これにより、入力された文において、共通の内容に関連する事項が、複数の文節で説明されていた場合であっても、説明に沿った正確な図を表示することができる。
【００３２】
また、変換手段３が生成した図形データと関係線データとは、記憶手段１などに格納しておくことができる。例えば変換手段３は、生成した図形データと関係線データとを、ストレージ装置に格納しておく。この場合、ユーザからの指示を受けた表示手段４が、指示に従って図形データと関係線データとをストレージ装置から読み出し、図を表示することができる。
【００３３】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、ＵＭＬのクラス図とアクティビティ図とを同時に生成可能とするものである。
【００３４】
図４は、第２の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。コンピュータ１００は、ＣＰＵ１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ１０２と複数の周辺機器が接続されている。
【００３５】
ＲＡＭ１０２は、コンピュータ１００の主記憶装置として使用される。ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００３６】
バス１０８に接続されている周辺機器としては、ＨＤＤ１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、および通信インタフェース１０７がある。
【００３７】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、コンピュータ１００の二次記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３８】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。モニタ１１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３９】
入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号をＣＰＵ１０１に送信する。なお、マウス１３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４０】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク１４に記録されたデータの読み取りを行う。光ディスク１４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４１】
通信インタフェース１０７は、ネットワーク１０に接続されている。通信インタフェース１０７は、ネットワーク１０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４２】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した装置も、図４に示したコンピュータと同様のハードウェアにより実現することができる。
【００４３】
図５は、第２の実施の形態におけるモデリング機能の一例を示すブロック図である。コンピュータ１００は、自然言語からクラス図とアクティビティ図とのモデリングを実現するために、図５に示す各機能を有している。すなわちコンピュータ１００は、モデリング用文節ＤＢ（データベース）１１０、変換ルールＤＢ１２０、言語処理部１３０、マッチング部１４０、変換部１５０、モデル表現ＤＢ１６０、および表示部１７０を有する。
【００４４】
モデリング用文節ＤＢ１１０は、モデリングに使用可能な自然言語の文節の構造の条件を示すモデリング用文節を記憶する。モデリング用文節は、例えば文節の種別ごとに設けられている。その場合、モデリング用文節それぞれには、対応する文節の種別を示す文節種別番号（文節種別Ｎｏ．）が設定される。例えば図４に示したＲＡＭ１０２またはＨＤＤ１０３の記憶領域の一部が、モデリング用文節ＤＢ１１０として使用される。
【００４５】
変換ルールＤＢ１２０は、モデリング用文節に適合した文節に含まれる語を、モデル要素または要素関係の関係に変換する規則を示す変換ルールを記憶する。モデル要素は、例えば、クラス図におけるクラスや、アクティビティ図におけるアクティビティ状態である。例えば図４に示したＲＡＭ１０２またはＨＤＤ１０３の記憶領域の一部が、変換ルールＤＢ１２０として使用される。
【００４６】
言語処理部１３０は、入力された自然言語の文から文節を抽出する。また言語処理部１３０は、抽出した文節の構文や、文節に含まれる字句を解析する。構文や字句を解析する技術として、例えば形態素解析技術がある。形態素解析は、自然言語で記述された文を形態素（意味を持つ最少単位）に分割し、各形態素の品詞を判別する技術である。
【００４７】
マッチング部１４０は、言語処理部１３０によって抽出された文節が適合するモデリング用文節を、モデリング用文節ＤＢ１１０から抽出する。そして、マッチング部１４０は、入力された文節に対応するモデリング用文節の文節種別Ｎｏ．を判別する。
【００４８】
変換部１５０は、入力された文節に対応するモデリング用文節の文節種別Ｎｏ．に基づいて、その入力された文節に適用する変換ルールを、変換ルールＤＢ１２０から抽出する。そして変換部１５０は、抽出した変換ルールに則って、入力された文節をモデルの要素に変換する。変換部１５０は、変換処理で生成された要素を、モデル表現ＤＢ１６０に格納する。
【００４９】
モデル表現ＤＢ１６０は、モデル要素を記憶する。例えば図４に示したＲＡＭ１０２またはＨＤＤ１０３の記憶領域の一部が、モデル表現ＤＢ１６０として使用される。
表示部１７０は、モデル表現ＤＢ１６０に格納されたモデルの要素に基づいて、入力された文全体から認識できるシステムの仕様を表す、クラス図やアクティビティ図をモニタ１１などに表示する。
【００５０】
なお、図５に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また図５に示すモデリング用文節ＤＢ１１０は、図１に示す記憶手段１の一例である。図５に示す変換ルールＤＢ１２０は、図１に示す記憶手段１の一例である。図５に示す言語処理部１３０とマッチング部１４０とによる機能は、図１に示す判別手段２の一例である。図５に示す変換部１５０は、図１に示す変換手段３の一例である。図５に示す表示部１７０は、図１に示す表示手段４の一例である。
【００５１】
次に、コンピュータ１００に予め登録されているＤＢの内容について説明する。
図６は、モデリング用文節ＤＢのデータ構造の一例を示す図である。モデリング用文節ＤＢ１１０には、複数のモデリング用文節１１１，１１２，１１３，１１４，・・・が格納されている。
【００５２】
モデリング用文節１１１には、文節種別Ｎｏ．、語番号（語Ｎｏ．）、語種別、および語内容の欄が設けられている。文節種別Ｎｏ．の欄には、モデリング用文節に対応する文節種別の識別番号が設定される。語Ｎｏ．の欄には、モデリング用文節１１１に含まれる語の識別番号が設定される。語種別の欄には、モデリング用文節１１１に含まれる語の品詞が設定される。語内容の欄には、モデリング用文節１１１に含まれる語の内容が設定される。なお語内容の欄には、正規表現によって語の内容を示すことができる。例えば語内容の欄に、任意の文字列を示す記号（＊）を設定することもできる。他のモデリング用文節１１２，１１３，１１４，・・・のデータ構造も、モデリング用文節１１１と同様である。
【００５３】
例えばモデリング用文節１１１には、任意の名詞と任意の名詞とが「の」で接続された文節の構造が定義されている。
なお、図６に示すモデリング用文節１１１，１１２，１１３，１１４，・・・は、図１に示す文節種別情報１−１ａ，１−１ｂ，１−１ｃ，・・・の一例である。
【００５４】
図７は、変換ルールＤＢのデータ構造の一例を示す図である。変換ルールＤＢ１２０には、複数の変換ルール１２１，１２２，１２３，１２４，・・・が格納されている。
変換ルール１２１，１２２，１２３，１２４，・・・には、ルール番号（ルールＮｏ．）、文節種別Ｎｏ．、語Ｎｏ．、１以上の要素種別番号（要素種別Ｎｏ．）の欄が設けられている。
【００５５】
ルール番号の欄には、変換ルールの識別番号が設定される。文節種別Ｎｏ．の欄には、変更ルールを適用する文節の種別を示す文節種別Ｎｏ．が設定される。
語Ｎｏ．の欄には、変更ルールを適用する文節に対応するモデリング用文節内の語の語Ｎｏ．が設定される。語Ｎｏ．に続く文字列は、語Ｎｏ．に対応する文節内の語を示している。「＊」の記号は、任意の文字列が対応することを示している。また、括弧内の文字列は、右の矢印で示された変数名の変数に代入される。例えば、ルール番号「１」の変換ルール１２１では、「の」の前にある文字列が変数「＄１」に代入され、「の」の後ろにある文字列が変数「＄２」に代入される。なお、変換ルール１２２の要素種別番号「２３」の例では、合致する文字列のうちの一部の文字列のみが括弧で囲まれている。この場合、括弧内の文字列のみが変数に代入される。
【００５６】
要素種別Ｎｏ．の欄には、文節の変換先となるモデル要素の種別を示す識別番号が設定される。互いに関係するモデル要素の要素種別Ｎｏ．は、同じ行に設定される。要素識別番号の右側の括弧内に、モデル要素に要素種別と要素内容とが設定される。
【００５７】
図７の例では、要素種別Ｎｏ．の欄の括弧内が「：」で区切られている。要素種別がクラス図のクラス、またはアクティビティ図のアクティビティ状態を示すモデル要素の場合、括弧内の「：」の左側に要素種別を示す名称が設定され、「：」の右側に要素内容が設定される。要素内容に変数名が設定されている場合、その変数名に設定されている文字列が、生成されるモデル要素の要素内容となる。
【００５８】
要素種別がクラス図のクラス間の関係を示すモデル要素の場合、「：」の左側に関係の種別（集約、参照など）が設定され、「：」の右側に関係の方向が示される。集約の場合、集約関係の接続先のモデル要素が設定される側に、菱形の図形が配置されている。参照の場合、参照関係の参照先（参照される側）のモデル要素が設定される側を、矢印で指し示している。例えば、変換ルール１２２の要素種別番号「２４」のモデル要素は、要素種別「２１」のモデル要素を全体とし、要素種別「２６」のモデル要素を部分とする集約関係を表している。また、変換ルール１２２の要素種別番号「２５」のモデル要素は、要素種別「２３」のモデル要素から、要素種別「２６」のモデル要素を参照することを表している。
【００５９】
変換ルールによって生成されるモデル要素がアクティビティ図のモデル要素の場合、その変換ルールの要素種別番号のいずれかに、アクティビティエッジ、サブアクティビティなどのアクティビティのモデル要素であることを示す情報が設定されている。
【００６０】
図８は、モデル表現ＤＢのデータ構造の一例を示す図である。モデル表現ＤＢ１６０には、変換ルールに従って生成されたモデル要素１６１〜１６６が格納されている。なお、図８に例示したモデル要素１６１〜１６６は、図９に例示した文２０に基づいて生成されたものである。
【００６１】
モデル要素１６１〜１６６には、要素Ｎｏ．、要素種別番号（要素種別Ｎｏ．）、要素種別、要素内容、要素値、関係種別、接続先要素、および同値要素のフィールドが設けられている。
【００６２】
要素Ｎｏ．のフィールドには、モデル要素の識別番号が設定される。要素種別番号のフィールドには、モデル要素の要素種別番号が設定される。要素種別のフィールドには、モデル要素の要素種別が設定される。要素内容のフィールドには、モデル要素の内容が設定される。要素値のフィールドには、モデル要素の要素内容の値（要素値）が設定される。関係種別のフィールドには、他のモデル要素との関係が設定される。接続先要素のフィールドには、関係を有する他のモデル要素の要素Ｎｏ．が設定される。同値要素のフィールドには、要素内容が同じ他のモデル要素の要素Ｎｏ．が設定される。
【００６３】
なお、図８に示すモデル要素１６１〜１６６は、第１の実施の形態における図形データと関係線データとを包含する情報の一例である。例えば、モデル要素１６１〜１６６における、要素Ｎｏ．、要素種別Ｎｏ．、要素種別、要素内容、要素値、および同値要素のフィールドは、第１の実施の形態における図形データの一例である。またモデル要素１６１〜１６６における、関係種別と接続先要素とのフィールドは、第１の実施の形態における関係線データの一例である。第２の実施の形態では、関係線データが、接続元のモデル要素に含まれているため、接続元のモデル要素を指定するフィールドは設けられていない。
【００６４】
次に、第２の実施の形態におけるモデル生成処理の概略を説明する。
図９は、第２の実施の形態におけるモデル生成処理の一例を示す概念図である。図９の例では、「商品の価格」と「商品を発注する」という２つの文節２１，２２を含む文２０が入力されている。入力された文２０は、言語処理部１３０で文節２１，２２ごとに解析される。例えば言語処理部１３０で形態素解析が行われることで、文節２１，２２が複数の語（例えば形態素）に分割される。また言語処理部１３０では、分割された各語の品詞が解析される。これにより、例えば文節２１は、品詞が名詞の「商品」、品詞が助詞の「の」、品詞が名詞の「価格」に分割される。また文節２２は、品詞が名詞の「商品」、品詞が助詞の「を」、品詞が動詞の「発注する」に分割される。
【００６５】
次にマッチング部１４０により、文節２１，２２が合致するモデリング用文節が、モデリング用文節ＤＢ１１０から検索される。図９の例では、文節２１は、文節種別Ｎｏ．「１」のモデリング用文節に合致する。また文節２２は、文節種別Ｎｏ．「２」のモデリング用文節に合致する。マッチング部１４０は、言語処理部１３０で解析後の各文節２１，２２に対して、その文節が合致するモデリング用文節の文節種別Ｎｏ．を付与し、変換部１５０に送信する。
【００６６】
変換部１５０は、解析後の各文節２１，２２それぞれに付与された文節種別Ｎｏ．に対応する変換ルールを変換ルールＤＢ１２０から取得する。そして変換部１５０は、各文節２１，２２を、対応する変換ルールに則ってモデル表現に変換する。
【００６７】
なお図９では、変換ルールＤＢ１２０内の変換ルール１２１，１２２で定義されているクラスのモデル要素内に、そのモデル要素の要素種別を示している。また図９のモデル表現ＤＢ１６０内には、モデル表現ＤＢ１６０に格納されたモデル要素１６１〜１６６（図８参照）で表現されたクラス図によるモデルが示されている。クラスを示すモデル要素１６１，１６２，１６５，１６６内には、そのモデル要素の要素内容が示されている。
【００６８】
例えば文節２１に対しては、変換ルール１２１が適用される。変換ルール１２１には、文節２１の語Ｎｏ．「１１」の語を、要素種別「もの」の要素内容とするモデル要素を生成することが示されている。また変換ルール１２１には、文節２１の語Ｎｏ．「１３」の語を、要素種別「属性」の要素内容とするモデル要素を生成することが示されている。さらに変換ルール１２１には、「もの」のモデル要素を全体とし、「属性」のモデル要素を部分とする集合の関係を生成することが示されている。このような変換ルール１２１に従って文節２１を変換すると、モデル要素１６１，１６２が生成される。モデル要素１６２には、モデル要素１６１との間の集合関係が定義される。
【００６９】
同様に、文節２２が、変換ルール１２２に従ってモデル要素に変換され、図８に示したモデル要素１６３〜１６６が生成される。そして、モデル表現ＤＢ１６０に格納されたモデル要素１６１〜１６６基づいて、表示部１７０によってモニタ１１にクラス図２３が表示される。
【００７０】
なお、図８に示すモデル要素１６３には、同値要素としてモデル要素１６１の要素Ｎｏ．が設定されている。そのため、モデル要素１６３はモデル要素１６１に統合され、クラス図では、モデル要素１６１のクラスのみが表示される。またモデル要素１６４は、状態を表す属性の要素であるため、発生し得る状態「未発注」、「発注済」が要素値として設定されている。さらにモデル要素１６６には、同値要素としてモデル要素１６４の要素Ｎｏ．が設定されている。そのため、モデル要素１６６はモデル要素１６４に統合され、クラス図では、モデル要素１６４のクラスのみが表示される。
【００７１】
このように、自然言語で記述された文２０に基づいて、クラス図２３を生成することができる。
次に、第２の実施の形態におけるモデリング処理の手順について詳細に説明する。
【００７２】
図１０は、モデリング処理の手順の一例を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ１０１］言語処理部１３０は、入力された文を解析し、文節を抽出する。このとき、言語処理部１３０は、抽出した文節を複数の語に分解し、各語の品詞を判定する。
【００７３】
［ステップＳ１０２］マッチング部１４０は、言語処理部１３０で抽出された文節のうち、未処理の文節を１つ選択する。
［ステップＳ１０３］マッチング部１４０は、選択した文節が適合するモデリング用文節を、モデリング用文節ＤＢ１１０から検索する。
【００７４】
［ステップＳ１０４］変換部１５０は、選択した文節が適合するモデリング用文節に設定されている文節種別Ｎｏ．に対応する変換ルールに則って、選択した文節からモデル要素を生成する。そして表示部１７０が、生成されたモデル要素に基づく図形と接続線とを、グラフィカルに表示する。この処理の詳細は後述する（図１１参照）。
【００７５】
［ステップＳ１０５］マッチング部１４０は、次の文節があるか否かを判断する。マッチング部１４０は、次の文節があれば、処理をステップＳ１０２に進める。またマッチング部１４０は、次の文節がなければ、処理をステップＳ１０６に進める。
【００７６】
［ステップＳ１０６］言語処理部１３０は、未処理の文があるか否かを判断する。言語処理部１３０は、未処理の文があれば、処理をステップＳ１０１に進める。また言語処理部１３０は、未処理の文がなければ、処理を終了する。
【００７７】
次に、モデル要素生成処理の手順について詳細に説明する。
図１１は、モデル要素生成処理の手順を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
【００７８】
［ステップＳ１１１］変換部１５０は、ステップＳ１０３（図１０参照）の検索処理で合致したモデリング用文節の文節種別Ｎｏ．に対応する変換ルールＤＢ１２０内の変換ルールを選択する。変換部１５０は、選択した変換ルールを、ステップＳ１０２（図１０参照）で選択した文節に適用する変換ルールとする。そして変換部１５０は、選択した文節内の語の少なくとも一部を、その文節に適用する変換ルールに従って抽出し、変数に設定する。
【００７９】
［ステップＳ１１２］変換部１５０は、選択した文節に適用する変換ルールに設定されている要素種別Ｎｏ．で示されるモデル要素のうち、関係を示すモデル要素以外のモデル要素を生成する。例えば、要素種別が「集約」、「参照」、「アクティビティエッジ」、「サブアクティビティ」といったモデル要素が、関係を示すモデル要素である。モデル要素を生成する場合、例えば変換部１５０は、変換ルールに設定されている要素種別Ｎｏ．を有するモデル要素を生成し、変換ルールに従って、生成したモデル要素に要素種別と要素内容とを設定する。要素内容が変数によって定義されている場合、変換部１５０は、ステップＳ１１１で変数に設定された値を、要素内容に設定する。また変換部１５０は、生成されたモデル要素に、そのモデル要素を一意に識別可能な要素Ｎｏ．を付与する。
【００８０】
［ステップＳ１１３］変換部１５０は、ステップＳ１１２で生成したモデル要素のうちの接続元のモデル要素に、関係種別と接続先要素の要素Ｎｏ．とを設定する。
［ステップＳ１１４］変換部１５０は、ステップＳ１１２で生成したモデル要素の中に、要素内容が「状態」のモデル要素があるか否かを判断する。要素内容が「状態」のモデル要素とは、例えば要素内容に設定されている文字列の最後の２文字が「状態」のモデル要素である。要素内容「状態」のモデル要素があれば、変換部１５０は、処理をステップＳ１１５に進める。また要素内容「状態」のモデル要素がなければ、変換部１５０は、処理をステップＳ１１６に進める。
【００８１】
［ステップＳ１１５］変換部１５０は、要素内容「状態」のモデル要素に対して、要素値を設定する。例えば変換部１５０は、要素内容における「状態」の前の文字列を取得する。例えば要素内容が「発注状態」であれば、「発注」の文字列を取得する。次に変換部１５０は、取得した文字列の前に「未」を付けた要素値と、取得した文字列の後に「済」を付けた要素値とを生成する。例えば、「発注」の文字列が取得された場合、「未発注」と「発注済」との２つの要素値が生成される。変換部１５０は、生成した要素値を、要素内容「状態」のモデル要素に設定する。
【００８２】
［ステップＳ１１６］変換部１５０は、ステップＳ１０３で生成したモデル要素と、要素内容が同じ他のモデル要素が既に生成されているか否かを判断する。変換部１５０は、要素内容が同じ他のモデル要素がある場合、処理をステップＳ１１７に進める。また変換部１５０は、要素内容が同じ他のモデル要素がない場合、処理をステップＳ１１８に進める。
【００８３】
［ステップＳ１１７］変換部１５０は、要素内容が同じ他のモデル要素の要素Ｎｏ．を、ステップＳ１１２で生成したモデル要素に設定する。
［ステップＳ１１８］表示部１７０は、ステップＳ１１２で選択した文節に適用する変換ルールに設定されている関係が、アクティビティの関係か否かを判断する。表示部１７０は、アクティビティの関係であれば、処理をステップＳ１２０に進める。また表示部１７０は、アクティビティの関係でなければ、処理をステップＳ１１９に進める。
【００８４】
［ステップＳ１１９］表示部１７０は、ステップＳ１１２〜Ｓ１１８の処理で生成されたモデル要素を、クラス図のモデル要素として表示する。同値要素が設定されているモデル要素については、同値要素の要素Ｎｏ．に対応するモデル要素にまとめられる。
【００８５】
［ステップＳ１２０］表示部１７０は、アクティビティの関係を有するモデル要素について、アクティビティ図のモデル要素（例えばアクティビティ状態）として追加する。
［ステップＳ１２１］表示部１７０は、アクティビティ図に、開始状態と終点との終了状態を追加する。
【００８６】
このような処理により、システムの仕様を説明する自然言語の文から、クラス図やアクティビティ図を自動生成することができる。以下、具体的なクラス図とアクティビティ図との生成例について説明する。
【００８７】
図１２は、システムの使用を説明する自然言語文の一例を示す図である。文３０には、以下の９つの文節が含まれている。
（１）工事の日時
（２）工事の場所
（３）工事の担当者
（４）担当者の氏名
（５）工事を受注する
（６）工事を手配する
（７）担当者を割当する
（８）受注した次に手配する
（９）手配する際に割当する
文３０が言語処理部１３０に入力されると、言語処理部１３０によって、文節に分割される。各文節は、さらに語（例えば形態素）ごとに分割され、各語の品詞が解析される。
【００８８】
図１３は、言語処理部による解析結果の一例を示す図である。図１３の例では、文３０に含まれていた９つの文節が、以下のような品詞の語に分割されている。
（１）名詞：工事、助詞：の、名詞：日時
（２）名詞：工事、助詞：の、名詞：場所
（３）名詞：工事、助詞：の、名詞：担当者
（４）名詞：担当者、助詞：の、名詞：氏名
（５）名詞：工事、助詞：を、動詞：受注する
（６）名詞：工事、助詞：を、動詞：手配する
（７）名詞：担当者、助詞：を、動詞：割当する
（８）動詞：受注した、副詞：次に、動詞：手配する
（９）動詞：手配する、副詞：際に、動詞：割当する
文節の解析結果は、言語処理部１３０からマッチング部１４０に渡される。すると、マッチング部１４０により、解析された各文節について、モデリング用文節ＤＢ１１０（図６参照）に基づいて文節種別が判別される。
【００８９】
図１４は、文節種別の判別結果の一例を示す図である。判別結果３２には、各文節の種別が、文節種別Ｎｏ．によって示されている。図１４の例では、（１）〜（４）の文節の文節種別Ｎｏ．は「１」である。（５）〜（７）の文節の文節種別Ｎｏ．は「２」である。（８）の文節の文節種別Ｎｏ．は「３」である。（９）の文節の文節種別Ｎｏ．は「４」である。
【００９０】
このような判別結果３２が、マッチング部１４０から変換部１５０に渡される。すると、変換部１５０において、各文節が、文節の種別に応じた変換ルールに則ってモデル要素に変換される。以下の例では、図１４に示す判別結果３２に示される各文節が、図中の上位から順に変換されるものとする。
【００９１】
図１５は、変換によって生成されたモデル要素の一例を示す第１の図である。図１５には、（１）〜（４）の文節から変換されたモデル要素４１〜４８が示されている。モデル要素４１，４２は、（１）の文節を変換ルール１２１に従って変換することで生成されたものである。モデル要素４３，４４は、（２）の文節を変換ルール１２１に従って変換することで生成されたものである。モデル要素４５，４６は、（３）の文節を変換ルール１２１に従って変換することで生成されたものである。モデル要素４７，４８は、（４）の文節を変換ルール１２１に従って変換することで生成されたものである。
【００９２】
ここで、モデル要素４３の要素が生成された時点では、モデル要素４１〜４２が既に生成されている。モデル要素４３の要素内容は「工事」であり、先に生成されたモデル要素４１の要素内容と同じである。そこで、モデル要素４３の同値要素のフィールドに、モデル要素４１の要素Ｎｏ．が設定されている。
【００９３】
図１６は、変換によって生成されたモデル要素の一例を示す第２の図である。図１６には、（５）の文節を、変換ルール１２２に従って変換することで生成されたモデル要素５１〜５４が示されている。モデル要素５４の要素内容は「受注状態」であり、モデル要素５２の要素内容と同じである。そこで、モデル要素５４の同値要素のフィールドに、モデル要素５２の要素Ｎｏ．が設定されている。また、モデル要素５２，５４は「状態」に関するモデル要素であるため、モデル要素５２，５４には、「未受注」、「受注済」という要素値が設定されている。
【００９４】
図１７は、変換によって生成されたモデル要素の一例を示す第３の図である。図１７には、（６）の文節を、変換ルール１２２に従って変換することで生成されたモデル要素６１〜６４が示されている。モデル要素６４の要素内容は「手配状態」であり、モデル要素６２の要素内容と同じである。そこで、モデル要素６４の同値要素のフィールドに、モデル要素６２の要素Ｎｏ．が設定されている。また、モデル要素６２，６４は「状態」に関するモデル要素であるため、モデル要素６２，６４には、「未手配」、「手配済」という要素値が設定されている。
【００９５】
図１８は、変換によって生成されたモデル要素の一例を示す第４の図である。図１８には、（７）の文節を、変換ルール１２２に従って変換することで生成されたモデル要素７１〜７４が示されている。モデル要素７４の要素内容は「割当状態」であり、モデル要素７２の要素内容と同じである。そこで、モデル要素７４の同値要素のフィールドに、モデル要素７２の要素Ｎｏ．が設定されている。また、モデル要素７２，７４は「状態」に関するモデル要素であるため、モデル要素７２，７４には、「未割当」、「割当済」という要素値が設定されている。
【００９６】
図１９は、変換によって生成されたモデル要素の一例を示す第５の図である。図１９には、（８）、（９）の文節から変換されたモデル要素８１〜８４が示されている。モデル要素８１，８２は、（８）の文節を変換ルール１２３に従って変換することで生成されたものである。モデル要素８３，８４は、（９）の文節を変換ルール１２４に従って変換することで生成されたものである。
【００９７】
図１５〜図１９に示したモデル要素に基づいて、表示部１７０によってグラフィカルな図がモニタ１１などに表示される。
図２０は、表示されるクラス図の一例を示す図である。図１５〜図１９に示したモデル要素のうち、図１９に示したモデル要素８１〜８４は、アクティビティの関係が定義されている。そこで表示部１７０により、モデル要素８１〜８４以外のモデル要素に基づいて、クラス図２００が表示される。クラス図２００には、複数のクラス２０１〜２１１とクラス間の関係を示す接続線２２１〜２３０が表示されている。接続線２２１〜２２５，２２７，２２９は、集約関係を示す接続線であり、終端の形状は菱形である。接続線２２６，２２８，２３０は、参照関係を示す接続線であり、終端の形状は矢印である。
【００９８】
ここでクラス２０１〜２０４および接続線２２１〜２２４は、図１５に示したモデル要素４１〜４８にも基づいて表示されている。例えばモデル要素４１に基づいてクラス２０１が表示されている。モデル要素４２に基づいてクラス２０２と接続線２２１とが表示されている。なおモデル要素４３，４５，４６は、同値要素としてモデル要素４１の要素Ｎｏ．が設定されているため表示されていない。
【００９９】
モデル要素４４に基づいて、クラス２０３と接続線２２２とが表示されている。モデル要素４４に設定されている接続先要素はモデル要素４３であるが、モデル要素４３には同値要素としてモデル要素４１が設定されている。そのため接続線２２２は、モデル要素４４に基づいて表示されたクラス２０３を接続元とし、モデル要素４１に基づいて生成されたクラス２０１を接続先としている。
【０１００】
モデル要素４６に基づいて、クラス２０４と接続線２２３とが表示されている。モデル要素４６に設定されている接続先要素はモデル要素４５であるが、モデル要素４５には同値要素としてモデル要素４１が設定されている。そのため接続線２２３は、モデル要素４６に基づいて表示されたクラス２０４を接続元とし、モデル要素４１に基づいて生成されたクラス２０１を接続先としている。
【０１０１】
モデル要素４８に基づいて、クラス２０５と接続線２２４とが表示されている。モデル要素４８に設定されている接続先要素はモデル要素４７であるが、モデル要素４７には同値要素としてモデル要素４６が設定されている。そのため接続線２２４は、モデル要素４８に基づいて表示されたクラス２０５を接続元とし、モデル要素４６に基づいて生成されたクラス２０１を接続先としている。
【０１０２】
クラス２０６，２０７および接続線２２５，２２６は、図１６に示したモデル要素５１〜５４に基づいて表示されている。なおモデル要素５１は、同値要素としてモデル要素４１の要素Ｎｏ．が設定されているため表示されていない。モデル要素５２に基づいてクラス２０６と接続線２２５とが表示されている。モデル要素５２に設定されている接続先要素はモデル要素５１であるが、モデル要素５１は同値要素としてモデル要素４１が設定されている。そのため接続線２２５は、モデル要素４８に基づいて表示されたクラス２０５を接続元とし、モデル要素４６に基づいて生成されたクラス２０１を接続先としている。
【０１０３】
モデル要素５３に基づいてクラス２０７が表示されている。モデル要素５４は、同値要素としてモデル要素５２の要素Ｎｏ．が設定されているが、関係種別と接続先要素とが設定されている。そのためモデル要素５４に基づいて、接続線２２６のみが表示されている。接続線２２６は、モデル要素５４に同値要素として設定されているモデル要素５２に基づいて表示されたクラス２０６を接続元とし、接続先要素として指定されたモデル要素５３に基づいて生成されたクラス２０７を接続先としている。
【０１０４】
クラス２０８，２０９および接続線２２７，２２８は、図１７に示したモデル要素６１〜６４に基づいて表示されている。クラス２１０，２１１および接続線２２９，２３０は、図１８に示したモデル要素６１〜６４に基づいて表示されている。クラス２０８〜２１１および接続線２２７〜２３０の表示方法は、図１６に示すモデル要素５１〜５４に基づいてクラス２０６，２０７および接続線２２５，２２６を表示する場合と同様である。
【０１０５】
このようにして、クラス図２００が、例えばモニタ１１に表示される。
図２１は、表示されるアクティビティ図の一例を示す図である。図１５〜図１９に示したモデル要素のうち、図１９に示したモデル要素８１〜８４に基づいてアクティビティ図３００が表示される。
【０１０６】
例えばモデル要素８１に基づいて、アクティビティ状態３０１が表示される。またモデル要素８２に基づいて、アクティビティ状態３０２が表示される。モデル要素８２には、関係種別「アクティビティエッジ」、接続先要素「１７１」が設定されている。これにより、要素Ｎｏ．「１７１」のモデル要素８１に基づいて表示されたアクティビティ状態８１から、モデル要素８２に基づいて表示されたアクティビティ状態８２への状態遷移を示すエッジ３０３が表示されている。また開始状態３０４、終了状態３０５、およびエッジ３０６，３０７が表示されている。エッジ３０６は、開始状態３０４からアクティビティ状態３０１への状態遷移を示している。エッジ３０７は、アクティビティ状態３０２から終了状態３０５への状態遷移を示している。
【０１０７】
なおモデル要素８３は、同値要素としてモデル要素８２の要素Ｎｏ．が設定されているため表示されていない。モデル要素８４に基づいて、アクティビティ状態３１１が表示されている。モデル要素８４には、関係種別「サブアクティビティ」、接続先要素「１８１」が設定されている。そこで、接続先要素として示されているモデル要素８３の要素内容「手配」のサブアクティビティ３１０が表示される。サブアクティビティ３１０内には、開始状態３１２、終了状態３１３、およびエッジ３１４，３１５が表示されている。エッジ３１４は、開始状態３１２からアクティビティ状態３１１への状態遷移を示している。エッジ３１５は、アクティビティ状態３１１から終了状態３１３への状態遷移を示している。
【０１０８】
このようにして、アクティビティ図３００が、例えばモニタ１１に表示される。
以上説明したように、第２の実施の形態によれば、自然言語の文でシステムの仕様を記述するだけで、クラス図やアクティビティ図を定義するモデル要素を生成することができる。そして、生成されたモデル要素に基づいて、クラス図やアクティビティ図が表示される。例えば、システムの開発時には、業務の知識が豊富な業務遂行者が自然言語によってシステムの仕様を記述すれば、自動でクラス図やアクティビティ図にモデリングされる。この結果、システム構築の技術者の助けを借りずに、業務遂行者のみで、システムの仕様を容易にモデリングすることができる。
【０１０９】
〔その他の実施の形態〕
第２の実施の形態では、クラス図とアクティビティ図の生成例を示したが、他の形式の図を生成する変換ルールを定義しておけば、他の形式の図を生成することもできる。例えば、ＵＭＬにおけるユースケース図、相互作用図、ステートチャート図、実装図などを生成することができる。
【０１１０】
なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有する機能の処理内容を記述したプログラムが提供される。提供されるプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１１１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１３】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【０１１４】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１１５】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
（付記１）  自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
処理をコンピュータに実行させるプログラム。
【０１１６】
（付記２）  変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる付記１記載のプログラム。
【０１１７】
（付記３）  前記文に含まれる文節を変換する際には、変換によって生成された図形データと同じ内容の他の図形データが既に存在する場合、該他の図形データを示す情報を、該生成された図形データに設定する、
処理を前記コンピュータに実行させる付記１記載のプログラム。
【０１１８】
（付記４）  変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続し、同じ内容の他の図形データを示す情報が設定された図形データに基づく図形については表示対象から除外し、該図形データで示される図形と他の図形との間の関係を示す関係線を、該他の図形データに基づく図形に接続した図を表示する、
処理を前記コンピュータに実行させる付記３記載のプログラム。
【０１１９】
（付記５）  前記文に含まれる文節を変換する際には、状態を表す内容を有する図形データに対して、状態の取り得る値を設定する、
処理を前記コンピュータに実行させる付記１または３のいずれかに記載のプログラム。
【０１２０】
（付記６）  変換によって生成された複数の図形データと関係線データとに基づいて、内容が表記された図形、または内容と状態の取り得る値とが表記された図形のうちの複数の図形間を、該複数の図形間の関係に応じた端点形状の関係線で接続した図を表示する、
処理を前記コンピュータに実行させる付記５記載のプログラム。
【０１２１】
（付記７）  状態の取り得る値を設定する際には、文節から抽出した語で示される動作の未了を示す値と、完了を示す値とを設定する、
処理を前記コンピュータに実行させる付記５または６のいずれかに記載のプログラム。
【０１２２】
（付記８）  図を表示する際には、関係線データに示される関係線が表す関係に応じて、表示する図の種別を決定し、該関係線で接続される図形と該関係線とを、決定した種別の図に表示する、
処理を前記コンピュータに実行させる付記２、４、６または７のいずれかに記載のプログラム。
【０１２３】
（付記９）  図を表示する際には、関係線データに示される関係線が、動作を表すアクティビティ間の関係を示す場合、該関係線で接続される図形と該関係線とをアクティビティ図に表示し、関係線データに示される関係線が、オブジェクト指向のシステム開発において使用されるクラス間の関係を示す場合、該関係線で接続される図形と該関係線とをクラス図に表示する、
処理を前記コンピュータに実行させる付記８記載のプログラム。
【０１２４】
（付記１０）  自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別する判別手段と、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する変換手段と、
を有する情報処理装置。
【０１２５】
（付記１１）  コンピュータが、
自然言語で記述された文に含まれる文節の構造を解析し、該文節の種別を判別し、
文節を、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形間の関係に応じた端点形状を有する関係線を示す関係線データと、に変換する変換ルールを文節の種別ごとに記憶する記憶手段を参照し、前記文に含まれる文節を、該文節の種別に応じた変換ルールに従って、該文節に含まれる語を内容に含む図形を示す複数の図形データと、該複数の図形データそれぞれで示される図形間を接続する関係線を示す関係線データとに変換する、
図生成方法。
【符号の説明】
【０１２６】
１  記憶手段
１−１ａ，１−１ｂ，１−１ｃ，・・・  文節種別情報
１−２ａ，１−２ｂ，１−２ｃ，・・・  変換ルール
２  判別手段
３  変換手段
４  表示手段
Ａ  情報処理装置
【図１】
2013016095.tif 000003
【図２】
2013016095.tif 000004
【図３】
2013016095.tif 000005
【図４】
2013016095.tif 000006
【図５】
2013016095.tif 000007
【図６】
2013016095.tif 000008
【図７】
2013016095.tif 000009
【図８】
2013016095.tif 000010
【図９】
2013016095.tif 000011
【図１０】
2013016095.tif 000012
【図１１】
2013016095.tif 000013
【図１２】
2013016095.tif 000014
【図１３】
2013016095.tif 000015
【図１４】
2013016095.tif 000016
【図１５】
2013016095.tif 000017
【図１６】
2013016095.tif 000018
【図１７】
2013016095.tif 000019
【図１８】
2013016095.tif 000020
【図１９】
2013016095.tif 000021
【図２０】
2013016095.tif 000022
【図２１】
2013016095.tif 000023