JP6511874B2 - コンピュータプログラム、検索装置及び検索方法 - Google Patents

コンピュータプログラム、検索装置及び検索方法 Download PDF

Info

Publication number
JP6511874B2
JP6511874B2 JP2015046062A JP2015046062A JP6511874B2 JP 6511874 B2 JP6511874 B2 JP 6511874B2 JP 2015046062 A JP2015046062 A JP 2015046062A JP 2015046062 A JP2015046062 A JP 2015046062A JP 6511874 B2 JP6511874 B2 JP 6511874B2
Authority
JP
Japan
Prior art keywords
search
sentence
string
character string
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015046062A
Other languages
English (en)
Other versions
JP2016167135A (ja
Inventor
友樹 長瀬
友樹 長瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015046062A priority Critical patent/JP6511874B2/ja
Publication of JP2016167135A publication Critical patent/JP2016167135A/ja
Application granted granted Critical
Publication of JP6511874B2 publication Critical patent/JP6511874B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、文例を検索文字列により検索するコンピュータプログラム等に関する。
コンピュータを用いて文章を作成する際に、入力効率を高めるために、単語の一部の文字と省略記号とを含む文字列を入力すると、用例にもとづき省略した単語を推測する文章入力装置が提案されている(特許文献1)。また、例文/成句検索において、検索文字のつづりを全て入力することなく、検索を行なえる情報表示装置が提案されている(特許文献2)。
特開平7−191986号公報 特開2011−150728号公報
しかし、従来の技術では省略記号や区切り記号等の入力が必要であり、煩雑である。また、文例(例文)検索においては、入力する文字数を増やさないと、検索にヒットした文例が多くなり、ヒットした文例の中から目的の文例を特定にするのが煩雑となる。
本発明はこのような事情に鑑みてなされたものであり、効率的に文例の検索が行えるコンピュータプログラム等を提供することを目的とする。
本願に開示するコンピュータプログラムは、文字列を取得し、取得した文字列から区切り記号を挿入した検索文字列を生成し、文例を文節単位に分割した文節文字列を組み合わせた複数の検索対象文例を記憶する記憶部から、前記区切り記号で区切られる検索文字列の各部分文字列が文節文字列の先頭に含まれる前記検索対象文例を検索し、検索にヒットした検索対象文例に対応する文例を出力する処理をコンピュータに行わせる。
一観点によれば、文例検索処理の計算量を削減することが可能となる。
テキスト入力支援システムの構成例を示す説明図である。 文例データベースのレコードレイアウトの一例を示す説明図である。 入力支援処理の手順を示すフローチャートである。 入力支援処理の手順を示すフローチャートである。 内部検索キー更新処理の手順を示すフローチャートである。 入力支援処理の具体例を示す説明図である。 入力支援処理の手順を示すフローチャートである。 入力支援処理における入出力の一例を示す説明図である。 オフセットテーブルのレコードレイアウトの一例を示す説明図である。 入力支援処理における入出力の一例を示す説明図である。 文例データベース作成処理の手順を示すフローチャートである。 テキスト入力支援システムの構成例を示す説明図である。 テキスト入力支援装置の機能構成の一例を示すブロック図である。
実施の形態1
以下、実施の形態を、図面を参照して説明する。図1はテキスト入力支援システムの構成例を示す説明図である。テキスト入力支援システムはテキスト入力支援装置(検索装置)1、文例データベース2を含む。各装置はネットワークNより接続されている。
テキスト入力支援装置1は、汎用コンピュータ、ワークステーション、デスクトップ型PC(パーソナルコンピュータ)、ノートブック型PC等である。テキスト入力支援装置1は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、ROM(Read Only Memory)13、大容量記憶装置14、入力部15、出力部16、通信部17、読み取り部18を含む。各構成はバスBで接続されている。
CPU11はROM13に記憶された制御プログラム1Pに従いハードウェア各部を制御する。RAM12は例えばSRAM(Static RAM)、DRAM(Dynamic RAM)、フラッシュメモリである。RAM12はCPU11によるプログラムの実行時に発生するデータを一時的に記憶する。
大容量記憶装置14は、例えばハードディスク、SSD(Solid State Drive)などである。大容量記憶装置14には、各種データが記憶されている。また、制御プログラム1Pを大容量記憶装置14に記憶するようにしておいても良い。
入力部15はテキスト入力支援装置1にデータを入力するためのキーボード、マウスなどを含む。
出力部16は画像出力を行う表示装置、音声出力を行うスピーカなどを含む。
通信部17はネットワークNを介して、他のコンピュータと通信を行う。読み取り部18はCD(Compact Disc)−ROM、DVD(Digital Versatile Disc)−ROMを含む可搬型記憶媒体1aを読み取る。CPU11が読み取り部18を介して、制御プログラム(コンピュータプログラム)1Pを可搬型記憶媒体1aより読み取り、大容量記憶装置14に記憶しても良い。また、ネットワークNを介して他のコンピュータからCPU11が制御プログラム1Pをダウンロードし、大容量記憶装置14に記憶しても良い。さらにまた、半導体メモリ1bから、CPU11が制御プログラム1Pを読み込んでも良い。
文例データベース2は、繰り返し使われる文例を記憶したものである。図2は文例データベース2のレコードレイアウトの一例を示す説明図である。文例データベース2はNo.列、文例列、検索用テキスト列を含む。No.列は、文例を特定するIDを記憶する。文例列は、漢字仮名交じり文で表された文例を記憶する。検索用テキスト列は文例に対応する検索用テキスト(検索対象文例)を記憶する。検索用テキストは漢字仮名交じり文である文例を読みに変換した仮名文である。検索用テキストに含まれる「◆」は、文節の区切りを示す区切り記号である。区切り記号は「◆」に限らず、他の文字でも良いし、制御文字でも良い。図2に示す例では、電子カルテに入力される所見に関する文章が文例として記憶されている。
次に、実施の形態1におけるテキスト入力支援の方法について、簡単に説明する。実施の形態1では、文例の短縮形を入力して、文例の検索を行う。ここで、文例の短縮形とは、単語の先頭をつないだものである。例えば、「ピンからキリまである」の短縮形は「ぴんきり」であり、「明けましておめでとう」の短縮形は「あけおめ」である。
テキスト入力支援装置1の動作について説明する。図3及び図4は入力支援処理の手順を示すフローチャートである。テキスト入力支援装置1のCPU11は、入力部15を介して、入力キーワード(文字列)を読み込む(ステップS1)。CPU11は、入力キーワード(k)を入力キー領域に記憶する(ステップS2)。入力キー領域は、RAM12又は大容量記憶装置14等に設ける。CPU11は、入力キーワード(k)より内部検索キー(検索文字列)を生成し、内部検索キー領域に記憶する(ステップS3)。内部検索キー領域は、RAM12又は大容量記憶装置14等に設ける。内部検索キーは入力キーワードの先頭文字と一文字と任意の文字が0個以上続くことを意味する「*」である。
CPU11は、内部検索キー領域から内部検索キーを1つ読み込む(ステップS4)。読み込んだ内部検索キーにより、文例の検索を行う(ステップS5)。具体的には、文例データベース2の検索用テキスト列を対象に検索を行う。CPU11は検索にヒットした文例があるか否かを判定する(ステップS6)。CPU11は検索にヒットした文例がないと判定した場合(ステップS6でNO)、検索に使用した内部検索キーを内部検索キー領域から削除する(ステップS7)。CPU11は検索にヒットした文例があると判定した場合(ステップS6でYES)、処理をステップS8へ移す。CPU11は処理していない他の内部検索キーがあるか否かを判定する(ステップS8)。CPU11は他の内部検索キーがあると判定した場合(ステップS8でYES)、処理をステップS4に戻す。CPU11は他の内部検索キーがないと判定した場合(ステップS8でNO)、検索により文例をヒットしたキーが内部検索キー領域にあるか否かを判定する(ステップS9)。CPU11は検索により文例をヒットした内部検索キーがあると判定した場合(ステップS9でYES)、入力キー領域に記憶した入力キーワードを最後の文字まで読み込んだか否かを判定する(ステップS10)。CPU11は入力キーワードを最後の文字まで読み込んでいないと判定した場合(ステップS10でNO)、入力キー領域から読み込んでいない次の文字を読み込む(ステップS11)。CPU11は内部検索キー更新処理を行う(ステップS12)。CPU11は処理をステップS4に戻す。
CPU11は入力キーワードを最後の文字まで読み込んだと判定した場合(ステップS10でYES)、内部検索キー領域にある内部検索キーを1つ読み込む(ステップS13)。CPU11は文例検索を行う(ステップS14)。CPU11は検索により文例をヒットした検索用テキストに対応した文例を結果記憶領域に記憶する(ステップS15)。結果記憶領域はRAM12又は大容量記憶装置14等に設ける。CPU11は内部検索キー領域に処理していない内部検索キーがあるか否かを判定する(ステップS16)。CPU11は内部検索キー領域に処理していない内部検索キーがあると判定した場合(ステップS16でYES)、処理をステップS13に戻す。CPU11は内部検索キー領域に処理していない内部検索キーがないと判定した場合(ステップS16でNO)、結果記憶領域に記憶した文例を検索結果として、出力部16に出力する(ステップS17)。CPU11は処理を終了する。なお、ステップS15では文例を記憶するのではなく、文例のNo.を記憶しても良い。その場合、ステップS17では、結果記憶領域に記憶したNo.から対応する文例を文例データベース2から読み出し、出力する。
CPU11は検索により文例をヒットした内部検索キーがないと判定した場合(ステップS9でNO)、検索を打ち切り、処理を終了する。なお、この場合、検索により文例をヒットしなかった旨を、出力部16に出力してもよい。
続いて、内部検索キー更新処理について説明する。図5は内部検索キー更新処理の手順を示すフローチャートである。CPU11は内部検索キー領域から内部検索キーの1つを読み込む(ステップS21)。読み込んだ内部検索キーをskと記す。CPU11は区切り記号無しの内部検索キー(sk1)を生成する(ステップS22)。sk1はskより「*」を削除したものに、図3のステップS11で読み込んだ「次の文字」及び「*」を連結したものである。CPU11は区切り記号入りの内部検索キー(sk2)を生成する(ステップS23)。sk2はskに区切り記号「◆」、「次の文字」及び「*」を連結したものである。すなわち、sk1、sk2は以下の式で表すことができる。
sk1=(*を削除したsk)+次の文字+*
sk2=sk+◆+次の文字+*
CPU11はskを内部検索キー領域から削除する(ステップS24)。CPU11はsk1、sk2をキーバッファに記憶する(ステップS25)。キーバッファはRAM12又は大容量記憶装置14等に設ける。CPU11は内部検索キー領域に残りの内部検索キーがあるか否かを判定する(ステップS26)。CPU11は内部検索キー領域に残りの内部検索キーがあると判定した場合(ステップS26でYES)、処理をステップS21へ戻す。CPU11は内部検索キー領域に残りの内部検索キーがないと判定した場合(ステップS26でNO)、キーバッファに記憶した内部検索キーを内部検索キーに記憶する(ステップS27)。CPU11は処理を呼び出し元に戻す。
上述の処理を、具体例を用いて説明する。図6は入力支援処理の具体例を示す説明図である。図6では、入力キーワードは「こませいちょ」であること、検索は段階(a)から段階(f)まで行われることを示している。ここで、文例データベース2に記憶されている文例は、図2に示したものであるとする。各段階に示している「こ*」等の文字列が内部検索キー領域に記憶されている内部検索キーである。各内部検索キーの右に記載した「○」は検索により文例をヒットしたキーであることを示し、「×」が検索により文例をヒットしないキーであることを示す。段階(d)以降では、検索にヒットした文例の数、及び文例のNo.を示している。
図6に示すように、CPU11は入力キーワード(k)として、「こませいちょ」という文字列を読み込んだものとする(ステップS1)。CPU11は入力キーワードを入力キー領域に記憶する(ステップS2)。CPU11は、初期内部検索キーとして、「こ*」を生成し、内部検索キー領域に記憶する(ステップS3)。CPU11は内部検索キー領域より、内部検索キーを1つ読み込む(ステップS4)。ここでは、ステップS3で生成した「こ*」である。CUP11は「こ*」を検索キーとして、文例データベース2に記憶された検索用テキストを検索する(ステップS5)。検索により、No.(1)から(8)の文例がヒットする。したがって、CPU11はステップS6でYESと判定し、他の内部検索キーがあるか否かを判定する(ステップS8)。ここでは、内部検索キーは「こ*」しかないので、CPU11はステップS8でNOと判定する。続いて、内部検索キーは「こ*」は検索により文例をヒットしたので、CPU11はステップS9をYESと判定する。さらに、入力キーワードの文字列を、最後まで読み込んでいないので、CPU11はステップS10をNOと判定し、次の文字「ま」を読み込む(ステップS11)。次に、CPU11は内部検索キー更新処理を行う(ステップS12)。
CPU11は内部検索キーとして、「こ*」を読み込む(ステップS21)。CPU11はsk1として、「こま*」を生成する(ステップS22)。CPU11はsk2として、「こ*◆ま*」を生成する(ステップS23)。CPU11は内部検索キー領域より、「こ*」を削除する(ステップS24)。CPU11は「こま*」と「こ*◆ま*」とをキーバッファに記憶する(ステップS25)。ステップS24で「こ*」は削除され、内部検索キー領域には内部検索キーは記憶されていないので、CPU11はステップS26をNOと判定し、キーバッファに記憶してある「こま*」と「こ*◆ま*」を、内部検索キー領域に記憶する(ステップS27)。CPU11は内部検索キー更新処理を終了し、処理をステップS4に戻す。
図6に示す段階(b)に遷移する。内部検索キーは、「こま*」と「こ*◆ま*」である。まず、ステップS4で「こま*」が読み込まれたとする。内部検索キー「こま*」は検索により文例をヒットする。CPU11はステップS6をYESと判定する。内部検索キー領域には「こ*◆ま*」が残っているので、CPU11はステップS8をYESと判定し、処理をステップS4に戻す。CPU11は内部検索キーとして「こ*◆ま*」を読み込み(ステップS4)、文例検索を行う(ステップS5)。「こ*◆ま*」は検索により文例をヒットしないので、CPU11はステップS6をNOと判定し、「こ*◆ま*」を内部検索キー領域から削除する(ステップS7)。内部検索キー領域に処理していない他の内部検索キーはないので、CPU11はステップS8をNOと判定する。「こま*」が検索により文例をヒットしたので、CPU11はステップS9をYESと判定する。入力キーワードの文字列を、最後まで読み込んでいないので、CPU11はステップS10をNOと判定し、次の文字「せ」を読み込む(ステップS11)。次に、CPU11は内部検索キー更新処理を行う(ステップS12)。
内部検索キー更新処理により、「こま*」から、内部検索キーとして、「こませ*」と「こま*◆せ*」が生成される。図6に示す段階(c)に遷移する。以降、上述と同様な処理により、図6に示す段階(d)、(e)を経て、段階(f)に達し、CPU11の処理は終了する。最終的に検索にヒットした文例は、No.(1)のものであり、No.(1)の文例が、出力部16に出力される(ステップS17)。
以上のように、実施の形態1においては、文例データベース2に記憶する検索用テキストは漢字仮名交じり文を読みに変換した仮名文とし、隣り合う2つの文節間には文節の区切りを示す区切り記号「◆」を挿入している。また、内部検索キーとして、「こ*」のように、入力キーワードを構成する文字を一文字含むキーを最初に生成し、次に「こま*」、「こ*◆ま*」というように、入力キーワードを構成する文字を二文字含むキーを生成している。そして、生成した内部検索キーのうち、検索により文例をヒットしない内部検索キーは削除する処理を行う。それにより、無駄な検索を行うことを防ぐことが可能となる。また、内部検索キーとして、「こませ*」と「こま*◆せ*」とのように、新たに追加した文字「せ」が、同一の文節にある場合に検索により文例をヒットするキーと、同一の文節にない場合に検索により文例をヒットするキーとを生成する。それにより、検索漏れを防ぐことが可能となる。
入力キーワードがn文字の文字列である場合、省略位置として仮定されるのは、n−1箇所であるから、すべての省略形を網羅するようにキーワードを生成すると、2n−1通りとなる。例えば、入力キーワードが「こませいち」の場合は、16通りとなる。それに対して、実施の形態1では、検索により文例をヒットしない内部検索キーは削除するので、上述の例で、「こませいち」までに生成されるキーワードは、段階(a)の「こ*」から、段階(e)の「こま*◆せいち」、「こま*◆せい*◆ち*」までの9通りとなる。このように、実施の形態1では、検索のために生成するキーワードの数が減るので、検索が効率化される。以上のように、実施の形態1においては、煩雑な入力をすることなく、効率的に文例の検索が行うことが可能となる。
実施の形態2
実施の形態2では、入力部15を介して、入力キーワードを一文字ずつ読み込み、読み込む毎に検索を行う、インクリメンタルサーチを行う。実施の形態2において、テキスト入力支援装置1及び文例データベース2の構成は、実施の形態1と同様であるので、説明を省略する。図7は入力支援処理の手順を示すフローチャートである。テキスト入力支援装置1のCPU11は、入力部15を介して、入力キーワードを一文字、読み込む(ステップS31)。次に、CPU11は、内部検索キー更新処理を行う(ステップS32)。この内部検索キー更新処理は、図5を参照して説明した処理と同様である。CPU11は、内部検索キー領域から内部検索キーを1つ読み込む(ステップS33)。CPU11は、読み込んだ内部検索キーにより、文例検索を行う(ステップS34)。CPU11は、検索によりヒット文例があるか否かを判定する(ステップS35)。CPU11は、検索にヒットする文例があると判定した場合(ステップS35でYES)、処理をステップS37に進める。CPU11は、検索により文例がヒットしなかったと判定した場合(ステップS35でNO)、内部検索キーを内部検索キー領域から削除する(ステップS36)。CPU11は内部検索キー領域に未処理の他の内部検索キーがあるか否かを判定する(ステップS37)。CPU11は内部検索キー領域に未処理の他の内部検索キーがあると判定した場合(ステップS37でYES)、処理をステップS33へ戻す。
CPU11は内部検索キー領域に未処理の他の内部検索キーがないと判定した場合(ステップS37でNO)、内部検索キー領域に検索にて文例をヒットした内部検索キーがあるか否かを判定する(ステップS38)。CPU11は、内部検索キー領域に検索にて文例をヒットした内部検索キーがあると判定した場合(ステップS38でYES)、内部検索キー領域から内部検索キーを読み込む(ステップS39)。CPU11は、読み込んだ内部検索キーで文例検索を行う(ステップS40)。CPU11は、検索結果を出力する(ステップS41)。CPU11は、内部検索キー領域に未処理の他の内部検索キーがあるか否かを判定する(ステップS42)。CPU11は、内部検索キー領域に未処理の他の内部検索キーがあると判定した場合(ステップS42でYES)、処理をステップS39に戻す。CPU11は、内部検索キー領域に未処理の他の内部検索キーがないと判定した場合(ステップS42でNO)、出力した文例のいずれかが選択されたか、またはキーワードの入力が終了されたか否かを判定する(ステップS43)。CPU11は、出力した文例のいずれかが選択された、またはキーワードの入力が終了されたと判定した場合(ステップS43でYES)、処理を終了する。CPU11は、出力した文例のいずれも選択されず、かつキーワードの入力が終了されていないと判定した場合(ステップS43でNO)、処理をステップS31へ戻す。CPU11は、内部検索キー領域に検索にて文例をヒットした内部検索キーがないと判定した場合(ステップS38でNO)、処理を終了する。
なお、入力キーワードとして入力された最後の文字が削除された場合に対応するために、最後の文字が入力される一つ前の状態を一時的に記憶しても良い。記憶するのは、例えば、内部検索キー及び検索にヒットした文例のNo.等である。これらは、RAM12又は大容量記憶装置14に設けた記憶領域に記憶すれば良い。また、2文字以上削除された場合や、入力キーワードの中間の文字が削除された場合には、先頭文字から再度、処理を行えば良い。
図8は入力支援処理における入出力の一例を示す説明図である。図8の左側はキーワードの入力状況を示している。図8の右側は検索結果として出力される文例を示している。図8に示すように、入力されたキーワードの長さが長くなるほど、検索結果として表示される文例が絞られる。キーワードが「こませいちょ」となった段階で、検索結果として表示される文例が1つに絞られている。このように、実施の形態2においては、キーワードの文字が入力されるたびに、文例検索を行い、その結果を表示する。それにより、文例が1つに絞られていなくても、目的の文例が見つかれば、ユーザはそれを選択し、文例の入力を行うことが可能となる。すなわち、入力したキーワードが短い場合でも、文例の選択し、選択した文例を入力することが可能であるので、入力効率を上げることが可能となる。
実施の形態3
実施の形態3では、検索結果を表示する際に、入力キーワードにマッチした部分をハイライト、アンダーライン、太字など、他の部分とは視覚的に区別がつくようにする。実施の形態3において、テキスト入力支援装置1及び文例データベース2の構成は、実施の形態2と同様であるので、説明を省略する。また、テキスト入力支援装置1で行われる処理についても、同様であるので、説明を省略する。
図9はオフセットテーブル3のレコードレイアウトの一例を示す説明図である。オフセットテーブル3は、文例の文節と、検索用テキストの文字列との対応付けを記憶するテーブルである。オフセットテーブル3は、文例データベース2に含まれるテーブルである。また、オフセットテーブル3は、テキスト入力支援装置1及び文例データベース2とは別の構成として設けても良いし、テキスト入力支援装置1の大容量記憶装置14に記憶しても良い。
オフセットテーブル3は、No.列、位置列、長さ列、検索用テキスト列を含む。No.列は、対応する文例データベース2に記憶されている文例のNo.を記憶する。位置列は、文例を構成する各文節の先頭位置を記憶する。長さ列は、文例を構成する各文節の長さを記憶する。検索用テキスト列は、文例を構成する各文節に対応した検索用テキストを記憶する。
CPU11は結果を表示する際に、検索にヒットした検索用テキストを元に、オフセットテーブル3を用いて、文例のマッチ部分を求め、当該部分を視覚的に区別がつくように表示する。例えば、CPU11が、キーワードとして「こま」を読み込んだ段階では、文例データベース2に記憶された文例においては、検索用テキストの「こまくは◆」、「こまく:◆」、「こまく◆」、「こまくに◆」の文節が検索にヒットする。CPU11は、No.(7)の文章では、「こまくは◆」がヒットする。CPU11は、ヒットした検索用テキストから、オフセットテーブル3を参照して、検索にヒットした文節が、「鼓膜は」であることを取得する。そして、CPU11は、図示しない辞書を参照することにより、「こ」は「鼓」に、「ま」は「膜」に対応することを取得する。CPU11は、当該結果を受けて、「鼓膜」の二文字を、ハイライト、アンダーライン、太字など、他の部分とは視覚的に区別がつくような形態で出力する。
同様に、キーワードとして「こませい」を読み込んだ段階では、CPU11は、「鼓膜」及び「正」の部分を、他の部分とは視覚的に区別がつくような形態で出力する。さらに、「こませいちょ」を読み込んだ段階では、CPU11は、「鼓膜」、「正」、「聴」の部分を、他の部分とは視覚的に区別がつくような形態で出力する。図10は、入力支援処理における入出力の一例を示す説明図である。図10では、ヒットした部分を太字で、かつ、他の文字より大きなサイズで表示している。
上述のように、実施の形態3においては、検索結果を表示する際に、入力キーワードにマッチした部分をハイライト、アンダーライン、太字など、他の部分とは視覚的に区別がつくようにしている。それにより、マッチした部分が一目で把握可能となり、次に入力する文字の選択が容易になる。
文例データベース作成処理
次に、文例データベース作成処理について説明する。上述の説明においては、文例データベース2は既存のものであるとして説明したが、テキスト入力支援装置1により、作成・更新されても良い。図11は文例データベース作成処理の手順を示すフローチャートである。CPU11は、文例を一行読み込む(ステップS51)。処理対象となる新たな文例は、大容量記憶装置14等に記憶されているものとする。CPU11は、読み込んだ一行の形態素解析を行う(ステップS52)。CPU11は、形態素解析を元に、文節合成を行う(ステップS53)。なお、形態素解析及び文節合成は、従来技術と同様であるので、説明を省略する。CPU11は、文節間に区切り記号(◆)を挿入する(ステップS54)。CPU11は、文節合成し区切り記号を挿入した文例を読みに変換する(ステップS55)。CPU11は、ステップS51で読み込んだ文例と、ステップS55で得た変換文を対応付けて、文例データベース2に記憶する(ステップS56)。CPU11は、未処理の文例があるか否かを判定する(ステップS57)。CPU11は、未処理の文例があると判定した場合(ステップS57でYES)、処理をステップS51に戻す。CPU11は、未処理の文例がないと判定した場合(ステップS57でNO)、処理を終了する。
実施の形態4
実施の形態4は、テキスト入力支援システムをクライアントサーバシステムとする形態である。図12はテキスト入力支援システムの構成例を示す説明図である。テキスト入力支援システムは、テキスト入力支援装置1、文例データベース2、クライアント4を含む。各装置はネットワークNより接続されている。テキスト入力支援装置1、文例データベース2の構成は、実施の形態1と同様であるので、説明を省略する。
クライアント4はデスクトップ型PC、ノートブック型PC、タブレットコンピュータなどである。クライアント4の構成は、図2に示したテキスト入力支援装置1と同様である。実施の形態4においては、テキスト入力、結果出力が行われるのは、クライアント4である。クライアント4が読み込んだ入力キーワードは、ネットワークNを介して、テキスト入力支援装置1に送信される。テキスト入力支援装置1は受信した入力キーワードを元に、テキスト入力支援処理を行い、結果をクライアント4に送信する。クライアント4は受信した結果を出力部16に出力する。
実施の形態4では、テキスト入力支援装置1を複数のクライアント4で許容するので、テキスト入力支援装置1の稼働率を高めることが可能となる。また、文例データベース2を共有することにより、異なるユーザが同一の文例を用いて入力を行うので、入力される文章の統制を取ることが可能となる。例えば、送り仮名の送り方や、句読点の有無や位置などが統制化される。このように統制化された文章が蓄積されると、蓄積された文章を解析する際に、解析が容易になるという効果を奏する。
実施の形態3と同様に、実施の形態4においても、テキスト入力支援システムに、オフセットテーブル3を含んでも良い。また、テキスト入力支援装置1、文例データベース2、オフセットテーブル3をクラウド環境により、提供してもよい。
次に、テキスト入力支援装置1の機能構成について、説明する。図13はテキスト入力支援装置1の機能構成の一例を示すブロック図である。テキスト入力支援装置1は、取得部11a、生成部11b、検索部11c、出力部11dを含む。CPU11が制御プログラム1Pを実行することにより、テキスト入力支援装置1は以下のように動作する。
取得部11aは、文字列を取得する。生成部11bは、取得した文字列から区切り記号を挿入した検索文字列を生成する。検索部11cは、文例を文節単位に分割した文節文字列の組合せにより構成した複数の検索対象文例から、前記区切り記号で区切られる各部分文字列を、文節文字列の先頭文字列として含むものを検索する。出力部11dは、検索にヒットした検索対象文例に対応する文例を出力する。
各実施例で記載されている技術的特徴(構成要件)はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
以上の実施の形態1から4に関し、さらに以下の付記を開示する。
(付記1)
文字列を取得し、
取得した文字列から区切り記号を挿入した検索文字列を生成し、
文例を文節単位に分割した文節文字列を組み合わせた複数の検索対象文例を記憶する記憶部から、前記区切り記号で区切られる検索文字列の各部分文字列が文節文字列の先頭に含まれる前記検索対象文例を検索し、
検索にヒットした検索対象文例に対応する文例を出力する
処理をコンピュータに行わせるコンピュータプログラム。
(付記2)
前記取得した文字列より一文字ずつ切り出し、
先に生成し残っている検索文字列に、区切り記号及び切り出した文字を結合した検索文字列と、切り出した文字のみを結合する検索文字列とを生成し、
生成した2つの検索文字列により前記検索対象文例を検索し、検索にヒットする検索文字列を残す処理を繰り返し、
前記取得した文字列より切り出す文字がなくなった場合に、検索を終了し、文例を出力する
付記1に記載のコンピュータプログラム。
(付記3)
前記文字列を構成する文字を取得するたびに、先に生成し残っている検索文字列に、区切り記号及び取得した文字を結合した検索文字列と、取得した文字のみを結合する検索文字列とを生成し、
生成した2つの検索文字列により前記検索対象文例を検索し、
検索にヒットする検索文字列を残し、
残した検索文字列による検索にヒットした検索対象文例に対応する文例を出力する
付記1に記載のコンピュータプログラム。
(付記4)
前記検索対象文例は前記文例に含まれる漢字を読みに変換したものであり、
読みを文字列として取得する
付記1から付記3のいずれか1つに記載のコンピュータプログラム。
(付記5)
検索にヒットした部分を明示した文例を出力する
付記1から付記4のいずれか1つに記載のコンピュータプログラム。
(付記6)
文字列を取得する取得部と、
取得した文字列から区切り記号を挿入した検索文字列を生成する生成部と、
文例を文節単位に分割した文節文字列を組み合わせた複数の検索対象文例を記憶する記憶部から、前記区切り記号で区切られる検索文字列の各部分文字列が文節文字列の先頭に含まれる前記検索対象文例を検索する検索部と、
検索にヒットした検索対象文例に対応する文例を出力する出力部と
を備える検索装置。
(付記7)
文字列を取得し、
取得した文字列から区切り記号を挿入した検索文字列を生成し、
文例を文節単位に分割した文節文字列を組み合わせた複数の検索対象文例を記憶する記憶部から、前記区切り記号で区切られる検索文字列の各部分文字列が文節文字列の先頭に含まれる前記検索対象文例を検索し、
検索にヒットした検索対象文例に対応する文例を出力する
処理をコンピュータにより行う検索方法。
1 テキスト入力支援装置
11 CPU
11a 取得部
11b 生成部
11c 検索部
11d 出力部
12 RAM
13 ROM
14 大容量記憶装置
15 入力部
16 出力部
17 通信部
18 読み取り部
1a 可搬型記憶媒体
1b 半導体メモリ
1P 制御プログラム
2 文例データベース
3 オフセットテーブル
4 クライアント
N ネットワーク

Claims (6)

  1. 文字列を取得し、
    取得した文字列から区切り記号を挿入した検索文字列を生成し、
    文例を文節単位に分割した文節文字列を組み合わせた複数の検索対象文例を記憶する記憶部から、前記区切り記号で区切られる検索文字列の各部分文字列が文節文字列の先頭に含まれる前記検索対象文例を検索し、
    検索にヒットした検索対象文例に対応する文例を出力する
    処理をコンピュータに行わせるコンピュータプログラム。
  2. 前記取得した文字列より一文字ずつ切り出し、
    先に生成し残っている検索文字列に、区切り記号及び切り出した文字を結合した検索文字列と、切り出した文字のみを結合する検索文字列とを生成し、
    生成した2つの検索文字列により前記検索対象文例を検索し、検索にヒットする検索文字列を残す処理を繰り返し、
    前記取得した文字列より切り出す文字がなくなった場合に、検索を終了し、文例を出力する
    請求項1に記載のコンピュータプログラム。
  3. 前記文字列を構成する文字を取得するたびに、先に生成し残っている検索文字列に、区切り記号及び取得した文字を結合した検索文字列と、取得した文字のみを結合する検索文字列とを生成し、
    生成した2つの検索文字列により前記検索対象文例を検索し、
    検索にヒットする検索文字列を残し、
    残した検索文字列による検索にヒットした検索対象文例に対応する文例を出力する
    請求項1に記載のコンピュータプログラム。
  4. 取得した前記文字列が漢字を含む文字列である場合に、前記文字列に含まれる漢字を読み仮名に変換して前記検索文字列を生成する、
    処理をさらにコンピュータに行わせる請求項1に記載のコンピュータプログラム。
  5. 文字列を取得する取得部と、
    取得した文字列から区切り記号を挿入した検索文字列を生成する生成部と、
    文例を文節単位に分割した文節文字列を組み合わせた複数の検索対象文例を記憶する記憶部から、前記区切り記号で区切られる検索文字列の各部分文字列が文節文字列の先頭に含まれる前記検索対象文例を検索する検索部と、
    検索にヒットした検索対象文例に対応する文例を出力する出力部と
    を備える検索装置。
  6. 文字列を取得し、
    取得した文字列から区切り記号を挿入した検索文字列を生成し、
    文例を文節単位に分割した文節文字列を組み合わせた複数の検索対象文例を記憶する記憶部から、前記区切り記号で区切られる検索文字列の各部分文字列が文節文字列の先頭に含まれる前記検索対象文例を検索し、
    検索にヒットした検索対象文例に対応する文例を出力する
    処理をコンピュータにより行う検索方法。
JP2015046062A 2015-03-09 2015-03-09 コンピュータプログラム、検索装置及び検索方法 Active JP6511874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015046062A JP6511874B2 (ja) 2015-03-09 2015-03-09 コンピュータプログラム、検索装置及び検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015046062A JP6511874B2 (ja) 2015-03-09 2015-03-09 コンピュータプログラム、検索装置及び検索方法

Publications (2)

Publication Number Publication Date
JP2016167135A JP2016167135A (ja) 2016-09-15
JP6511874B2 true JP6511874B2 (ja) 2019-05-15

Family

ID=56898498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015046062A Active JP6511874B2 (ja) 2015-03-09 2015-03-09 コンピュータプログラム、検索装置及び検索方法

Country Status (1)

Country Link
JP (1) JP6511874B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04259067A (ja) * 1991-02-14 1992-09-14 Canon Inc 文書処理装置
JP2002056026A (ja) * 2000-08-09 2002-02-20 Ishida Co Ltd 商品情報検索装置および記憶媒体
US7756859B2 (en) * 2005-12-19 2010-07-13 Intentional Software Corporation Multi-segment string search

Also Published As

Publication number Publication date
JP2016167135A (ja) 2016-09-15

Similar Documents

Publication Publication Date Title
US7979268B2 (en) String matching method and system and computer-readable recording medium storing the string matching method
JP2007004633A (ja) 言語モデル作成装置およびそれにより作成された言語モデルを使用する言語処理装置
US20050267734A1 (en) Translation support program and word association program
JP2007328654A (ja) 検索装置、検索プログラムおよび検索方法
JP2013196358A (ja) 検索支援装置および検索支援方法
JP2020140503A (ja) 文書検索装置及び文書検索方法
CN112765976A (zh) 文本相似度计算方法、装置、设备及存储介质
JP4845523B2 (ja) 文字処理装置、方法、プログラムおよび記録媒体
JP5112027B2 (ja) 文書群提示装置および文書群提示プログラム
KR101835994B1 (ko) 키워드 맵을 이용한 전자책 검색 서비스 제공 방법 및 장치
JP6511874B2 (ja) コンピュータプログラム、検索装置及び検索方法
JP2012141681A (ja) クエリセグメント位置決定装置
JP5851130B2 (ja) 日本語のための音声キー
JP6619932B2 (ja) 形態素解析装置およびプログラム
JP5903171B2 (ja) データ加工システムおよびデータ加工方法
JP2010009237A (ja) 多言語間類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
JP6805927B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP2010146061A (ja) 例文表示装置、例文表示方法および例文表示プログラム
JP6753190B2 (ja) 文書検索装置及びプログラム
JP2010250389A (ja) 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、
JP2019008477A (ja) 判別プログラム、判別装置及び判別方法
JP2004334690A (ja) 文字データ入出力装置、文字データ入出力方法、文字データ入出力プログラム、およびコンピュータ読み取り可能な記録媒体
JP5262190B2 (ja) 入力補完装置、及び入力補完プログラム
JP5998779B2 (ja) 検索装置、検索方法、及びプログラム
US20230409620A1 (en) Non-transitory computer-readable recording medium storing information processing program, information processing method, information processing device, and information processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190325

R150 Certificate of patent or registration of utility model

Ref document number: 6511874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150