(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023157600
(43)【公開日】2023-10-26
(54)【発明の名称】閾値設定方法、類似文字列判定方法、閾値設定装置、類似文字列判定装置及びプログラム
(51)【国際特許分類】
G06F 16/35 20190101AFI20231019BHJP
G21C 17/00 20060101ALI20231019BHJP
G06Q 10/20 20230101ALI20231019BHJP
G06N 20/00 20190101ALI20231019BHJP
【FI】
G06F16/35
G21C17/00 110
G06Q10/00 300
G06N20/00 130
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022067608
(22)【出願日】2022-04-15
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】網谷 達輝
(72)【発明者】
【氏名】尾▲崎▼ 和基
(72)【発明者】
【氏名】平井 俊輔
(72)【発明者】
【氏名】森田 克明
【テーマコード(参考)】
2G075
5B175
5L049
【Fターム(参考)】
2G075AA01
2G075BA01
2G075CA02
2G075EA03
2G075GA18
2G075GA19
5B175DA01
5B175FA03
5L049CC15
(57)【要約】
【課題】文字列の類似度を判定する基準を算出することができる。
【解決手段】閾値設定方法は、複数の文字列のそれぞれについて文字列ベクトルを算出するステップと、複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出するステップと、前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成するステップと、前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出するステップと、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の文字列のそれぞれについて文字列ベクトルを算出するステップと、
複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出するステップと、
前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成するステップと、
前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出するステップと、
を有する閾値設定方法。
【請求項2】
複数の前記組合せにおける前記距離の標準偏差と前記コサイン類似度の標準偏差を算出するステップ、
をさらに有し、
前記閾値を算出するステップでは、前記距離の閾値と前記コサイン類似度の閾値に加えて、前記距離の標準偏差の閾値と前記コサイン類似度の標準偏差の閾値を算出する、
請求項1に記載の閾値設定方法。
【請求項3】
評価対象の文字列の文字列ベクトルを算出するステップと、
参照用の1又は複数の文字列について、請求項1または請求項2に記載の閾値設定方法を用いて算出された前記参照用の1又は複数の文字列の文字列ベクトルと、前記閾値と、前記評価対象の文字列の文字列ベクトルとに基づいて、前記評価対象の文字列と前記参照用の文字列のうちの少なくとも1つが類似するかどうかを判定するステップと、
を有する類似文字列判定方法。
【請求項4】
評価対象の文字列の文字列ベクトルを算出するステップと、
参照用の1又は複数の文字列について、請求項1または請求項2に記載の閾値設定方法を用いて算出された前記参照用の1又は複数の文字列の文字列ベクトルと、前記閾値と、前記評価対象の文字列の文字列ベクトルとに基づいて、前記評価対象の文字列と前記参照用の文字列を類似するもの同士のグループに分類するステップと、
を有する類似文字列判定方法。
【請求項5】
前記判定するステップの結果に対する妥当性の評価を受け付けるステップと、
前記妥当性の評価に基づいて、前記評価対象の文字列および前記評価対象の文字列と類似度の評価がなされた前記組合せに対して前記ラベル設定を行い、追加の前記教師データを作成するステップ、
をさらに有し、
前記閾値を算出するステップでは、前記教師データと前記追加の教師データとに基づいて、前記閾値を算出する、
請求項3に記載の類似文字列判定方法。
【請求項6】
前記参照用の1又は複数の文字列が、評価済みのPRA(Probabilistic Risk Assessment)モデルから抽出されたカットセットを表す文字列であり、
前記評価対象の文字列が、評価対象のPRAモデルから抽出したカットセットを表す文字列である、
請求項3に記載の類似文字列判定方法。
【請求項7】
文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得するステップと、
評価対象の文字列と参照用の文字列の文字列ベクトルを算出するステップと、
前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定するステップと、
を有する類似文字列判定方法。
【請求項8】
複数の文字列のそれぞれについて文字列ベクトルを算出する手段と、
複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出する手段と、
前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成する手段と、
前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出する手段と、
を有する閾値設定装置。
【請求項9】
文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得する手段と、
評価対象の文字列と参照用の文字列の文字列ベクトルを算出する手段と、
前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定する手段と、
を有する類似文字列判定装置。
【請求項10】
コンピュータに、
複数の文字列のそれぞれについて文字列ベクトルを算出するステップと、
複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出するステップと、
前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成するステップと、
前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出するステップと、
を実行させるプログラム。
【請求項11】
コンピュータに、
文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得するステップと、
評価対象の文字列と参照用の文字列の文字列ベクトルを算出するステップと、
前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、閾値設定方法、類似文字列判定方法、閾値設定装置、類似文字列判定装置及びプログラムに関する。
【背景技術】
【0002】
原子力発電プラントのリスク評価に確率論的リスク評価(Probabilistic Risk Assessment:PRA)モデル(以下、PRAモデルと記載する。)が用いられることがある(特許文献1)。リスク評価の精度を保つため、PRAモデルに基づいて生成される頂上事象のカットセットの妥当性を確認する必要がある。カットセットは、プラントの系統や機器、故障の種類などを表すコードを組み合わせた文字列として表される。原子力発電プラントのPRAモデルから出力される頂上事象のカットセットの数は、1プラントあたり数万から数十万になることがあり、膨大な数のカットセットを効率よく確認する方法が求められている。例えば、既に妥当性の確認が済んだカットセット群を正として、評価対象のカットセット群を確認済みのカットセット群と比較して評価する方法が考えられる。この方法では、確認済みのカットセット群と比較して、評価対象のカットセット群に類似するカットセットが存在すれば、そのカットセットは妥当であると判断し、妥当性の確認が済んだカットセット群に存在するカットセットが評価対象のカットセット群に無い場合、評価対象のカットセット群には、本来存在すべきはずのカットセットが無い可能性があるといった判断を行う。確認済みのカットセット群を参照しながら確認を行うことで、評価対象のカットセット群の妥当性を効率よく確認することができる。このような方法で確認を行う場合、確認済みのカットセットと評価対象のカットセットが類似するかどうかを判定する必要がある。特許文献2には、文字データの関連性(類似するかどうか)を、文字データから生成した特徴ベクトルを用いて判定する方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5480033号公報
【特許文献2】特開2014-112358号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
文字列が類似するかどうかを判定するためには、類似度を判定する基準を定める必要がある。
【0005】
本開示は、上記課題を解決することができる閾値設定方法、類似文字列判定方法、閾値設定装置、類似文字列判定装置及びプログラムを提供する。
【課題を解決するための手段】
【0006】
本開示の閾値設定方法は、複数の文字列のそれぞれについて文字列ベクトルを算出するステップと、複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出するステップと、前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成するステップと、前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出するステップと、を有する。
【0007】
本開示の類似文字列判定方法は、文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得するステップと、評価対象の文字列と参照用の文字列の文字列ベクトルを算出するステップと、前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定するステップと、を有する。
【0008】
また、本開示の閾値設定装置は、複数の文字列のそれぞれについて文字列ベクトルを算出する手段と、複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出する手段と、前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成する手段と、前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出する手段と、を有する。
【0009】
また、本開示の類似文字列判定装置は、文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得する手段と、評価対象の文字列と参照用の文字列の文字列ベクトルを算出する手段と、前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定する手段と、を有する。
【0010】
また、本開示のプログラムは、コンピュータに、複数の文字列のそれぞれについて文字列ベクトルを算出するステップと、複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出するステップと、前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成するステップと、前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出するステップと、を実行させる。
【0011】
また、本開示のプログラムは、コンピュータに、文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得するステップと、評価対象の文字列と参照用の文字列の文字列ベクトルを算出するステップと、前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定するステップと、を実行させる。
【発明の効果】
【0012】
本開示の閾値設定方法、閾値設定装置及びプログラムによれば、文字列の類似を判定する為の閾値(基準)を算出することができる。本開示の類似文字列判定方法、類似文字列判定装置及びプログラムによれば、文字列の類似を判定することができる。
【図面の簡単な説明】
【0013】
【
図1】実施形態に係る文字列分類装置の一例を示すブロック図である。
【
図2】実施形態に係る頂上事象のカットセットを説明するための図である。
【
図3A】実施形態に係るカットセットの一例を示す第1の図である。
【
図3B】実施形態に係るカットセットの一例を示す第2の図である。
【
図3C】実施形態に係るカットセットの一例を示す第3の図である。
【
図4A】実施形態に係るベクトル空間における文字列ベクトルの分布の一例を示す図である。
【
図4B】実施形態に係るベクトル間距離とコサイン類似度の分布の一例を示す図である。
【
図5】実施形態に係る学習処理の概要を示す図である。
【
図6】実施形態に係る分類結果の一例を示す図である。
【
図7】実施形態に係る文字列分類処理の一例を示す図である。
【
図8A】実施形態に係る処理対象のカットセット群の一例を示す図である。
【
図8B】
図8Aに例示するカットセット群の分類結果の一例を示す図である。
【
図9】実施形態の文字列分類装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0014】
<実施形態>
以下、本開示の文字列分類装置について、
図1~
図9を参照しながら説明する。
(構成)
図1は、実施形態に係る文字列分類装置の一例を示すブロック図である。
文字列分類装置10は、ある文字列が他の文字列に類似するかどうかを判定する。また、複数の文字列について互いの類似・非類似を判定することによって、文字列分類装置10は、複数の文字列を類似するもの同士のグループに分類することができる。文字列分類装置10は、PRAモデルを構成する頂上事象のカットセットの妥当性を確認する作業に活用することができる。
【0015】
文字列分類装置10は、文字列取得部11と、入力受付部12と、制御部13と、記憶部18とを備える。
【0016】
文字列取得部11は、文字列(テキストデータ)を取得する。例えば、文字列取得部11は、評価対象のPRAモデルから抽出されたカットセットを取得する。
【0017】
ここで、カットセットについて説明する。
図2は、頂上事象のカットセットを説明するための図である。
図2にPRAモデルに含まれるFT(Fault Tree)の一例を示す。
図2の円で示したA~Eは基事象を示し、四角で示したP~Qは中間事象を示す。ORゲートは、基事象A、C、中間事象Pの何れかが発生すると、頂上事象が発生することを示す。上のANDゲートは、基事象Bと中間事象Qが発生すると、中間事象Pが発生することを示す。下のANDゲートは、基事象Dと基事象Eが発生すると、中間事象Qが発生することを示す。
図2のFTの場合、頂上事象を引き起こすカットセットは、(1)基事象A、(2)基事象B、基事象D、基事象Eの組合せ、(3)基事象Cである。文字列取得部11は、例えば、
図2のFTに基づいて抽出された、カットセット1(基事象A)、カットセット2(基事象B、基事象D、基事象E)、カットセット3(基事象C)を取得する。
【0018】
カットセットの一例を
図3A~3Cに示す。
図3Aに示すカットセットは1つの基事象で構成されるカットセットの例である。1つの基事象を表すテキストデータは、3文字、2文字、2文字、4文字ごとに意味上の区切りが存在し、区切られた各文字列は、先頭から順に、系統、故障機器、故障の種類、機器番号、その他(共通原因故障、人的過誤など)を表す。このようなルールに基づいた構成される文字列は、類似の文字列が、類似の意味を持つ。
図3Bに故障の種類が異なるものの、同じ系統で同じ機器が故障していることを示す2つのカットセットを示す。例えば、
図3Bのカットセット1は基事象「AFWOC01003」と基事象「IASPQADAE1A」の組合せであり、カットセット2は基事象「AFWOC01003」と基事象「IASPQCSAE1A」の組合せである。カットセット1とカットセット2では、2つ目の基事象の3つ目の区切りの文字のみが異なる(「AD」と「CS」)。このような場合、技術者の視点では、同種のカットセットであるとみなせるため、これらを同じグループに分類する。一方、共通の原因による故障により、複数の機器が故障する場合には、
図3Cのカットセット1に示すように、文字列の接尾辞として”-ALL”が付与される。このような意味を持つ
図3Cのカットセット1と、共通ではない個別の原因による故障を示す
図3Cのカットセット2は、技術者の視点では異なる種類のカットセットであるとみなせることから、これらのカットセットは別のグループと分類する。
文字列取得部11は、文字列の一例として、
図3A~
図3Cに例示するようなカットセットを取得する。
【0019】
入力受付部12は、キーボード、マウス、タッチパネル、ボタン等の入力装置を用いて入力された各種の設定情報、処理の実行を指示する指示情報などを受け付ける(取得する)。入力受付部12は、受け付けた情報を記憶部18に記録したり、制御部13へ出力したりする。例えば、入力受付部12は、
図3Bのカットセット1とカットセット2について類似するとの設定、
図3Cのカットセット1とカットセット2については非類似であるとの設定を受け付ける。
【0020】
制御部13は、文字列が類似するかどうかを判定するための閾値を算出する処理、その閾値を用いて、ある評価対象の文字列が、他の文字列(例えば、基準となる参照用の文字列)に類似するかどうかを判定する処理、複数の文字列(例えば、評価対象の文字列と参照用の文字列)を類似するもの同士のグループに分類する処理などを実行する。制御部13は、特徴量演算部14と、学習部15と、評価部16と、出力部17と、を備える。
【0021】
特徴量演算部14は、文字列の特徴量を演算する。例えば、文字列がカットセットの場合、カットセットに含まれる基事象は、
図3Aに例示するような所定のルールに従ってコード化されているが、コード化されたテキストデータを所定の単位に分節し、分節された文字列を単語、カットセットを文書のように扱って、tfidfやword2vec等のテキスト分析技術を用いて、カットセットに出現する単語に基づく特徴量を演算する。演算結果の特徴量は、ベクトルとして表される。このベクトルを文字列ベクトルと称する。文字列がカットセットの場合、文字列ベクトルの各要素は、基事象のテキストデータから分節して得られる文字列(単語)についてテキスト分析した値である。
【0022】
ベクトル空間上の文字列ベクトルの分布を
図4Aに示す。この例では、文字列ベクトルは3次元のベクトルである。
図4Aの各点は、それぞれ1つの文字列ベクトルである。g1で囲った文字列ベクトルは、意味が類似する文字列から生成された文字列ベクトルである。g2~g4についても同様である。つまり、意味が類似する文字列から生成された文字列ベクトルは、ベクトル空間上で近い位置に存在する。この性質を利用して、特徴量演算部14は、2つの文字列ベクトルの位置の近さを表す特徴量を算出する。具体的には、特徴量演算部14は、2つの文字列ベクトルのベクトル間距離とコサイン類似度を算出する。簡単な2次元ベクトルの例として、文字列ベクトル1を(a1、a2)、文字列ベクトル2を(b1、b2)とすると、文字列ベクトル1と文字列ベクトル2のベクトル間距離は、以下の式(1)で計算することができる。
【0023】
【0024】
文字列ベクトル1と文字列ベクトル2のコサイン類似度は以下の式(2)で計算することができる。
【0025】
【0026】
意味が類似する文字列の文字列ベクトルのベクトル間距離およびコサイン類似度の分布と、類似しない文字列の文字列ベクトルのベクトル間距離およびコサイン類似度の分布の一例を
図4Bに示す。
図4Bの縦軸はコサイン類似度(“ベクトル間のcosθ”)を示し、横軸はベクトル間距離を示している。また、点p1~p3は、意味が類似する2つの文字列から生成された文字列ベクトルのベクトル間距離およびコサイン類似度を示し、点p4~p6は、意味が類似しない2つの文字列から生成された文字列ベクトルのベクトル間距離およびコサイン類似度を示す。2つの文字列ベクトルが完全に一致する場合、ベクトル間距離は“0”、コサイン類似度は“1”となる。例えば、
図4Bの点p1は、このような関係にある2つの文字列ベクトルを示している。意味が類似する場合の他の点p2、p3についても、ベクトル間距離は比較的小さく、コサイン類似度は1に近い傾向があることが確認できる。一方、意味が類似しない場合の点p4~p6については、点p4は、コサイン類似度は“1”に近いもののベクトル間距離が比較的大きい。点p5は、ベクトル間距離はそれほど大きくはないがコサイン類似度は意味が類似する場合の点p1~p3と比べて“1”から離れている。点p6は、ベクトル間距離が大きく、コサイン類似度は“1”から離れている。これらのことから、2つの文字列ベクトルのコサイン類似度が“1”に近く、ベクトル間距離が“0”に近ければ、それらは意味が類似する可能性が高いと考えられる。本実施形態では、次に説明する学習部15が、意味が類似する2つの文字列の文字列ベクトルのコサイン類似度、ベクトル間距離と、意味が類似しない2つの文字列の文字列ベクトルのコサイン類似度、ベクトル間距離を機械学習により学習し、意味が類似する文字列ベクトルとそうでない文字列ベクトルを隔てるベクトル間距離、コサイン類似度の境界(閾値)を算出する。
【0027】
また、特徴量演算部14は、ベクトル間距離の標準偏差とコサイン類似度の標準偏差を算出する。例えば、処理対象の文字列が10個ある場合、特徴量演算部14は、10個の文字列の文字列ベクトルを算出し、これら10個の文字列ベクトルによる10C2通りの組合せの数分(即ち、10C2=45個)のベクトル間距離とコサイン類似度を算出する。そして、そして、特徴量演算部14は、45個のベクトル間距離の標準偏差と、45個のコサイン類似度の標準偏差を算出する。これは、特徴量演算部14が算出するベクトル間距離およびコサイン類似度は、「類似」又は「非類似」のラベルが付されて、どのようなベクトル間距離やコサイン類似度であれば2つの文字列が類似するかの閾値を算出するための教師データとして用いるが、その際、全サンプル(この例の場合10個の文字列)のベクトル間距離およびコサイン類似度のばらつきの程度が、ベクトル間距離およびコサイン類似度の閾値の算出に影響を与える可能性があると考えられるためである。特徴量演算部14は、参照用の文字列(教師データとして用いる文字列)と評価対象の文字列について、文字列ベクトルを算出し、2つの文字列ベクトルのベクトル間距離、コサイン類似度、ベクトル間距離の標準偏差、コサイン類似度の標準偏差を算出する。
【0028】
学習部15は、参照用の文字列について算出されたベクトル間距離、コサイン類似度、ベクトル間距離の標準偏差、コサイン類似度の標準偏差に「類似」又は「非類似」のラベルが付された教師データを学習し、2つの文字列が類似すると判定するための閾値を算出する。閾値には、ベクトル間距離、コサイン類似度、ベクトル間距離の標準偏差、コサイン類似度の標準偏差が含まれる。
図5に、教師データから機械学習により、コサイン類似度と、ベクトル間距離の閾値を算出する様子を示す。例えば、閾値Th1は、ベクトル間距離の閾値、閾値Th2はコサイン類似度の閾値である。
【0029】
評価部16は、学習部15が算出した閾値に基づいて、評価対象の文字列が参照用の文字列と類似するかどうかを判定する。あるいは、評価部16は、評価対象の文字列と参照用の文字列を類似する文字列のグループごとに分類する。文字列ベクトルが2次元の場合を例として、複数の文字列を意味が類似する文字列のグループに分類した分類結果の一例を
図6に示す。評価部16は、ベクトル空間上で、ある文字列ベクトルに対し、学習部15が算出した閾値の範囲内にある文字列ベクトルを意味が類似する文字列ベクトルと判定する。例えば、
図6の例では、範囲e1内の文字列ベクトルv1~v2は互いに類似する文字列ベクトル、範囲e2内の文字列ベクトルv3~v7は互いに類似する文字列ベクトル、範囲e3内の文字列ベクトルv8~v10は互いに類似する文字列ベクトルである。また、文字列ベクトルv11、v12は、文字列ベクトルv1~v10とは類似しない文字列ベクトルである。技術者が確認して評価部16による分類が妥当ではないと判断された場合には、適切に分類されなかった文字列の組合せについて、再度、技術者が「類似」又は「非類似」のラベリングを適切に行い、教師データとして与えて学習部15に学習させることで、閾値の精度を向上させることができる。
【0030】
出力部17は、各種の情報、例えば、評価対象の文字列が、参照用の文字列と類似するかどうかの判定結果、
図6に例示する複数の文字列の類似グループへの分類結果などを表示装置に表示したり、電子データとして出力したりする。
記憶部18は、カットセット等の文字列、処理中のデータなどを記憶する。
【0031】
(動作)
次に
図7~
図8Bを用いて、文字列がカットセットの場合を例に、文字列分類装置10の動作について説明する。
図7は、実施形態に係る文字列分類処理の一例を示す図である。まず、技術者が、確認済みのカットセットを類似する意味をもつカットセットごとに分類する。
図8Aに処理対象のカットセット群の一例を示す。プラント1~3のPRAモデルは、既に確認済みであるとする。つまり、プラント1のカットセット11~13、プラント2の21~23、プラント3の31~33は参照用の文字列である。技術者は、参照用の文字列について類似する意味を持つカットセット同士に分類する。例えば、技術者は、カットセット11、12、21、22、31、32を1つのグループ、カットセット13、23、33を1つのグループに分類する。
図8Bに分類結果の一例を示す。技術者は、分類結果を文字列分類装置10へ入力する。入力受付部12は、類似する意味をもつ文字列(カットセット)の分類結果の情報を取得し(ステップS1)、記憶部18に記録する。
【0032】
次に技術者が、閾値の算出を指示する。入力受付部12は、この指示を受け付け、閾値算出の指示情報を制御部13へ出力する。すると、制御部13では、特徴量演算部14が、文字列ベクトル、ベクトル間距離、類似度などを算出し、教師データを作成する(ステップS2)。まず、特徴量演算部14は、文字列ベクトルの算出を行う。特徴量演算部14は、word2vec等のテキスト分析技術を用いて、カットセット11~13、21~23、31~33それぞれの文字列ベクトルを生成する。特徴量演算部14は、算出した文字列ベクトルを記憶部18に記録する。次に、特徴量演算部14は、カットセット11の文字列ベクトルとカットセット12の文字列ベクトルのベクトル間距離、コサイン類似度を算出する。同様に、特徴量演算部14は、カットセット11の文字列ベクトルと、カットセット13、21~23、31~33(以下、カットセット13~33のように記載する。)それぞれの文字列ベクトルとのベクトル間距離、コサイン類似度を算出する。特徴量演算部14は、他の2つのカットセットの文字列ベクトルの組合せについてもベクトル間距離、コサイン類似度を算出する。また、特徴量演算部14は、算出した全てのベクトル間距離の標準偏差を算出し、算出した全てのコサイン類似度の標準偏差を算出する。特徴量演算部14は、算出した各種のデータを記憶部18に記録する。
【0033】
次に、制御部13は、2つの文字列ベクトルについて算出されたベクトル間距離、コサイン類似度、ベクトル間距離の標準偏差、コサイン類似度の標準偏差に対して、技術者による分類結果に基づいて、「類似」又は「非類似」のラベルを設定する。例えば、カットセット11とカットセット12の文字列ベクトルや、カットセット11とカットセット32の文字列ベクトルについて、制御部13は「類似」のラベルを設定する。例えば、カットセット11とカットセット13の文字列ベクトルや、カットセット11とカットセット33の文字列ベクトルについて、制御部13は「非類似」のラベルを設定する。これにより、教師データが生成される。教師データには、ベクトル間距離、コサイン類似度、ベクトル間距離の標準偏差、コサイン類似度の標準偏差、ラベルが含まれる。教師データは、カットセット11~33の組合せの数だけ生成される。
【0034】
制御部13(特徴量演算部14)は、同じカットセット群(例えば、カットセット11~33)に対して、上記の処理(ベクトル間距離等を算出し、「類似」又は「非類似」のラベルを付して教師データを生成する処理)を複数回行ってもよい。word2vec等を用いて文字列ベクトルを生成すると、元の文字列が同じであっても、実行のたびに異なる文字列ベクトルが生成される可能性がある。異なる文字列ベクトルが生成されれば、算出されるベクトル間距離、コサイン類似度も変動し、それらのばらつきも異なったものとなる。データ全体のベクトル間距離、コサイン類似度のばらつきは、ベクトル間距離およびコサイン類似度の閾値算出に影響する可能性があるため、ベクトル間距離の標準偏差、コサイン類似度の標準偏差を算出し、これらを教師データに含めるようにしている。同じカットセット群について、上記の処理を複数回実行することで、教師データを増やすことができる。
【0035】
また、制御部13(特徴量演算部14)は、異なるカットセット群に対して、上記の処理(ベクトル間距離等を算出し、「類似」又は「非類似」のラベルを付して教師データを生成する処理)を行って教師データを生成してもよい。例えば、最初にプラント1~3のカットセットに基づいて教師データを生成し、後にプラント4~5のカットセット群を追加して、プラント4~5のカットセットに基づいて教師データを生成し、これらの教師データを追加してもよい。また、プラント4~5のカットセットを追加する場合、元々のプラント1~3にプラント4~5のカットセットを追加して、プラント1~5の全カットセットを対象にして上記の処理を行い、教師データを生成してもよい。
【0036】
次に学習部15が、作成された教師データを任意の機械学習手法により学習し、閾値を算出する(ステップS3)。例えば、学習部15は、決定木によって、2つの文字列ベクトルが類似するかどうかを判定するためのベクトル間距離の閾値Th1、コサイン類似度の閾値Th2、ベクトル間距離の標準偏差の閾値Th3、コサイン類似度の標準偏差の閾値Th4を算出する。学習部15は、算出した閾値を記憶部18に記録する。
【0037】
次に、技術者が、評価対象のプラントAのカットセットA1~A3を文字列分類装置10へ入力する。入力受付部12は、評価対象文字列(カットセットA1~A3)を取得し(ステップS4)、記憶部18に記録する。次に、技術者が評価対象の文字列を類似する文字列のグループへ分類するよう指示する。すると、制御部13は、評価対象のカットセットA1~A3およびカットセット11~33の文字列ベクトルを、ステップS3で算出された閾値に基づいて、類似するもの同士のグループに分類する(ステップS5)。
【0038】
まず、特徴量演算部14は、word2vec等を用いて評価対象のカットセットA1~A3と、参照用のカットセット11~33の文字列ベクトルを算出し、記憶部18に記録する。カットセット11~33については、過去に算出した文字列ベクトルを利用してもよい。次に、特徴量演算部14は、カットセットA1の文字列ベクトルと、カットセットA2~A3およびカットセット11~33の文字列ベクトルのベクトル間距離、コサイン類似度を算出する。同様に、特徴量演算部14は、カットセットA2、A3の文字列ベクトルについても、それらの文字列ベクトルと、他のカットセットA1等およびカットセット11~33の文字列ベクトルのベクトル間距離、コサイン類似度を算出する。また、特徴量演算部14は、カットセットA1~A3、11~33全体でのベクトル間距離の標準偏差、コサイン類似度の標準偏差を算出する。カットセット11~33のベクトル間距離、コサイン類似度については過去に算出した値を使用してもよい。
【0039】
次に評価部16が、ステップS3で算出された閾値に基づいて、カットセットA1の文字列ベクトルが、他のカットセットA2~A3およびカットセット11~33の文字列ベクトルの何れに類似するかを判定する。
【0040】
例えば、カットセットA1の文字列ベクトルとカットセット11の文字列ベクトルのベクトル間距離がr1、コサイン類似度がθ1、全サンプルのベクトル間距離の標準偏差がd1、コサイン類似度の標準偏差がd2であるとする。例えば、評価部16は、ベクトル間距離r1が閾値Th1以下、コサイン類似度θ1が閾値Th2以上、ベクトル間距離の標準偏差d1と閾値Th3の差が所定の範囲内、コサイン類似度の標準偏差d2と閾値Th4の差が所定の範囲内であれば、カットセットA1の文字列ベクトルとカットセット11の文字列ベクトルは類似すると判定する。(ベクトル間距離とコサイン類似度の標準偏差があまりに異なる教師データによって算出された閾値によって類似の判定を行うことは適切では無い可能性があるため、ベクトル間距離の標準偏差とコサイン類似度の標準偏差は、評価対象のカットセットの文字列の類似を、現在の閾値で判定することが適切かどうかを判断する為に使用される。)評価部16は、カットセットA1~A3、11~33の全組合せについて算出されたベクトル間距離とコサイン類似度(カットセット11~33間のベクトル間距離とコサイン類似度については、ステップS5で改めて算出してもよいし、ステップS2で算出したものを用いてもよい。)を算出し、各組合せについて、ベクトル間距離、コサイン類似度、ベクトル間距離の標準偏差、コサイン類似度の標準偏差を、上記の閾値Th1~Th4に基づいて判定し、類似するもの同士をグルーピングする。
【0041】
出力部17は、分類結果を表示装置等へ出力する(ステップS6)。表示装置は、例えば、
図6に例示する分類結果を表示する。技術者は、分類結果を見て、カットセットA1~A3が分類されたグループを確認し、その分類が妥当かどうかを確認する(ステップS7)。分類結果が妥当ではない場合(ステップS7;No)、技術者は、妥当な分類がなされていない文字列を正しく分類する(ステップS8)。例えば、
図6において、文字列ベクトルv12(v12は評価対象の文字列ベクトルであるとする。)が、文字列ベクトルv8~v10と意味が類似するカットセットに由来する文字列ベクトルである場合、文字列ベクトルv8と文字列ベクトルv12、文字列ベクトルv9と文字列ベクトルv12、文字列ベクトルv10と文字列ベクトルv12に対してそれぞれ「類似」のラベルを付す。これらのデータは新たな教師データとして追加される。そして、ステップS2からの処理を再度行って、閾値を算出し直す。
【0042】
一方、分類結果が妥当な場合(ステップS7;Yes)、出力部17は、類似する意味をもつ文字列のリストを出力する(ステップS9)。例えば、
図8AのカットセットA1~A2が
図8Bのグループ1に分類され、
図8AのカットセットA3が
図8Bのグループ2に分類される場合、グループ1として、
図8Bのグループ1にカットセットA1~A2を加え、グループ2にカットセットA3を加えたリストが出力される。
【0043】
評価対象のプラントAと同様のカットセットを有することが予想される(例えば、プラントの構成が類似しているなど)確認済みプラントのカットセット(この例の場合、プラント1~3のカットセット11~33)を用意して、これらに基づいて閾値を算出し(ステップS3)、この閾値に基づいて、評価対象のプラントAのカットセットを分類する(ステップS6)。仮に、プラント1~3、プラントAのカットセットが全て類似するものであれば、各プラントのカットセットが均等に含まれるグループだけが生成されるはずである。例えば、あるグループにおいて、プラントAのカットセットが含まれていない場合、プラントAのPRAモデルには、そのカットセットが抜けている可能性がある。また、プラントAのカットセットに、他のプラント1~3には無いカットセットが含まれているような場合、プラントAのカットセットだけのグループが生成される。技術者は、ステップS9で出力されたリストを参照して、プラントAとプラント1~3のカットセットの分布の違いに着目することで、プラントAのPRAモデルとプラント1~3のPRAモデルの差を見つけ、プラント1~3のPRAモデルを参考にして、プラントAのPRAモデルの欠陥を速やかに修正することができる。
【0044】
なお、上記の実施形態では、文字列の一例として、PRAモデルから抽出されるカットセットを取り挙げたが、本実施形態は、任意の文字列の類似評価、同種の文字列の分類に用いることができる。例えば、表記ゆれを考慮して、類似する意味を持つ文字列を分類する処理等に用いることができる。また、上記実施形態では、閾値として、ベクトル間距離、コサイン類似度、ベクトル間距離の標準偏差、コサイン類似度離の標準偏差を用いることとしたが、ベクトル間距離、コサイン類似度だけを用いる構成でも良い。また、教師データとして「類似」又は「非類似」のラベルを付すこととしたが、「類似度が高い」、「類似度が中程度」、「類似度が低い」、「非類似」など類似の程度に応じてラベリングし、「類似度が高い」と判定するための閾値、「類似度が中程度」と判定するための閾値、「類似度が低い」と判定するための閾値を学習により算出するようにしてもよい。例えば、カットセットの確認に本実施形態を用いる場合、「類似度が中程度」と判定されるカットセットに特に注力して確認を行うといった取り組みが可能になり、PRAモデルの確認作業をさらに効率化することができる。また、
図7の説明では、プラント1~3のカットセットを用いて閾値を算出することとしたが、閾値の算出に用いるプラントの数は2以下であってもよいし、4以上であってもよい。
【0045】
(効果)
以上、説明したように、本実施形態によれば、ある文字列が他の文字列と類似するか否かを客観的に評価することができる。また、文字列の類似度を判定するためには、類似度を判定する基準を定める必要があるが、本実施形態によれば、文字列の類似を判断する為の閾値を算出することができる。また、新規の評価対象の文字列に対しても、教師データを与えて、
図7の処理を実行することで、評価対象の文字列の分類が可能となる。
【0046】
PRAモデルから出力されるカットセットは、1プラントあたり数十万規模で生成されることがある。そのすべての妥当性や必要なカットセットが得られていることを技術者が手作業で確認することは困難である。本実施形態の文字列分類方法を用いることにより、本来は出現すべきカットセットの不足を他のプラントとの比較により効率的に検知することができる。また、プラント間のカットセットの比較により、PRAモデルの入力条件(FT,ETおよびそれらの構成)の不備の有無を相互に確認でき、プラント間で整合性のとれた評価を行うことができる。また、カットセットの確認作業は、安全性向上の観点から技術者によって継続的に実行される作業である。本実施形態の文字列分類装置10を導入して、確認済みのPRAモデルから抽出されるカットセットを追加して、ベクトル間距離やコサイン類似度などの閾値を更新することにより、あるいは、プラントの種類や構成別(PRAモデルの内容別)にベクトル間距離やコサイン類似度などの閾値を算出しておくことで、PRAモデルの確認作業の効率化、省力化の効果を長期的に享受することができる。
【0047】
上記実施形態では、原子力発電プラントにおいて作成されたPRAモデルのカットセットの確認作業を省力化・効率化するについて述べた。上述の通り、原子力発電プラントでは、カットセットの数が数万~数十万に達することがあり、本実施形態のPRAモデルの妥当性確認方法は有効である。しかし、文字列分類装置10の適用分野は、原子力プラントに限定されない。PRAモデルを用いてリスク評価を行うどのような産業分野にも適用が可能である。
【0048】
図9は、文字列分類装置のハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。
上述の文字列分類装置10は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0049】
なお、文字列分類装置10の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0050】
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0051】
<付記>
実施形態に記載の閾値設定方法、類似文字列判定方法、閾値設定装置、類似文字列判定装置及びプログラムは、例えば以下のように把握される。
【0052】
(1)第1の態様に係る閾値設定方法は、複数の文字列のそれぞれについて文字列ベクトルを算出するステップと、複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離(ベクトル間距離)とコサイン類似度を算出するステップと、前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成するステップと、前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出するステップと、を有する。
これにより、文字列の類似を判定する基準(閾値)を算出することができる。
【0053】
(2)第2の態様に係る閾値設定方法は、(1)の閾値設定方法であって、複数の前記組合せにおける前記距離の標準偏差と前記コサイン類似度の標準偏差を算出するステップ、をさらに有し、前記閾値を算出するステップでは、前記距離の閾値と前記コサイン類似度の閾値に加えて前記距離の標準偏差の閾値と前記コサイン類似度の標準偏差の閾値を算出する。
これにより、閾値の算出に使用した文字列群におけるベクトル間距離やコサイン類似度のばらつき具合に応じて、同様のばらつきを有する教師データから学習により設定された閾値を用いて文字列の類似判定を行うことができる。
【0054】
(3)第3の態様に係る類似文字列判定方法は、評価対象の文字列の文字列ベクトルを算出するステップと、参照用の1又は複数の文字列について、(1)~(2)の何れかに記載の閾値設定方法を用いて算出された前記参照用の1又は複数の文字列の文字列ベクトルと、前記閾値と、前記評価対象の文字列の文字列ベクトルとに基づいて、前記評価対象の文字列と前記参照用の文字列のうちの少なくとも1つが類似するかどうかを判定するステップと、を有する。
これにより、文字列が類似するかどうかを判定することができる。
【0055】
(4)第4の態様に係る類似文字列判定方法は、評価対象の文字列の文字列ベクトルを算出するステップと、参照用の1又は複数の文字列について、請求項1または請求項2に記載の閾値設定方法を用いて算出された前記参照用の1又は複数の文字列の文字列ベクトルと、前記閾値と、前記評価対象の文字列の文字列ベクトルとに基づいて、前記評価対象の文字列と前記参照用の文字列を類似するもの同士のグループに分類するステップと、を有する。
これにより、類似する文字列を同一のグループに分類することができる。
【0056】
(5)第5の態様に係る類似文字列判定方法は、(3)~(4)の類似文字列判定方法であって、前記判定するステップの結果に対する妥当性の評価を受け付けるステップと、前記妥当性の評価に基づいて、前記評価対象の文字列および前記評価対象の文字列と類似度の評価がなされた前記組合せに対して前記ラベル設定を行い、追加の前記教師データを作成するステップ、をさらに有し、前記閾値を算出するステップでは、前記教師データと前記追加の教師データとに基づいて、前記閾値を算出する。
これにより、閾値の精度を向上することができる。
【0057】
(6)第6の態様に係る類似文字列判定方法は、(3)~(5)の類似文字列判定方法であって、前記参照用の1又は複数の文字列が、評価済みのPRA(Probabilistic Risk Assessment)モデルから抽出されたカットセットを表す文字列であり、前記評価対象の文字列が、評価対象のPRAモデルから抽出したカットセットを表す文字列である。
これにより、PRAモデルの欠陥を速やかに見つけ出し、修正することができる。
【0058】
(7)第7の態様に係る類似文字列判定方法は、文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得するステップと、評価対象の文字列と参照用の文字列の文字列ベクトルを算出するステップと、前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定するステップと、を有する。
これにより、文字列が類似するかどうかを判定することができる。
【0059】
(8)第8の態様に係る閾値設定装置は、複数の文字列のそれぞれについて文字列ベクトルを算出する手段と、複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出する手段と、前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成する手段と、前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出する手段と、を有する。
【0060】
(9)第9の態様に係る類似文字列判定装置は、文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得する手段と、評価対象の文字列と参照用の文字列の文字列ベクトルを算出する手段と、前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定する手段と、を有する。
【0061】
(10)第10の態様に係るプログラムは、コンピュータに、複数の文字列のそれぞれについて文字列ベクトルを算出するステップと、複数の前記文字列ベクトルから2つを選択する組合せを複数作成し、前記組合せごとに選択した2つの前記文字列ベクトルの距離とコサイン類似度を算出するステップと、前記組合せの各々について、選択した2つの前記文字列ベクトルが類似するか否かのラベル設定を行って、前記組合せの数の教師データを作成するステップと、前記教師データに基づいて、前記文字列の類似度を判定するための前記距離の閾値および前記コサイン類似度の閾値を算出するステップと、を実行させる。
【0062】
(11)第11の態様に係るプログラムは、コンピュータに、文字列の類似度を判定するための文字列ベクトルの距離及びコサイン類似度の閾値を取得するステップと、評価対象の文字列と参照用の文字列の文字列ベクトルを算出するステップと、前記評価対象の文字列の文字列ベクトルと前記参照用の文字列の文字列ベクトルの差が前記距離の閾値および前記コサイン類似度の閾値の範囲に収まるかどうかによって、前記評価対象の文字列と前記参照用の文字列の類似度を判定するステップと、を実行させる。
【符号の説明】
【0063】
10・・・文字列分類装置
11・・・文字列取得部
12・・・入力受付部
13・・・制御部
14・・・特徴量演算部
15・・・学習部
16・・・評価部
17・・・出力部
18・・・記憶部
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース