IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社エリアビジョンの特許一覧

特開2024-163543数量化親和図法実行装置およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024163543
(43)【公開日】2024-11-22
(54)【発明の名称】数量化親和図法実行装置およびプログラム
(51)【国際特許分類】
   G06F 17/10 20060101AFI20241115BHJP
【FI】
G06F17/10 Z
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023079260
(22)【出願日】2023-05-12
(11)【特許番号】
(45)【特許公報発行日】2023-11-15
(71)【出願人】
【識別番号】322002104
【氏名又は名称】株式会社エリアビジョン
(74)【代理人】
【識別番号】110001830
【氏名又は名称】弁理士法人東京UIT国際特許
(72)【発明者】
【氏名】新藤 久和
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB42
(57)【要約】
【課題】親和図法の結果が実施者によって異ならないようにする。
【解決手段】数量化親和図法実行装置は,n個の言語データi,jを用いて,互いに異なる2つずつの言語データi,jのすべての組み合わせについて数値によって入力される親和度kを用いて,親和度kをn行n列のn次正方対称行列の対応する成分i,jの要素とし,対角要素を上記親和度の最大値とし,行項目および列項目を同じとするn次正方対称行列を表すデータを処理対象とする。上記n次正方対称行列から固有値を求め(ステップS41),固有値のそれぞれを用いてスコアベクトル算出式に基づいて,n個の言語データのそれぞれのスコアベクトルxが算出される(ステップS43)。
【選択図】図9
【特許請求の範囲】
【請求項1】
n(nは3以上の整数)個の言語データの入力を受け付ける言語データ入力手段,
受付けられたn個の言語データを用いて,互いに異なる2つずつの言語データi,j(i≠j)のすべての組み合わせを表示する表示手段,
表示された2つの言語データi,jの組み合わせのそれぞれについての親和度kを表す数値の入力を受け付ける親和度入力手段,
n行n列のn次正方対称行列であって,上記親和度入力手段によって入力された言語データi,jの組み合わせの親和度kを上記n次正方対称行列の対応する成分i,jの要素とし,対角要素を上記親和度の最大値とし,行項目および列項目を同じとするn次正方対称行列を表すデータを作成する行列作成手段,ならびに
λを固有値,Pを上記行列作成手段によって作成されたn次正方対称行列,Pをn次正方対称行列Pの転置行列,Iを単位行列,pをn次正方対称行列Pの行和ベクトルの要素を対角要素とする行列,xをスコアベクトルとしたときに,以下のスコアベクトル算出式

に基づいて,上記行列作成手段によって作成されたn次正方対称行列から算出される複数の固有値λのそれぞれごとに,n個の言語データのそれぞれについてのスコアベクトルxを算出するスコアベクトル算出手段を備えている,
数量化親和図法実行装置。
【請求項2】
上記スコアベクトル算出手段は,
上記行列作成手段によって作成されるn次正方対称行列から算出される複数の固有値λのうち,固有値λ=1を除く複数の固有値λのそれぞれごとに,n個の言語データのそれぞれについてのスコアベクトルxを算出するものである,
請求項1に記載の数量化親和図法実行装置。
【請求項3】
上記スコアベクトル算出手段は,
上記行列作成手段によって作成されるn次正方対称行列から算出される複数の固有値λのうち,固有値λ=1を除き,かつ複数の固有値λのうち値の大きなものから順にm個(m≦n-1)の固有値λのそれぞれを用いて,n個の言語データのそれぞれについてのスコアベクトルxを算出するものである,
請求項1に記載の数量化親和図法実行装置。
【請求項4】
2つまたは3つの固有値λのそれぞれを用いて言語データのそれぞれについて算出されるスコアベクトルxを,互いに直交する2軸を備える2次元グラフまたは互いに直交する3軸を備える3次元グラフ上にプロットすることによって表すグラフ表示データ作成手段をさらに備えている,
請求項3に記載の数量化親和図法実行装置。
【請求項5】
上記プロットを含む3次元グラフを表示画面に回転表示させる回転表示手段を備えている,
請求項4に記載の数量化親和図法実行装置。
【請求項6】
上記グラフ表示データ作成手段は,
上記プロットにそれぞれに対応させて上記言語データを表示するものである,
請求項4に記載の数量化親和図法実行装置。
【請求項7】
受け付けられたn(nは3以上の整数)個の言語データを用いて,互いに異なる2つずつの言語データi,j(i≠j)のすべての組み合わせを表示画面に表示し,表示された2つの言語データi,jの組み合わせのそれぞれについての親和度kを表す数値の入力を入力装置から受け付ける処理をコンピュータに実行させる親和度入力プログラム,
n行n列のn次正方対称行列であって,受け付けられた言語データi,jの組み合わせの親和度kを上記n次正方対称行列の対応する成分i,jの要素とし,対角要素を上記親和度の最大値とし,行項目および列項目を同じとするn次正方対称行列を表すデータを作成する処理をコンピュータに実行させる行列作成プログラム,ならびに
λを固有値,Pを上記行列作成手段によって作成されたn次正方対称行列,Pをn次正方対称行列Pの転置行列,Iを単位行列,pをn次正方対称行列Pの行和ベクトルの要素を対角要素とする行列,xをスコアベクトルとしたときに,以下のスコアベクトル算出式

