(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】抽出プログラム、抽出方法及び抽出装置
(51)【国際特許分類】
G06F 16/332 20190101AFI20231205BHJP
G06F 40/268 20200101ALI20231205BHJP
【FI】
G06F16/332
G06F40/268
(21)【出願番号】P 2020080846
(22)【出願日】2020-04-30
【審査請求日】2023-01-12
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】宮城 俊秀
(72)【発明者】
【氏名】工藤 淳真
(72)【発明者】
【氏名】山越 幸太
(72)【発明者】
【氏名】穴田 航太
(72)【発明者】
【氏名】塙 大紀
(72)【発明者】
【氏名】江原 那美加
【審査官】木村 大吾
(56)【参考文献】
【文献】特開2008-052548(JP,A)
【文献】特開2007-193485(JP,A)
【文献】特開平10-124520(JP,A)
【文献】中国特許出願公開第109241238(CN,A)
【文献】中国特許出願公開第103744887(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
区切り前の検索キーワードと前記区切り前の検索キーワードに対する正解ナレッジとの対応関係を示したデータを用いて、前記区切り前の検索キーワードに対する複数の区切りパターンそれぞれについて、区切り後の検索キーワードで検索を行ったときの検索結果における前記正解ナレッジの検索順位を特定し、
前記複数の区切りパターンのうち、特定された前記検索順位が所定条件を満たす区切りパターンを、前記区切り前の検索キーワードに適用する区切りパターンとして抽出する
処理をコンピュータに実行させることを特徴とする抽出プログラム。
【請求項2】
前記抽出する処理は、前記複数の区切りパターンのうち、特定された前記検索順位が、前記区切り前の検索キーワードで検索を行ったときの検索結果における前記正解ナレッジの検索順位よりも上位である区切りパターンを、前記区切り前の検索キーワードに適用する区切りパターンとして抽出することを特徴とする請求項1に記載の抽出プログラム。
【請求項3】
前記抽出する処理によって抽出した区切りパターンによって前記区切り前の検索キーワードを区切ることにより得られる情報を、辞書形式のデータとして記憶部に登録する処理をさらに実行させることを特徴とする請求項1に記載の抽出プログラム。
【請求項4】
区切り前の検索キーワードと前記区切り前の検索キーワードに対する正解ナレッジとの対応関係を示したデータを用いて、前記区切り前の検索キーワードに対する複数の区切りパターンそれぞれについて、区切り後の検索キーワードで検索を行ったときの検索結果における前記正解ナレッジの検索順位を特定し、
前記複数の区切りパターンのうち、特定された前記検索順位が所定条件を満たす区切りパターンを、前記区切り前の検索キーワードに適用する区切りパターンとして抽出する
処理をコンピュータが実行することを特徴とする抽出方法。
【請求項5】
区切り前の検索キーワードと前記区切り前の検索キーワードに対する正解ナレッジとの対応関係を示したデータを用いて、前記区切り前の検索キーワードに対する複数の区切りパターンそれぞれについて、区切り後の検索キーワードで検索を行ったときの検索結果における前記正解ナレッジの検索順位を特定する特定部と、
前記複数の区切りパターンのうち、特定された前記検索順位が所定条件を満たす区切りパターンを、前記区切り前の検索キーワードに適用する区切りパターンとして抽出する抽出部と、
を有することを特徴とする抽出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、抽出プログラム、抽出方法及び抽出装置に関する。
【背景技術】
【0002】
従来、検索キーワードを形態素解析により区切ることで得られた単語を用いて、コンテンツを検索する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術には、検索キーワードを適切に区切ることができない場合があるという問題がある。
【0005】
例えば、従来の技術では、辞書に登録された単語を基に形態素解析が行われる。ここで、辞書に「富士通株式会社」という単語が登録されており、「富士通」という単語は登録されていない場合を考える。このとき、ユーザが「富士通」という検索キーワードを入力して検索を行った場合、「富士通株式会社」という単語が記載された文書を検索することができない場合がある。なお、ユーザは、「富士通株式会社」という単語が記載された文書が検索結果に含まれることを意図して、略称である「富士通」という検索キーワードを入力したものとする。
【0006】
1つの側面では、検索キーワードを適切に区切ることを目的とする。
【課題を解決するための手段】
【0007】
1つの態様では、抽出プログラムは、データを用いて区切り前の検索キーワードに対する複数の区切りパターンそれぞれについて区切り後の検索キーワードで検索を行ったときの検索結果における正解ナレッジの検索順位を特定する処理をコンピュータに実行させる。データは、区切り前の検索キーワードと区切り前の検索キーワードに対する正解ナレッジとの対応関係を示したデータである。抽出プログラムは、複数の区切りパターンのうち、特定された検索順位が所定条件を満たす区切りパターンを、区切り前の検索キーワードに適用する区切りパターンとして抽出する処理をコンピュータに実行させる。
【発明の効果】
【0008】
1つの側面では、検索キーワードを適切に区切ることができる。
【図面の簡単な説明】
【0009】
【
図2】
図2は、辞書情報のデータ構造の例を示す図である。
【
図3】
図3は、区切りパターンの抽出について説明する図である。
【
図4】
図4は、抽出処理の流れを示すフローチャートである。
【
図5】
図5は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0010】
以下に、本発明に係る抽出プログラム、抽出方法及び抽出装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【0011】
図1を用いて、実施例に係る抽出装置の構成を説明する。
図1は、抽出装置の構成例を示す図である。抽出装置10は、ユーザから検索キーワードの入力を受け付ける。また、抽出装置10は、検索キーワードの区切りパターンが登録された辞書形式のデータを出力する。
【0012】
図1に示すように、抽出装置10は、入力部11、出力部12、記憶部13及び制御部14を有する。入力部11は、データを入力するためのインタフェースである。例えば、入力部11は、マウス及びキーボード等の入力装置を介してデータの入力を受け付ける。また、出力部12は、データを出力するためのインタフェースである。例えば、出力部12は、ディスプレイ等の出力装置にデータを出力する。
【0013】
記憶部13は、データや制御部14が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部13は、正解ナレッジ情報131、辞書情報132及びコンテンツDB133を有する。
【0014】
正解ナレッジ情報131は、正解ナレッジの順位(rank_base)である。例えば、正解ナレッジは、ユーザが入力した検索キーワードに対する検索結果のうち、ユーザの意図に最も合致するものである。
【0015】
例えば、ユーザがコンテンツ群の中から所望するコンテンツを検索するために「入出力設計書」という検索キーワードを入力した場合の、当該ユーザが所望するコンテンツが検索結果の中で3番目に位置していたとする。この場合、「入出力設計書」という検索キーワードに対する、当該所望するコンテンツの検索順位が3位であったことを示す情報が正解ナレッジ情報131となる。
【0016】
辞書情報132は、形態素解析を行うための情報である。
図2は、辞書情報のデータ構造の例を示す図である。
図2に示すように、辞書情報132には、区切り前の検索キーワードと区切り後の検索キーワードが含まれる。
図2の例では、区切り前の検索キーワードが「入出力設計書」であり、区切り後の検索キーワードが「[入出力],[設計書]」である。
【0017】
コンテンツDB133は、コンテンツを記憶する。コンテンツは、例えば文書ファイル、テキストファイル及び表計算ファイル等である。
【0018】
図1に戻り、制御部14は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部14は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部14は、解析部141、検索部142、特定部143、及び抽出部145を有する。
【0019】
解析部141は、区切り前の検索キーワードに対して形態素解析を行う。例えば、区切り前の検索キーワードは、入力部11を介してユーザによって入力される。解析部141は、形態素解析により、区切り前の検索キーワードを、所定の区切りパターンに基づく要素に分解する。なお、本実施例において、要素は、1つの形態素又は複数の形態素を結合した文字列であるものとする。
【0020】
検索部142は、区切り前の検索キーワード、又は区切り後の検索キーワードを用いてコンテンツの検索を行う。検索部142は、コンテンツDB133に格納されたコンテンツの検索を行う。また、検索部142は、検索結果として得られたコンテンツに順位を付与する。例えば、検索部142は、検索キーワードとの類似度が大きい順に高い順位を付与する。
【0021】
特定部143は、データを用いて、区切り前の検索キーワードに対する複数の区切りパターンそれぞれについて、区切り後の検索キーワードで検索を行ったときの検索結果における正解ナレッジの検索順位を特定する。データは、区切り前の検索キーワードと区切り前の検索キーワードに対する正解ナレッジとの対応関係を示したデータである。
【0022】
抽出部144は、複数の区切りパターンのうち、特定された検索順位が所定条件を満たす区切りパターンを、区切り前の検索キーワードに適用する区切りパターンとして抽出する。また、抽出部144は、抽出した区切りパターンによって区切り前の検索キーワードを区切ることにより得られる情報を、辞書形式のデータ、すなわち辞書情報132として記憶部13に登録する。
【0023】
図3は、区切りパターンの抽出について説明する図である。まず、
図3に示すように、解析部141は、区切り前の検索キーワードに対し、複数の区切りパターンで形態素解析を行う。ここで、区切り前の検索キーワードが、単語w_1+単語w_2+単語w_3+単語w_4であるものとする。なお、「+」は文字列の結合を表す演算子であるものとする。例えば、区切りパターンには、単語w_1、単語w_2、単語w_3及び単語w_4の全てを区切るパターン、単語w_1と単語w_2は結合したままにしておくパターン等がある。
【0024】
このとき、検索部142は、各区切りパターンに対応する区切り後の検索キーワードのそれぞれを用いてコンテンツの検索を行う。特定部143は、最も検索精度が高い区切りパターンを特定する。
【0025】
抽出部144は、特定部143によって特定された区切りパターンを辞書情報132として登録する。例えば、抽出部144は、複数の区切りパターンのうち、特定された検索順位が、区切り前の検索キーワードで検索を行ったときの検索結果における正解ナレッジの検索順位よりも上位である区切りパターンを、区切り前の検索キーワードに適用する区切りパターンとして抽出する。
【0026】
さらに具体的な例を挙げて説明する。ユーザは、「入出力画面設計書.xlsx」というファイルを検索結果として得ることを所望し、「入出力設計書」という検索キーワードを入力したものとする。このとき、「入出力設計書」という検索キーワードをそのまま使って検索を行ったときの検索結果における「入出力画面設計書.xlsx」の順位が3位であったものとする。また、「入出力設計書」という検索キーワードと、「入出力画面設計書.xlsx」の順位が3位であったという情報は、正解ナレッジ情報131として記憶されているものとする。
【0027】
ここで、まず、解析部141は、「入出力設計書」を、「入 出力 設計 書」、「入出力 設計 書」、「入出力設計 書」、「入出力 設計書」の4つのパターンに分解する。なお、スペースは区切り記号であり、検索においてはAND条件を表すものとする。
【0028】
そして、検索部142は、各パターンの検索キーワードで検索を行う。検索キーワードが「入 出力 設計 書」であるときの、検索結果における「入出力画面設計書.xlsx」の順位は、10位であったものとする。また、検索キーワードが「入出力 設計 書」であるときの、検索結果における「入出力画面設計書.xlsx」の順位は、6位であったものとする。また、検索キーワードが「入出力設計 書」であるときの、検索結果における「入出力画面設計書.xlsx」の順位は、3位であったものとする。また、検索キーワードが「入出力 設計書」であるときの、検索結果における「入出力画面設計書.xlsx」の順位は、2位であったものとする。
【0029】
このとき、特定部143は、最も順位が高かった「入出力 設計書」に対応する区切りパターンを特定する。そして、抽出部144は、区切りパターンを「[入出力],[設計書]」のように表現し、辞書情報132に追加する。なお、区切りパターンの表現形式は、上記のものに限られない。
【0030】
ここで、解析部141は、辞書情報132に登録済みの検索キーワードについては、辞書情報132に従って形態素解析を行う。つまり、
図2のように、区切り前の検索キーワード「入出力設計書」に対応する区切り後の検索キーワードが辞書情報132に追加済みの場合、解析部141は、「入出力設計書」を「入出力 設計書」と分解する。そして、検索部142は、「入出力 設計書」という検索キーワードで検索を行う。
【0031】
図4は、抽出処理の流れを示すフローチャートである。
図4に示すように、まず、解析部141は、形態素解析により検索キーワードを要素に分解する(ステップS101)。次に、検索部142は、形態素解析における区切りパターンごとに検索を行う(ステップS102)。そして、特定部143は、正解ナレッジの検索結果における順位を特定する(ステップS103)。抽出部144は、最も順位が高い区切りパターンを抽出し辞書に登録する(ステップS104)。
【0032】
上述したように、特定部143は、データを用いて、区切り前の検索キーワードに対する複数の区切りパターンそれぞれについて、区切り後の検索キーワードで検索を行ったときの検索結果における正解ナレッジの検索順位を特定する。データは、区切り前の検索キーワードと区切り前の検索キーワードに対する正解ナレッジとの対応関係を示したデータである。抽出部144は、複数の区切りパターンのうち、特定された検索順位が所定条件を満たす区切りパターンを、区切り前の検索キーワードに適用する区切りパターンとして抽出する。このように、抽出装置10は、実際に検索精度が良好であった区切りパターンを抽出することができる。このため、本実施例によれば、検索キーワードを適切に区切ることができるようになる。
【0033】
抽出部144は、複数の区切りパターンのうち、特定された検索順位が、区切り前の検索キーワードで検索を行ったときの検索結果における正解ナレッジの検索順位よりも上位である区切りパターンを、区切り前の検索キーワードに適用する区切りパターンとして抽出する。これにより、区切り前の検索キーワードよりも検索精度が向上するような区切りパターンのみを抽出することができる。
【0034】
抽出部144は、抽出した区切りパターンによって区切り前の検索キーワードを区切ることにより得られる情報を、辞書形式のデータとして記憶部に登録する。このように、検索精度が向上する区切りパターンを辞書として保持しておくことで、精度の高い検索を行うことができる。
【0035】
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
【0036】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0037】
図5は、ハードウェア構成例を説明する図である。
図5に示すように、抽出装置10は、通信インタフェース10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図5に示した各部は、バス等で相互に接続される。
【0038】
通信インタフェース10aは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。HDD10bは、
図1に示した機能を動作させるプログラムやDBを記憶する。
【0039】
プロセッサ10dは、
図1に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図1等で説明した各機能を実行するプロセスを動作させるハードウェア回路である。すなわち、このプロセスは、抽出装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、解析部141、検索部142、特定部143及び抽出部145と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、解析部141、検索部142、特定部143及び抽出部145等と同様の処理を実行するプロセスを実行する。
【0040】
このように抽出装置10は、プログラムを読み出して実行することで学習類方法を実行する情報処理装置として動作する。また、抽出装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、抽出装置10によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0041】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【0042】
10 抽出装置
11 入力部
12 出力部
13 記憶部
14 制御部
131 正解ナレッジ情報
132 辞書情報
133 コンテンツDB
141 解析部、
142 検索部
143 特定部
144 抽出部