に基づいて,上記行列作成手段によって作成されたn次正方対称行列から算出される複数の固有値λのそれぞれごとに,n個の言語データのそれぞれについてのスコアベクトルxを算出する処理をコンピュータに実行させるスコアベクトル算出プログラムを含む,
数量化親和図法実行プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は数量化親和図法実行装置および数量化親和図法実行プログラムに関する。
【背景技術】
【0002】
親和図法は,未知・未経験の分野,あるいは未来・将来の問題など,モヤモヤとしてハッキリしていない,つまり混沌とした状態の中から,事実あるいは推定,予測,発想,意見などを言語データとしてとらえ,それらの言語データを相互の親和性によってまとめあげ,構造を明らかにする方法である(非特許文献参照)。親和図法は漠然とした課題をテーマとして設定し,設定されたテーマに関して作成される統合図から課題を明確化することを狙いとする手法であり,未知の課題や未経験の課題など,不明確な課題に対する解決策を導き出すために用いられる。クォリティマネジメント用語辞典(吉澤正編集委員長,2004年,日本規格協会)では,親和図法を「未来・将来の問題,未知・未経験の問題など,モヤモヤしてはっきりしていない問題について,事実,意見,発想を言語データでとらえ,それらの相互の親和性によって統合した図を作成することにより,解決すべき問題の所在,形態を明らかにしていく方法」とも定義する。
【0003】
親和図法は一般には次のように進められる。
(1)テーマの設定
(2)テーマに関連する事実,意見,発想等の言語データ(テキストデータ)の収集
(3)言語データを記載したカードの作成
(4)親和性のある(関連している)言語データが記載されたカード同士のグループ化(一次グループの作成)(カード寄せ)
(5)親和性のある一次グループ同士のグループ化(二次グループの作成)
(6)一次グループおよび二次グループの配置(関係があるものを近い位置に配置するなど)
(7)グループ同士の関係性(因果関係,相関,相反)の明示(一般には実線,片側矢印線,両側矢印線が用いられる)
【0004】
しかしながら,言語データに複合的な内容のもの(二つ以上の意味を持つようなもの)が含まれているような場合に特に,たとえばグループ化が親和図法の実施者によって異なることがあり,そうすると当然に異なる結果(異なる解決すべき問題の所在,形態)が導き出されることになる。
【先行技術文献】
【特許文献】
【0005】
【非特許文献1】納谷嘉信編,「おはなし新QC七つ道具」,第1版,財団法人日本規格協会,1987年4月20日,pp.29-47
【発明の概要】
【発明が解決しようとする課題】
【0006】
この発明は,親和図法の結果が実施者によって異ならないようにすることを目的とする。
【0007】
この発明はまた,潜在的な事象(事柄)の検討も含めて問題の考察を支援することを目的とする。
【課題を解決するための手段】
【0008】
この発明による数量化親和図法実行装置は,n(nは3以上の整数)個の言語データの入力を受け付ける言語データ入力手段,受け付けられたn個の言語データを用いて,互いに異なる2つずつの言語データi,j(i≠j)のすべての組み合わせを表示する表示手段,表示された2つの言語データi,jの組み合わせのそれぞれについての親和度kを表す数値の入力を受け付ける親和度入力手段,n行n列のn次正方対称行列であって,上記親和度入力手段によって入力された言語データi,jの組み合わせの親和度kを上記n次正方対称行列の対応する成分i,jの要素とし,対角要素を上記親和度の最大値とし,行項目および列項目を同じとするn次正方対称行列を表すデータを作成する行列作成手段,ならびにλを固有値,Pを上記行列作成手段によって作成されたn次正方対称行列,Pをn次正方対称行列Pの転置行列,Iを単位行列,pをn次正方対称行列Pの行和ベクトルの要素を対角要素とする行列,xをスコアベクトルとしたときに,以下のスコアベクトル算出式

に基づいて,上記行列作成手段によって作成されたn次正方対称行列から算出される複数の固有値λのそれぞれごとに,n個の言語データのそれぞれについてのスコアベクトルxを算出するスコアベクトル算出手段を備えている。
【0009】
複数の言語データのうちの2つずつの組み合わせについてそれらの親和度k(親和性,類似度,関連度と言ってもよい)が数値によって入力される。入力される親和度は,与えられる複数の言語データのうちの2つずつに対して,かつすべての組み合わせ(順序は問わない)に対して入力される。なお,後述するように,同一の言語データ同士の組み合わせについては数値の入力を受け付ける必要は必ずしもない(言語データi,jについて,i≠j)。同一の言語データ同士についての親和度は最高(最大)の親和度とされるべきだからである。
【0010】
親和度の数値は,最も簡単には,1(親和度有)および0(親和度無)のいずれかとされる。もちろん,0,1,2,3など,有無に加えて程度を表すことができる数値を用いて親和度を表す数値の入力を受け付けてもよい。
【0011】
入力された言語データi,jの組み合わせの親和度kが用いられて,受け付けられた言語データの数nと等しい行数および列数を持つn次元の正方行列が作成される。作成されるn次元正方行列は列項目と行項目を同じとするもので,入力された言語データi,jの組み合わせの親和度kを上記n次正方行列の対応する成分i,jの要素とするので,対称行列(n次正方対称行列)となる。また,後述するように,対角要素(i=jに対応)は上記親和度の最大値とすることができる。対角要素は,同一の言語データ同士についての親和度に対応し,上述のように,同一の言語データ同士についての親和度は最高(最大)の親和度とするべきだからである。
【0012】
この発明によると,作成されたn次正方対称行列から算出される複数の固有値λが用いられて,固有値λごとに,n個の言語データのそれぞれについてのスコアベクトルxがスコアベクトル算出式にしたがって算出される。
【0013】
n次正方対称行列からはn個の固有値λが算出される。ただし,数量化親和図法では必ず,固有値λ=1が得られ,これに対応するスコアベクトルの要素の値はすべて等しくなってしまいスコアベクトルとしての意味がなくなるので除外してもよい。この場合には,固有値λ=1を除く複数の固有値λをスコアベクトル算出式に代入することによってスコアベクトルは求められることになり,n-1個の固有値λのそれぞれごとに,スコアベクトルxは求められる。もっとも,後述するように,n-1個の固有値λのすべてを用いてスコアベクトルxを求める必要は必ずしもない。
【0014】
スコアベクトルxは,n次正方対称行列P(およびその転置行列P)をスコアベクトル算出式に代入することによって求められるので,求められるスコアベクトルxはn個の要素(成分)を含む。このn個の要素が上述のn個の言語データのそれぞれについてのスコアベクトルを構成する。
【0015】
固有値λ=1を除くn-1個の固有値λについては,その値が大きければ大きいほど,n次正方対称行列の相関係数が大きいものとなる。すなわち,処理対象のn個の言語データのそれぞれの全体における位置づけ(いずれの言語データと相関しており,いずれの言語データと相関していないか,その程度)を把握しやすいものとなる。
【0016】
一実施態様では,上記スコアベクトル算出手段は,上記行列作成手段によって作成されるn次正方対称行列から算出される複数の固有値λのうち,固有値λ=1を除き,かつ上記複数の固有値λのうち値の大きなものから順にm個(m≦n-1)の固有値λのそれぞれを用いて,n個の言語データのそれぞれについてのスコアベクトルxを算出する。固有値λが小さくなればなるほど相関係数λが小さくなり,二元表の行と列の関係を説明する度合が小さくなる。それで,λは寄与率とも呼ばれる。したがって,二元表の行と列の関係を解析するにあたって,寄与率を70%程度確保したいとすれば,累積寄与率(固有値の大きい方から対応する寄与率の累積和)が70%となるまでの固有値に属するスコアを利用すればよいことになる。たとえば,処理対象の正方対称行列が31次のものである場合,31個の固有値λが求められる。固有値λ=1を除いた30個の固有値λのうち,大きいものから累積寄与率が所望の大きさになるまでのスコアを用いればよいので,それより高次の固有値のスコアは使わないため計算を節約でき,処理速度を向上することができる。
【0017】
数量化親和図法実行装置は,一実施態様では2つまたは3つの固有値λのそれぞれを用いて言語データのそれぞれについて算出されるスコアベクトルxを,互いに直交する2軸を備える2次元グラフまたは互いに直交する3軸を備える3次元グラフ上にプロットすることによって表すグラフ表示データ作成手段をさらに備えている。n個の言語データの全体における位置づけ,さらには類似する言語データのグループ(クラスタ)をプロットによって視覚的に把握することができる。
【0018】
2次元グラフや3次元グラフに加えて,複数の固有値λを用いて算出されるスコアベクトルxを用いて樹形図やヒートマップを作成してもよい。
【0019】
この発明によると,与えられる言語データ同士の関係を,複数の観点(複数の固有値)のそれぞれから把握することができ,親和性のある(似ている)言語データ同士のグループを,2次元グラフ,3次元グラフ,樹形図,ヒートマップ等を用いて把握することができ,解決すべき問題における傾向や,問題を解決するための対策を見つけやすくすることができる。
【0020】
2次元グラフ,3次元グラフ等は,複数の言語データの2つずつの組み合わせについての親和度kが同じであれば同じ結果となり,実施者によって異なることはない。また,固有値λごとに算出されるスコアベクトルxを検討することによって,複数の言語データ(複数の言語データから作成される行列)に潜在している事象(事柄)を検討することも可能である。
【0021】
この発明は,数量化親和図法をコンピュータに実行させるためのプログラムも提供する。
【図面の簡単な説明】
【0022】
図1】親和図法を数量化して行う方法を実行するコンピュータシステムのブロック図である。
図2】3つ組データ作成プログラムの処理を示すフローチャートである。
図3】3つ組データ作成プログラムの処理を示すフローチャートである。
図4】子供の貧困をテーマにしたときの事象を表す文章(テキストデータ)例を示す。
図5】3つ組データテーブル・ファイルの構造を示す。
図6】親和度入力画面を示す。
図7】2元表変換プログラムの処理を示すフローチャートである。
図8】2元表変換プログラムによって作成される2元表(行列P)を示す。
図9】数量化3類適用プログラムの処理を示すフローチャートである。
図10】数量化3類適用プログラムの処理を示すフローチャートである。
図11】第1固有値を用いて算出されるスコアベクトルと第2固有値を用いて算出されるスコアベクトルを,模式的に示している。
図12図8に示す2元表から算出される固有値,寄与率および累積寄与率を示す。
図13】第1固有値~第7固有値のそれぞれを用いて算出される,言語データごとのスコアを示す。
図14】2次元散布図を示す。
図15A】3次元散布図を示す。
図15B】3次元散布図を示す。
図16A】回転表示される3次元散布図を示す。
図16B】回転表示される3次元散布図を示す。
図16C】回転表示される3次元散布図を示す。
図16D】回転表示される3次元散布図を示す。
図17】樹形図を示す。
図18】ヒートマップを示す。
【発明を実施するための形態】
【0023】
図1は数量化親和図法を実行するコンピュータシステム(以下,「数量化親和図法実行装置」という)のブロック図である。
【0024】
数量化親和図法実行装置1は,システム全体を統括的に制御するCPU(Central Processing Unit)11を備えている。CPU11には,バスを介して,BIOS(Basic Input/Output System)等を記憶する不揮発性メモリから構成されるROM(Read Only Memory)12,プログラムおよびデータを一時的に記憶する揮発性メモリから構成されるRAM(Random Access Memory)13,キーボード,マウス等を含み各種の指示等を入力する入力部14,処理結果を表示するディスプレイ等を含む表示部15,ハードディスクやSSD(Solid State Drive)等から構成され,後述する被分析データ16-1,数量化親和図法実行プログラム16-2を記憶する記憶部16を備えている。
【0025】
数量化親和図法実行装置1は,社会問題を生じさせているさまざまな事象(事柄)を整理し,潜在的な事象の抽出を含めて,社会問題の構造を考察するために用いられる。後述するように数量化親和図法実行装置1によって,因果事象がたとえば散布図として表される。この散布図を検討することによって複数の解決策が導かれる。
【0026】
記憶部16に記憶される数量化親和図法実行プログラム16-2は,後述する(1)3つ組データ作成プログラム(関数),(2)2元表変換プログラム(関数),および(3)数量化3類適用プログラム(関数)を含む。これらの3つのプログラムを以下詳細に説明する。パラメータを指定して呼び出すことによってこれらの3つのプログラムをそれぞれCPU11において実行することができる。
【0027】
(1)3つ組データ作成プログラム
図2および図3は3つ組データ作成プログラムの処理を示すフローチャートである。
【0028】
3つ組データ作成プログラムは,あらかじめ用意される複数の言語データから選ばれる2つずつの言語データの組(i,j)のそれぞれについて,その親和性の度合い(親和度)を表すデータkを関連付けたデータ(これを「3つ組データ(i,j,k)」という)を作成するプログラムである。
【0029】
はじめに処理対象の言語データがRAM13に読み込まれる(ステップS10)。言語データはテキスト形式データによってあらかじめ準備される。ここでは言語データの総数をnとする。
【0030】
図4は言語データ(言語によって表されるデータ(テキストデータ))の具体例を示すもので,n=31(31個の言語データ)の例を示している。図4に示す31個の言語データ2は,子供の貧困に係る調査においてヒヤリングによって得られた情報を示している。社会的課題(この例では「子供の貧困を無くす」)を解決しようとする場合様々な観点からの情報が集積され,これらに数量化親和図法を適用することにより,課題を多角的に検討して明確化でき,解決策の導出を支援することができる。
【0031】
言語データのそれぞれには言語データを特定するためのID(データID)が関連付けられる。図4に示す例では1~31の互いに異なる数字(整数)がデータIDとして用いられている。データIDによって31個の言語データのそれぞれが識別(特定)される。
【0032】
図2に戻って,新規に(初めて)3つ組データを作成するか,作成途中の3つ組データの作成を再開するかが判断される(ステップS11)。
【0033】
図5は作成される3つ組データが保存される,3つ組データテーブル・ファイル31の構造の一例を示している。
【0034】
以下に詳述するように,3つ組データが作成されると,作成された3つ組データは3つ組データテーブル・ファイル31に保存される。新たに保存される3つ組データは,3つ組データテーブル・ファイル31において最下行に保存され,3つ組データが作成(保存)されるたびにファイル31の行数が増えていく(行データが下に積み重ねられる)。3つ組データは上述したようにデータID,およびデータIDによって特定される2つの言語データの組に親和度kを関連付けたデータである。
【0035】
新規に3つ組データを作成する場合(図2のステップS11でYES),3つ組データを保存するための3つ組データテーブル・ファイル31(図5)が新規に作成されてRAM13に記憶される。また,2つのカウンタiおよびjがRAM13に記憶される。カウンタiの初期値iとして「1」が,カウンタjの初期値jとして,カウンタiの初期値iに1を加えた数,ここでは「2」が,それぞれ設定される(ステップS12)。
【0036】
作成途中の3つ組データの作成を再開する場合の処理(ステップS11でNO,ステップS13)については後述する。
【0037】
カウンタiの初期値i(=1)から,言語データの総数nから1を減算した値(n-1)まで,以下の処理が繰り返される(以下,iループという)(ステップS14)。ここでは言語データの総数nが31個であるから,カウンタiには1~30の数字がそれぞれ順次入力される。
【0038】
また,カウンタjの初期値(=2)から言語データの総数nまで,以下の処理が繰り返される(以下,jループという)(ステップS15)。カウンタjには2~31の数字がそれぞれ順次入力される。
【0039】
以下に説明するように,はじめにカウンタjのみがインクリメントされてカウンタjがn(=31)に到達すると,次にカウンタiがインクリメントされて,その状態で再びカウンタjのみがインクリメントされることによって,複数の言語データから選ばれる2つずつの言語データの組のすべてについて,以下に説明するように親和度kが関連付けられる。
【0040】
カウンタi,jの値(データID)にしたがって選ばれる,複数の言語データのうちの2つの言語データの組(i,j)が提示(表示画面に表示)される(ステップS16)。
【0041】
たとえば,新規処理であれば,処理開始直後は,上述のカウンタiの初期値iが「1」,カウンタjの初期値jが「2」であるから,カウンタi=1,カウンタj=2となり,データIDが「1」である言語データと,データIDが「2」である言語データの組が表示画面に表示される。
【0042】
図6は,言語データ表示画面(親和度入力画面)40の一例を示している。言語データ表示画面40には,2つ(一組)の言語データ41,42と,入力のやり方を説明する文章43が表示される。
【0043】
言語データ表示画面40に表示される一組の言語データについての親和度が入力される(受け付けられる)(ステップS17,S18)。図6に示す例では,データID「1」の言語データ(「両親は心を開かない」)とデータID「2」の言語データ(「親は支援の種類や内容を知らない」)が上下に並んで表示されている。この上下に並んで表示される2つの言語データの親和度の有無が,入力部14を用いて数値によって入力される(ステップS18で「有」,ステップS19で「親和度入力」)。たとえば,表示される2つの言語データに親和性があれば数字の1が入力部14から入力され(ステップS18で「有」,ステップS19で「親和度入力」),親和度がなければ改行(数字の0でもよい)が入力部14から入力される(ステップS18で「無」)。
【0044】
親和度の有無に代えて,親和度の程度を入力するようにしてもよい。たとえば,親和性がある場合に,その親和度が強ければ数字の「3」を,親和度が中程度であれば数字の「2」を,親和度が弱ければ数字の「1」を,それぞれ入力するようにしてもよい。表示される一組の言語データの親和度(数値)は一般的には専門家の判断により入力される。もちろん,対象となる社会的課題(この実施例では子供の貧困)に詳しい複数の人物の話し合いによって一組の言語データの親和度を決めてもよい。
【0045】
親和度の有無に加えて,処理中断も,言語データ表示画面40を用いて入力される。たとえば「-1」の数値を入力することによって処理中断が入力される(ステップS18で「中断」,ステップS19で「中断入力」)。この機能は,言語データが多くなると,親和度の入力の数が指数関数的に増加し,一気呵成に入力を行うことが困難になるために設けられたものである。
【0046】
親和度が入力された場合(ステップS18で「有」,ステップS19で「親和度入力」),カウンタiのデータID,カウンタjのデータIDおよび入力された親和度k(この実施例ではk=1。上述したようにk=3または2または1としてもよい。)を含む3つ組データが,データ保存用テーブルファイルの最下行に追加される(ステップS20)。
【0047】
jループが終わりかどうか,ここではカウンタjが「31」に到達しているかどうかが判断される(ステップS21)。jループが終わっていない場合(ステップS21でNO),カウンタjがインクリメントされ(ステップ24),その後にjループが繰り返される(ステップS15)。すなわち,カウンタiが固定された状態でカウンタjがインクリメントされて,次のループがスタートする。これによってデータID「1」とデータID「2」の組の処理が終わると,次にデータID「1」とデータID「3」の組の親和度kが入力され,さらに次のループではデータID「1」とデータID「4」の組の親和度kが入力され,最後にデータID「1」とデータID「31」の組の親和度kが入力される。
【0048】
jループが終わると(カウンタjが「31」に到達すると)(ステップS21でYES),カウンタi(初期値i)がインクリメントされ,インクリメントされた値が新たな初期値iとして用いられて(ステップS22),ステップS14に戻る(ステップS23でNO)。カウンタjには,その初期値jとして,上述のカウンタiの初期値iに1を加えた数が設定される(ステップS22)。たとえば,カウンタiの初期値iが「2」にインクリメントされると,カウンタjの新たな初期値jは「3」となる。データID「2」とデータID「3」の組の親和度kが入力され,次にデータID「2」とデータID「4」の組の親和度kが入力され,最後にデータID「2」とデータID「31」の組の親和度kが入力される。
【0049】
iループが終わると(カウンタiが「30」に到達すると),それは互いに異なる2つの言語データの組み合わせのすべてについて親和度kの入力を終えたことを意味する(ステップS23でYES)。複数の3つ組データを含む3つ組データテーブル・ファイル31(図5参照)が完成し,記憶部16に保存される(ステップS27)。
【0050】
親和度の入力のときに親和度無し(改行)が入力されると,3つ組データの作成処理および3つ組データテーブル・ファイル31への保存処理はスキップされる(ステップS18で「無」)。
【0051】
親和度kが入力されずに処理中断が入力されると(ステップS19で「中断入力」),3つ組データテーブル・ファイル31には,カウンタiの値(データID),カウンタjの値(データID)および処理が中断されたことを表す値(-1)が3つ組データとして3つ組データテーブル・ファイル31の最下行に追加され(ステップS25),3つ組データテーブル・ファイル31が記憶部16に保存される(ステップS26)。作成途中の3つ組データの作成が再開されるときには,記憶部16に保存されている3つ組データテーブル・ファイル31の読み込みが行われ(ステップS10),カウンタi,jには,読み込まれた3つ組データテーブル・ファイル31の最下行に記憶されている3つ組データの2つのデータID(i,j)がそれぞれ与えられることで処理が再開される。最下行のデータ(「-1」が格納されている行データ)は削除される(ステップS11でNO,ステップS13)。
【0052】
(2)2元表変換プログラム
図7は2元表変換プログラムの処理を示すフローチャートである。
【0053】
2元表変換プログラムは,上述した言語データ(図4)および3つ組データテーブル・ファイル31(図5)を用いて,次に説明する数量化3類適用プログラムによって処理されるべき行列データを作成する処理を実行する。
【0054】
はじめに言語データ2および3つ組データテーブル・ファイル31が記憶部16から読み出されてRAM13に読み込まれる(ステップS30)。
【0055】
RAM13に読み込まれた言語データ2の数nに応じた行数および列数を持ち,すべての成分を0とする正方行列Pが作成される(ステップS31)。言語データ2の数が31個であれば,すべての成分を0とする31行31列の正方行列が作成される。
【0056】
3つ組データテーブル・ファイル31(図5)は,上述したように複数の3つ組データを含み,各3つ組データには,2つの言語データの組について,言語データを特定するデータID(i,j)と,親和度k(ここでは,分かりやすくするためにk=1とする)を表すデータ(3つ組データ)が含まれている。3つ組データテーブル・ファイル31に含まれる3つ組データ(i,j,k)のそれぞれについて,以下の処理が行われる(ステップS32,ステップS34でNO)。
【0057】
作成された行列Pにおいて,読み込まれた3つ組データ(i,j,k)が用いられて,行列Pの第i行,第j列の成分が「0」から親和度「k」に置き換えられ,第j行,第i列の成分も「0」から親和度「k」に置き換えられる(ステップS33)。
【0058】
たとえば,図5の3つ組データテーブル・ファイル31を参照して,最初に処理される3つ組データ(i,j,k)は(1,2,1)である。親和度kが「1」であるので,31行31列の正方行列Pにおいて,第1行,第2列の成分が「0」から「1」に置き換えられ,かつ第2行,第1列の成分が「0」から「1」に置き換えられる。次の3つ組データ(i,j,k)は(1,3,1)であるから,31行31列の正方行列Pにおいて第1行,第3列の成分が「0」から「1」に置き換えられ,かつ第3行,第1列の成分が「0」から「1」に置き換えられる。
【0059】
図5に示す3つ組データテーブル・ファイル31では,i=1,j=4の親和度kは格納されていない(データが存在しない)。これは,上述した3つ組データ作成プログラムによる処理において,データID「1」の言語データとデータID「4」の言語データについて親和度は無い旨が入力されたためである。このため,正方行列Pにおいて第1行,第4列の成分は「0」のままとなり,第4行,第1列の成分も「0」のままになる。
【0060】
ステップ33の処理を経ることによって,行列Pには,2つの言語データの組について,そのiとjの順序(行と列)を入れ替えた組み合わせについても,同じ値の親和度kが格納される。たとえば,データID「1」の言語データとデータID「2」の言語データの親和度k1,2と(行列Pにおける第1行第2列の要素),データID「2」の言語データとデータID「1」の言語データの親和度k2,1(親和度k1,2と同じ値)(行列Pにおける第2行第1列の要素)が格納される。
【0061】
3つ組データテーブル・ファイル31に含まれるすべての3つ組データについての上述の処理が行われた後(ステップS34でYES),行列Pの対角要素が「0」から親和度kの最大値(ここでは「1」)に置き換えられる(ステップS35)。行列Pの対角要素は同一言語データ同士の組に対応し,親和度kは最大になるはずだからである。行列Pにおいて,第1行第1列,第2行第2列,第3行第3列,...,第31行第31列の成分が「0」から「1」に置き換えられる。これによって行列Pは対角要素(対角成分)のすべてに親和度kの最大値が格納された31次正方対称行列となる。
【0062】
最後に,行列Pの各行の行名(行タイトル)および各列の列名(列タイトル)に,言語データが挿入(格納)されて2元表(行列P)が完成し,完成した行列Pが記憶部16に記憶される(ステップS36)。言語データのそれぞれが関連付けられているデータID(1~31の数字)(図4参照)にしたがって,たとえば第1行の行名(行タイトル)にはデータID「1」の言語データ(「両親は心を開かない」)が挿入され,第1列の列名(列タイトル)にもデータID「1」の言語データ(「両親は心を開かない」)が挿入される。
【0063】
図8は完成した2元表(行列P)を示している。図8では簡略化のために,行名および列名を言語データではなくTEXT1,TEXT2,...,TEXT31と表記している。また成分「0」は「・」で表している。たとえば,「TEXT1」はデータID「1」の言語データ(「両親は心を開かない」),TEXT2はデータID「2」の言語データ(「親は支援の種類や内容を知らない」)であることを理解されたい。また,2元表は行項目と列項目が同一であることを理解されたい。
【0064】
(3)数量化3類適用プログラム
上述した31個の言語データのうちの2組ずつについては上述した入力される親和度によってその関係性が把握されるが,31個の言語データのそれぞれの相関の程度は定かではない。与えられる言語データの相関を様々な観点(ディメンション:Dim)から分析するために数量化3類適用プログラムが用いられる。
【0065】
以下,具体的に数量化3類適用プログラムの処理を説明する。
【0066】
図9および図10は数量化3類適用プログラムの処理を表すフローチャートである。
【0067】
はじめに言語データを含む2元表を表す行列P(図8)が記憶部16から読み出されてRAM13に記憶される(ステップS40)。
【0068】
RAM13に記憶された行列Pに基づいて固有値が計算され,計算された固有値が大きい順に並べられる(ステップS41)。さらに計算された固有値を用いて以下に説明する寄与率および累積寄与率が計算される(ステップS42)。
【0069】
図11は,数量化3類適用プログラムによって算出される複数の固有値の関係を説明するための模式図である。
【0070】
行列Pの固有値は,以下の固有方程式を,未知数である固有値αの方程式として解くことによって求められる。ここで,Eは単位行列である。
【0071】
det(P-αE)=0
【0072】
det()は行列式を表す。
【0073】
行列Pは31次の正方行列であるから,一般には行列Pからは31個の固有値が算出される。固有値のそれぞれに対応する固有ベクトルは,それぞれの固有値を以下の連立方程式に代入することによって算出することができる。
【0074】
(P-αE)x=0
【0075】
行列の固有値および固有ベクトルの組は,たとえばオープンソースフリーウェアである統計解析ソフト「R」( https://cran.r-project.org/ )を用いて算出することができる。
【0076】
図8に示す31次の行列Pを用いると,最大固有値=1を含む31個の固有値が求められる。しかしながら31個の固有値のうち「1」となる固有値は以下の処理では除外される。これは「1」となる固有値を用いると,各言語データのそれぞれについて算出されるスコアベクトル(スコアベクトルについては後述する)が同値となり,言語データ間の相関を表すスコアベクトルとしての意味がないからである。
【0077】
算出される複数の固有値は,その値が大きいほど,二元表の行と列の項目同士の相関関係をより強く反映していることを表している。逆に固有値が小さいほど二元表の行と列の項目同士の相関関係が弱いことを表しており,複数の言語データの相互の関係は分かりづらいものとなる。図11は,2つの固有値(第1固有値>第2固有値の関係を持つとする)のそれぞれを用いて言語データのそれぞれに対して算出されるスコアベクトル(Dim1とDim2)を模式的にプロットしたものである。図11において横軸と縦軸は,それぞれ第1固有値および第2固有値に属するスコアベクトルに対応している。プロットの番号は言語データ(テキストデータ)の番号に対応している。このように,値の大きい固有値に対するスコアベクトルを用いて,2次元平面に各言語データをプロットすると,それらが相互にどのような関係にあるかを把握しやすくなる。これを3次元まで拡張して言語データ同士の関係を検討することが可能である。しかし,4次元以上では可視化することはできないため,後述するように工夫が必要になる。
【0078】
図12は,行列P(図8)から実際に算出される30個の固有値(No.1~No.30)(「1」を除く固有値)を,寄与率および累積寄与率とともに示している。「寄与率」は,30個の固有値のそれぞれについて,当該固有値をすべての固有値の総和によって除算した値である。「累積寄与率」は,複数の固有値のそれぞれに対応して算出される寄与率を,値の大きな固有値のものから順に累積加算した値である。なお,固有値,寄与率および累積寄与率は,実際は,図12に示す小数点以下7桁以降の数値まで算出され,図12では小数点以下8桁の数値が四捨五入されている。
【0079】
上述したように,固有値の値が大きければ大きいほど,スコアベクトルは言語データ同士の相関関係をより強く表しているので,言語データ同士の関係を検討するのに,すべてのスコアベクトルを用いる必要は必ずしもない。このため,問題により少なくとも累積寄与率で70から80%程度が確保できるスコアベクトルを利用して,言語データ同士の関係を検討し,全体像を把握することを試みるのが現実的である(ステップS43)。
【0080】
図13は,行列P(図8)から算出される固有値(図12)のうち値の大きい順に7つの固有値(図12のNo.1~No.7)のそれぞれを用いて,31個の言語データ(図4)のそれぞれについて算出したスコアベクトルを示している。図13において,Dim1,Dim2,...Dim7は,行列Pに潜在する変数(軸)の個数を表しており,行列Pから算出される31個の固有値のうち,「1」となる固有値を除いて大きい方から7つの固有値(その固有ベクトル)のそれぞれに対応する。
【0081】
固有値をλとすると,31個の言語データのそれぞれのスコアベクトルxは,以下の式(スコアベクトル算出式と呼ぶ)を解くことによって求められる。
【0082】
【0083】
上述したスコアベクトル算出式において,Pは処理対象の正方行列を,Pは正方行列Pの転置行列を,Iは単位行列を,それぞれ表す。pは正方行列Pの行和ベクトルの要素を対角要素とする行列である。xがスコアベクトルである。なお,正方行列Pは対称行列であるからP=Pとなる。スコアベクトルxは言語データごとかつn-1個の固有値ごとに算出することができる。
【0084】
上述のスコアベクトル算出式は,2個の互いに異なる項目(行項目と列項目が互いに異なるもの)を取り扱う一般的な数量化3類から得られる固有値問題を基礎にして,これに行項目と列項目とを同じとする(区別しない)ことを条件としたとき表される式であり,2元表の相関係数を最大にするようなスコアベクトルを求める式である。
【0085】
固有値ごとに31個の言語データのそれぞれについて算出されるスコアベクトルxについても,上述した統計解析ソフト「R」を用いて算出することができる。このソフトでは,数量化3類は対応分析と呼ばれている。
【0086】
以下の説明では,算出される複数の固有値(λ=1を除く)を,値の大きいものから順番に,第1固有値,第2固有値,第3固有値,...と呼ぶ。
【0087】
図14は,第1固有値を用いてスコアベクトル算出式に基づいて算出された各言語データのスコアベクトル(以下,「Dim1スコア」という)を横軸とし,第2固有値を用いてスコアベクトル算出式に基づいて算出された各言語データのスコアベクトル(以下,「Dim2スコア」という。以下に説明するDim3スコアも同様。)を縦軸としたグラフであり,31個の言語データのそれぞれについて第1固有値および第2固有値を用いて算出されたスコアベクトルにしたがって,各言語データをプロットした散布図を示している。第1固有値および第2固有値に対応する2つの軸を用いることで図14に示す2次元(平面)グラフにおいて各言語データ同士の相関を把握することができる。数量化3類適用プログラムは図14に示すような2次元の散布図を表示部15に表示することができる(ステップS44)。
【0088】
図14を参照して,Dim1スコア(横軸)に着目すると,31個の言語データのうちのたとえば「25.奨学金制度の充実が必要」に大きなスコアが算出され,「5.働く場所がない」に小さいスコアが算出されており,一例として,これらの2つの言語データのDim1スコア軸上の距離が大きいことを一見して把握することができる。
【0089】
他方,Dim2スコア(縦軸)に着目すると,31個の言語データのうちのたとえば「25.奨学金制度の充実が必要」に大きなスコアが算出され,「29.食べ物を応援できるのはいい」に小さいスコアが算出されており,一例として,これらの2つの言語データのDim2スコア軸上の距離が大きいことを一見して把握することができる。
【0090】
図14に示す散布図をみると,Dim1スコアおよびDim2スコアが互いに近い複数の言語データ(プロット)が集中している部分がある。この集中している言語データが,子供の貧困を無くすという社会的課題の解決につながる重要情報であると考察することができる可能性がある。別のDimスコアを用いると,子供の貧困問題について,たとえば原因事象と結果事象とにプロットが散布図上で分かれる可能性もあり,そのような散布図が得られた場合には,たとえば原因事象のみをピックアップして再度上述した処理を繰り返すことも考えられる。
【0091】
なお,図14に示す散布図は,たとえば横軸をDim1スコア,縦軸をDim3スコアとして表示することもできることは言うまでもない。
【0092】
図15Aおよび図15Bは,31個の言語データのそれぞれについて第1固有値,第2固有値,第3固有値のもとで算出されたスコアベクトルを,互いに直交する軸(Dim1スコア,Dim2スコア,Dim3スコア)を持つ3次元空間にプロットした散布図を示している。図15A図15Bに示すように各言語データの相関関係は3次元空間で把握することもできる。数量化3類適用プログラムは図15A図15Bに示すような3次元の散布図を表示部15に表示することもできる(ステップS44)。
【0093】
図16A図16B図16Cおよび図16Dは,図15A図15Bに示す3次元の散布図を,視点を変えて見るために,回転表示させている様子を示している。図16A図16Dに示す回転表示も数量化3類適用プログラムによって実行され,31個の言語データの相関関係を分かりやすく表示部15に表示させることができる(ステップS44)。
【0094】
図17は,31個の言語データのそれぞれについてのDim1スコアからDim7スコアまでのスコアを用いて,7次元空間における各言語データ間のユークリッド距離を計算し,クラスタ分析のウォード法を用いて7つのクラスタにまとめた結果を樹形図として表示している。より具体的には,図14に示す多数のプロットを含む2次元平面において最もユークリッド距離の近いプロットを持つ言語データの組み合わせを求め,その組み合わせをペアにし,ペアにされた組み合わせについてその重心を新たなプロットとし,新たなプロットを含めて上記処理を繰り返すことによって,最終的に図17に示すような樹形図が作成される。図17において左右方向にのびる直線の長さがユークリッド距離に対応する長さによって表されている。相関の程度に応じて言語データ同士を,まとまりをもつように表現することができる(クラスタリング,グルーピング)。数量化3類適用プログラムは図17に示すような樹形図を表示部15に表示することもできる(ステップS45)。
【0095】
図18は,31個の言語データのそれぞれについて算出されたDim1スコアの大きい順番に言語データを並べ,Dim1スコア,Dim2スコアおよびDim3スコアを,言語データのそれぞれに対応させて表示し,さらにDim1スコア,Dim2スコアおよびDim3スコアに,スコアの値の大きさに応じた色を付して表示するヒートマップを示している。数量化3類適用プログラムは図18に示すようなヒートマップを表示部15に表示することもできる(ステップS46)。Dim1,Dim2,Dim3等の行列Pに潜在する変数の間の類似性(行列Pに潜在する事象(事柄))を検討するのに有用である。
【0096】
最後に,上述したスコアベクトル算出式の導出の基礎とした,2種類の互いに異なる項目(行項目と列項目が互いに異なるもの)を取り扱う一般的な数量化3類から得られる固有値問題を説明しておく。
【0097】
数量化3類(Quantification Method of Type 3 (QM3))は,以下に示すテーブル1のような2元表の形式で与えられたデータの内部構造を分析する手法である。ここでXおよびYは互いに相違する項目であることを意味する。Xはi番目のX項目を,Yはj番目のY項目を表す。そして,各項目にスコア(数量)が対応づけられており,これをx,yとしている。pijは項目Xと項目Yの関連度を表し,pおよびpはそれぞれi番目の行和とj番目の列和を表している。関連度pijは項目XとYとの間に関連があれば「1」,なければ「0」とされる。関連の度合を強中弱に対応させて3,2,1のようにしてもよい。ここでは,簡単のために1と0とする。テーブル1では,2元表の要素の合計で要素の値を除して相対度数の形に変換して合計が1となるようにしている。
【0098】
テーブル1 2元表
【0099】
上記2元表は,量とは関係ない2種類の項目XおよびYから構成されているが,数量化3類は項目XおよびYに数量xおよびyを対応させること(数量化)により内部構造を分析するものである。
【0100】
一般性を失うことなく,xとyのそれぞれの平均を次のように0とおくことができる。
【0101】

【0102】
また,xとyのそれぞれの分散も1とおくことができる。
【0103】
【0104】
相関係数ρは次式のように表される。
【0105】
数量化3類では,式(1.3)と(1.4)を制約条件として,相関係数ρが最大となるように数量xおよびyを決める。そこで,2つの未定乗数λとλを用いてLagrangeの未定乗数法を用いる。次式のQを最大にすればよい。
【0106】
【0107】
数量xおよびyについて偏微分して0とおくと以下の式が得られる。
【0108】
【0109】
式 (1.7)にxを乗じ,添字iについて総和をとると次式が得られる。
【0110】
【0111】
同様に,式 (1.8)にyを乗じて添字jについて総和をとると次式が得られる。
【0112】
【0113】
式 (1.3)と (1.4),および (1.9)と (1.10)から,λ=λとなるので,λおよびλをλに改める。そうすると,式 (1.5)からλ=ρとなる。
【0114】
式(1.7)は次のように変形することができ,この変形式から数量(スコア)xを求めることができる。
【0115】
【0116】
式(1.11)を式(1.8)に代入すると次式が得られる。
【0117】
【0118】
ここで,以下のような表記法を導入する。
【0119】


【0120】
これらの表記法を用いると式 (1.12)は次のように表すことができる。
【0121】
【0122】
式 (1.18)は次式のように整理することができ,これはλを固有値とする固有値問題を表している。
【0123】

したがって,
【0124】

とおくと,以下の式となる。
【0125】
【0126】
上述したスコアベクトル算出式は,上記式(1.21)についてx(行項目)とy(列項目)の区別を無くす(すなわち,項目Xと項目Yを同じにする)ことによって導出することができる。
【符号の説明】
【0127】
1 数量化親和図法実行装置
11 CPU
12 ROM
13 RAM
14 入力部
15 表示部
16 記憶部
16-1 言語データ
16-2 数量化親和図法実行プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15A
図15B
図16A
図16B
図16C
図16D
図17
図18
【手続補正書】
【提出日】2023-07-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
n(nは3以上の整数)個の言語データの入力を受け付ける言語データ入力手段,
付けられたn個の言語データを用いて,互いに異なる2つずつの言語データi,j(i≠j)のすべての組み合わせを表示する表示手段,
表示された2つの言語データi,jの組み合わせのそれぞれについての親和度kを表す数値の入力を受け付ける親和度入力手段,
n行n列のn次正方対称行列であって,上記親和度入力手段によって入力された言語データi,jの組み合わせの親和度kを上記n次正方対称行列の対応する成分i,jの要素とし,対角要素を互いに異なる2つの言語データi,jの組み合わせについて受け付けられる親和度kを表す数値のうちの最大値とし,行項目および列項目を同じとするn次正方対称行列を表すデータを作成する行列作成手段,ならびに
λを固有値,Pを上記行列作成手段によって作成されたn次正方対称行列,Pをn次正方対称行列Pの転置行列,Iを単位行列,pをn次正方対称行列Pの行和ベクトルの要素を対角要素とする行列,xをスコアベクトルとしたときに,以下のスコアベクトル算出式

に基づいて,上記行列作成手段によって作成されたn次正方対称行列から算出される複数の固有値λのそれぞれごとに,n個の言語データのそれぞれについてのスコアベクトルxを算出するスコアベクトル算出手段を備えている,
数量化親和図法実行装置。
【請求項2】
上記スコアベクトル算出手段は,
上記行列作成手段によって作成されるn次正方対称行列から算出される複数の固有値λのうち,固有値λ=1を除く複数の固有値λのそれぞれごとに,n個の言語データのそれぞれについてのスコアベクトルxを算出するものである,
請求項1に記載の数量化親和図法実行装置。
【請求項3】
上記スコアベクトル算出手段は,
上記行列作成手段によって作成されるn次正方対称行列から算出される複数の固有値λのうち,固有値λ=1を除き,かつ複数の固有値λのうち値の大きなものから順にm個(m≦n-1)の固有値λのそれぞれを用いて,n個の言語データのそれぞれについてのスコアベクトルxを算出するものである,
請求項1に記載の数量化親和図法実行装置。
【請求項4】
2つまたは3つの固有値λのそれぞれを用いて言語データのそれぞれについて算出されるスコアベクトルxを,互いに直交する2軸を備える2次元グラフまたは互いに直交する3軸を備える3次元グラフ上にプロットすることによって表すグラフ表示データ作成手段をさらに備えている,
請求項3に記載の数量化親和図法実行装置。
【請求項5】
上記プロットを含む3次元グラフを表示画面に回転表示させる回転表示手段を備えている,
請求項4に記載の数量化親和図法実行装置。
【請求項6】
上記グラフ表示データ作成手段は,
上記プロットにそれぞれに対応させて上記言語データを表示するものである,
請求項4に記載の数量化親和図法実行装置。
【請求項7】
受け付けられたn(nは3以上の整数)個の言語データを用いて,互いに異なる2つずつの言語データi,j(i≠j)のすべての組み合わせを表示画面に表示し,表示された2つの言語データi,jの組み合わせのそれぞれについての親和度kを表す数値の入力を入力装置から受け付ける処理をコンピュータに実行させる親和度入力プログラム,
n行n列のn次正方対称行列であって,受け付けられた言語データi,jの組み合わせの親和度kを上記n次正方対称行列の対応する成分i,jの要素とし,対角要素を互いに異なる2つの言語データi,jの組み合わせについて受け付けられる親和度kを表す数値のうちの最大値とし,行項目および列項目を同じとするn次正方対称行列を表すデータを作成する処理をコンピュータに実行させる行列作成プログラム,ならびに
λを固有値,Pを上記行列作成プログラムによって作成されたn次正方対称行列,Pをn次正方対称行列Pの転置行列,Iを単位行列,pをn次正方対称行列Pの行和ベクトルの要素を対角要素とする行列,xをスコアベクトルとしたときに,以下のスコアベクトル算出式

に基づいて,上記行列作成プログラムによって作成されたn次正方対称行列から算出される複数の固有値λのそれぞれごとに,n個の言語データのそれぞれについてのスコアベクトルxを算出する処理をコンピュータに実行させるスコアベクトル算出プログラムを含む,
数量化親和図法実行プログラム。