(57)【特許請求の範囲】
【請求項１】
検索対象の文章に対して形態素解析を行うことにより当該文章を品詞単位の単語に分割し、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化して、グループ化した単語どうしを、文字数が予め設定された文字数となるまで結合することにより、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する分割手段と、
前記分割手段により分割された文字列をキーワードとしてインターネットによる検索を行うことにより、当該文字列が含まれた文章が掲載されたＵＲＬをそれぞれ検索する検索手段と、
前記検索手段により得られた複数のＵＲＬと当該ＵＲＬに登録されているディスクリプション情報をそれぞれ取得する取得手段と、
前記取得手段により取得された複数のディスクリプション情報における検索したキーワードとの一致部分を連結することにより得られた文章と、前記検索対象の文章との一致率を算出するとともに前記取得手段により複数のＵＲＬから取得された複数のディスクリプション情報における検索したキーワードとの一致部分の文字列と、前記分割手段により分割された文字列との編集距離をそれぞれ算出して、複数のＵＲＬから取得された文字列を組み合わせた複数の文字列における、算出された編集距離が予め設定された値以下となる文字列の割合を、検索対象の文章が複数のＵＲＬからの文字列を組み合わせて構成されている割合を示す混成一致率として算出する算出手段と、
前記検索手段により得られた複数のＵＲＬを前記算出手段により算出された一致率が高い順に表示するとともに前記算出手段により算出された混成一致率を表示する表示手段と、
を備えた類似文章検索装置。
【請求項２】
前記分割手段は、グループ化した単語どうしを結合する際に、句点または読点が文字列の最後となった場合には、前記文字数よりも少ない文字数まで複数の単語を結合した時点で、グループ化した単語どうしの結合を終了する請求項１記載の類似文章検索装置。
【請求項３】
前記算出手段は、前記取得手段により取得された複数の情報における検索したキーワードとの一致部分の文字列と、前記分割手段により分割された文字列との編集距離をそれぞれ算出して、算出された編集距離が予め設定された値以下となる文字列の割合を類似度として算出し、
前記表示手段は、前記算出手段により算出された類似度とともに前記検索手段により得られたＵＲＬを表示する請求項１又は２記載の類似文章検索装置。
【請求項４】
検索対象の文章に対して形態素解析を行うことにより当該文章を品詞単位の単語に分割し、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化して、グループ化した単語どうしを、文字数が予め設定された文字数となるまで結合することにより、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する分割ステップと、
前記分割ステップにおいて分割された文字列をキーワードとしてインターネットによる検索を行うことにより、当該文字列が含まれた文章が掲載されたＵＲＬを検索する検索ステップと、
前記検索ステップにおいて得られたＵＲＬと当該ＵＲＬに登録されているディスクリプション情報を取得する取得ステップと、
前記取得ステップにおいて取得されたディスクリプション情報における検索したキーワードとの一致部分を連結することにより得られた文章と、前記検索対象の文章との一致率を算出するとともに前記取得ステップにおいて複数のＵＲＬから取得された複数のディスクリプション情報における検索したキーワードとの一致部分の文字列と、前記分割ステップにおいて分割された文字列との編集距離をそれぞれ算出して、複数のＵＲＬから取得された文字列を組み合わせた複数の文字列における、算出された編集距離が予め設定された値以下となる文字列の割合を、検索対象の文章が複数のＵＲＬからの文字列を組み合わせて構成されている割合を示す混成一致率として算出する算出ステップと、
前記検索ステップにおいて得られた複数のＵＲＬを前記算出ステップにおいて算出された一致率が高い順に表示するとともに前記算出ステップにおいて算出された混成一致率を表示する表示ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索対象の文章と類似する文章を検索する類似文章検索装置およびプログラムに関する。
【背景技術】
【０００２】
近年、学生等が提出するレポートや論文の内容を、インターネット上の文章から複製することが問題となっている。また、Ｗｅｂページに掲載している文章を他のＷｅｂページの記載から盗用するようなことも発生して問題となっている。
【０００３】
これらの文章の盗用では、複製元の文章全体をコピーするだけでなく、その文章の一部をコピーしたり、コピーした文章の一部の表現を替えたりするようなことが行われている。
【０００４】
従来、２つの文章間の類似度合いを文章間距離として算出して、２つの文章がどれだけ類似しているかを客観的に把握するような技術が提案されている（例えば、特許文献１、２参照。）。
【０００５】
しかし、このような従来技術では、複製が疑われる文章間での類似度を算出するものであり、ある文章がインターネット上の他の文章から盗用されたものであるのか、またはある文章と類似する文章がインターネット上に存在するのか否かを検索することができなかった。
【０００６】
そこで、ある文章と類似する文章がインターネット上に存在するか否かを検索するような各種ソフトウェアサービスが提供されている（例えば、非特許文献１参照。）
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１２２９４２号公報
【特許文献２】特開２０１１−１７５５６８号公報
【非特許文献】
【０００８】
【非特許文献１】”剽窃チェッカー”、［online］、［令和元年７月２日検索」、インターネット「ＵＲＬ：http://plagiarism.strud.net/」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したような各種ソフトウェアサービスでは、既存のインターネットの検索エンジン（検索ソフトウェア）を利用することにより、入力された文章と類似する文章を検索している。
【００１０】
しかし、一般的なインターネットの検索エンジンを用いて、インターネット上の文章の中から、検索対象の文章と類似する文章を探そうとした場合、文章全体をキーワードとして検索することはできない。それぞれの検索エンジンには、検索可能なキーワードの仕様により文字数の上限が設定されている場合もある。
【００１１】
そこで、検索エンジンを用いる場合には、検索対象の文章を分割して検索を行うことになるが、文章をあまり短すぎる文字列に分割して検索を行った場合、短すぎる文字列が単語として認識されて検索が行われてしまい、検索結果が膨大な数となってしまう。
【００１２】
また、文字数をあまり多くして検索を行った場合、具体的には、２５〜３０文字程度よりも文字数が多い文章をキーワードとして検索を実行した場合、「検索結果が見つからない」という結果しか得られない場合が多い。
【００１３】
そのため、上述したような従来の検索システムでは、入力された文章を１文単位で分割して、分割した単位毎にインターネットで検索を行って、その検索結果を分割した単位毎に表示するようなものであった。
【００１４】
しかし、句読点を１文の区切りと判定して、入力された文章を１文単位で区切った場合、１文が数１０文字にもなるような場合、適切な検索結果が得られないという問題が発生する。また、予め設定された文字数で文章を区切ったのでは、単語が途中で別れてしまい意味が不明な文字列となってしまう可能性がある。
【００１５】
特に、日本語は分かち書きの文章ではないため、単語間の区切りが明瞭でなく単に文字数で区切った場合、意味が不明な文字列となり易い。
【００１６】
さらに、例えば検索結果がＵＲＬ(Uniform Resource Locator)で表示されるような場合、分割した１文毎にＵＲＬが表示されたとしても、どのＵＲＬに記載された文章が検索対象の文章と最も類似する文章であるのかを容易に把握することができない。具体的には、２０文から構成される文章を検索した場合、２０の文章毎にそれぞれ複数のＵＲＬが表示されたとしても、検索対象の文章と最も類似した文章が掲載されたＵＲＬがどれであるのか、また検索対象の文章がその文章とどの程度類似しているのかが分からないという問題がある。
【００１７】
本発明の目的は、検索対象の文章と類似する文章をインターネット上の文章の中から検索する場合に、検索対象の文章と類似する文章を容易に把握することが可能な類似文章検索装置およびプログラムを提供することである。
【課題を解決するための手段】
【００１８】
本発明は、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する分割手段と、
前記分割手段により分割された文字列をキーワードとしてインターネットによる検索を行うことにより、当該文字列が含まれた文章が掲載されたＵＲＬを検索する検索手段と、
前記検索手段により得られたＵＲＬと当該ＵＲＬに登録されている情報を取得する取得手段と、
前記取得手段により取得された情報における検索したキーワードとの一致部分の文章と、前記検索対象の文章との一致率を算出する算出手段と、
前記算出手段により算出された一致率とともに前記検索手段により得られたＵＲＬを表示する表示手段とを備えた類似文章検索装置である。
【００１９】
本発明では、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割してから、それぞれの文字列をキーワードとしてインターネットによる検索を行って、得られた検索結果に基づいてＵＲＬ毎に一致率を算出して表示するようにしているので、ユーザは、検索対象の文章と最も類似する可能性が高い文章が掲載されたＵＲＬを容易に把握することが可能となる。
【００２０】
また、本発明の他の類似文章検索装置では、前記分割手段は、検索対象の文章に対して形態素解析を行うことにより当該文章を品詞単位の単語に分割し、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化して、グループ化した単語どうしを、文字数が予め設定された文字数となるまで結合することにより、検索対象の文章をインターネットによる検索に適した文字数の文字列に分割するようにしても良い。
【００２１】
また、本発明の他の類似文章検索装置では、前記分割手段は、グループ化した単度どうしを結合する際に、句点または読点が文字列の最後となった場合には、前記文字数よりも少ない文字数まで複数の単語を結合した時点で、グループ化した単語どうしの結合を終了するようにしても良い。
【００２２】
また、本発明の他の類似文章検索装置では、前記表示手段は、前記検索手段により得られた複数のＵＲＬを、前記算出手段により算出された一致率が高い順に表示するようにしても良い。
【００２３】
また、本発明の他の類似文章検索装置では、前記算出手段は、前記取得手段により取得された複数の情報における検索したキーワードとの一致部分の文字列と、前記分割手段により分割された文字列との編集距離をそれぞれ算出して、算出された編集距離が予め設定された値以下となる文字列の割合を類似度として算出し、
前記表示手段は、前記算出手段により算出された類似度とともに前記検索手段により得られたＵＲＬを表示するようにしても良い。
【００２４】
また、本発明の他の類似文章検索装置では、前記算出手段は、前記取得手段により複数のＵＲＬから取得された複数の情報における検索したキーワードとの一致部分の文字列と、前記分割手段により分割された文字列との編集距離をそれぞれ算出して、複数のＵＲＬから取得された文字列を組み合わせた複数の文字列における、算出された編集距離が予め設定された値以下となる文字列の割合を混成一致（商標登録出願中）率として算出し、
前記表示手段は、前記算出手段により算出された混成一致率を表示するようにしても良い。
【００２５】
また、本発明の類似文章検索装置では、前記取得手段により取得される情報を、ＵＲＬに対して登録されているディスクリプション情報としても良い。
【００２６】
また、本発明の類似文章検索装置では、前記取得手段により取得される情報を、ＵＲＬにアクセスして取得した文章情報としても良い。
【００２７】
さらに、本発明は、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する分割ステップと、
前記分割ステップにおいて分割された文字列をキーワードとしてインターネットによる検索を行うことにより、当該文字列が含まれた文章が掲載されたＵＲＬを検索する検索ステップと、
前記検索ステップにおいて得られたＵＲＬと当該ＵＲＬに登録されている情報を取得する取得ステップと、
前記取得ステップにおいて取得された情報における検索したキーワードとの一致部分の文章と、前記検索対象の文章との一致率を算出する算出ステップと、
前記算出ステップにおいて算出された一致率とともに前記検索ステップにおいて得られたＵＲＬを表示する表示ステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２８】
本発明によれば、検索対象の文章と類似する文章をインターネット上の文章の中から検索する場合に、検索対象の文章と類似する文章を容易に把握することが可能になるという効果を得ることができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態の類似文章検索システムのシステム構成を示す図である。
【図２】本発明の一実施形態における類似文章検索サーバ１０のハードウェア構成を示すブロック図である。
【図３】本発明の一実施形態における類似文章検索サーバ１０の機能構成を示すブロック図である。
【図４】本発明の一実施形態の類似文章検索サーバ１０の全体動作を説明するためのフローチャートである。
【図５】ユーザが端末装置２０を操作してインターネット３０上に類似する文章が存在するか否かを検索したい文章を入力する様子を示す図である。
【図６】分割処理部３１による検索に適した文字数の文字列の生成処理（ステップＳ１０２の処理）の詳細を説明するためのフローチャートである。
【図７】検索対象の文章に対して形態素解析を行うことにより、この文章を品詞毎に分割する様子を説明するための図である。
【図８】区切りの品詞例を説明するための図である。
【図９】分割した単語とその品詞および区切りの品詞に該当するか否かを説明するための図である。
【図１０】区切りの品詞に基づいて分割された単語をグループ化する様子を説明するための図である。
【図１１】インターネットで検索するための文字列の生成例を示す図である。
【図１２】形態素解析を行わずに文字数で分割した場合の例を示す図である。
【図１３】検索結果取得部３３が、文字列が記載されたＵＲＬとディスクリプション情報を取得する際の様子を説明するための図である。
【図１４】それぞれのＵＲＬから強調文字部分が取得された際の検索結果例を示す図である。
【図１５】ＵＲＬ毎に取得された文字列をまとめた例を示す図である。
【図１６】一致率の算出例を説明するための図である。
【図１７】一致率の算出例を説明するための図である。
【図１８】類似度の算出例を説明するための図である。
【図１９】ＵＲＬ毎に一致率および類似度が算出された場合の一例を示す図である。
【図２０】図５に示した操作画面例において入力した文章に対して分割処理を行って検索を行うための文字列を生成した場合の一例を示す図である。
【図２１】分割された各文字列をキーワードとしてインターネットによる検索を行った場合の検索結果例を示す図である。
【図２２】分割された各文字列をキーワードとしてインターネットによる検索を行った場合の検索結果例を示す図である。
【図２３】図２１、図２２の検索結果例をＵＲＬ毎にまとめて、それぞれのＵＲＬに対する一致率と類似度を算出した場合の算出例を示す図である。
【図２４】混成一致率の算出方法を説明するための図である。
【図２５】混成一致率の具体的な算出例を示す図である。
【図２６】混成一致率の具体的な算出例を示す図である。
【図２７】ユーザの端末装置２０の画面上において検索結果を示す際の表示例を示す図である。
【発明を実施するための形態】
【００３０】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００３１】
図１は本発明の一実施形態の類似文章検索システムのシステム構成を示す図である。
【００３２】
本発明の一実施形態の類似文章検索システムは、図１に示されるように、類似文章検索サーバ１０と、Ｗｅｂサーバ４０と、端末装置２０とがインターネット３０により相互に接続された構成となっている。
【００３３】
類似文章検索サーバ１０は、インターネット３０経由にて類似文章検索サービスをユーザに提供する類似文章検索装置である。Ｗｅｂサーバ４０は、インターネット３０を介して、様々なサービスの提供やＷｅｂページの提供を行っている。そして、端末装置２０は、Ｗｅｂサーバ４０や類似文章検索サーバ１０により提供される各種サービス等を利用するユーザにより、操作されるパーソナルコンピュータ等の装置である。
【００３４】
ユーザが端末装置２０を操作して、類似文章検索サーバ１０にアクセスして類似文章の検索を行いたい文章を入力することにより、入力した検索対象の文章と類似する文章がインターネット上に存在するか否かの検索が実行される。
【００３５】
次に、本実施形態の類似文章検索システムにおける類似文章検索サーバ１０のハードウェア構成を図２に示す。
【００３６】
類似文章検索サーバ１０は、図２に示されるように、ＣＰＵ１１、メモリ１２、ハードディスクドライブ等の記憶装置１３、ネットワーク３０を介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース（ＩＦ）１４、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース（ＵＩ）装置１５を有する。これらの構成要素は、制御バス１６を介して互いに接続されている。
【００３７】
ＣＰＵ１１は、メモリ１２または記憶装置１３に格納された制御プログラムに基づいて所定の処理を実行して、類似文章検索サーバ１０の動作を制御する。なお、本実施形態では、ＣＰＵ１１は、メモリ１２または記憶装置１３内に格納された制御プログラムを読み出して実行するものとして説明するが、当該プログラムをＣＤ−ＲＯＭ等の記憶媒体に格納してＣＰＵ１１に提供することも可能である。
【００３８】
図３は、上記の制御プログラムが実行されることにより実現される類似文章検索サーバ１０の機能構成を示すブロック図である。
【００３９】
本実施形態の類似文章検索サーバ１０は、図３に示されるように、分割処理部３１と、検索処理部３２と、検索結果取得部３３と、データ送受信部３４と、算出部３５と、表示処理部３６と、データ格納部３７とを備えている。
【００４０】
分割処理部３１は、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する。具体的には、分割処理部３１は、検索対象の文章に対して形態素解析を行うことによりその文章を品詞単位の単語に分割し、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化して、グループ化した単語どうしを、文字数が予め設定された文字数、例えば２６文字となるまで結合することにより、検索対象の文章をインターネットによる検索に適した文字数の文字列に分割する。
【００４１】
なお、分割処理部３１は、グループ化した単度どうしを結合する際に、句点または読点が文字列の最後となった場合には、上記の文字数よりも少ない文字数、例えば１３文字まで複数の単語を結合した時点で、グループ化した単語どうしの結合を終了する。さらに、文章の最後の文字列が１３文字以下となった場合には、短すぎるため前の文字列と合成して１つの文字列とする。
【００４２】
検索処理部３２は、分割処理部３１により分割された文字列をキーワードとしてインターネットによる検索を行うことにより、その文字列が含まれた文章が掲載されたＵＲＬ(Uniform Resource Locator)をそれぞれ検索する。
【００４３】
検索結果取得部３３は、検索処理部３２により得られた複数のＵＲＬとそのＵＲＬに登録されている情報をそれぞれ取得する。
【００４４】
なお、本実施形態では、検索結果取得部３３により取得される情報が、ＵＲＬに対して登録されているディスクリプション情報（説明情報）である場合について説明する。しかし、検索結果取得部３３により取得される情報を、ＵＲＬにアクセスして取得した文章情報としても良い。
【００４５】
具体的には、分割処理部３１により分割された文字列が含まれた文章が掲載されたＵＲＬが、検索処理部３２により検索された場合には、検索結果取得部３３は、そのＵＲＬをクロールすることにより、つまりそのＵＲＬにアクセスしてＵＲＬに掲載された文章を取得するようにしても良い。
【００４６】
ただし、上記でも説明したように、本実施形態においては、検索結果取得部３３は、検索処理部３２により得られた複数のＵＲＬとそのＵＲＬに登録されているディスクリプション情報をそれぞれ取得するものとして説明する。
【００４７】
データ送受信部３４は、インターネット３０を介して端末装置２０やＷｅｂサーバ４０との間でデータの送受信を行う。
【００４８】
算出部３５は、検索結果取得部３３により取得された複数のディスクリプション情報における検索したキーワードとの一致部分を連結することにより得られた文章と、検索対象の文章との一致率を算出する。
【００４９】
表示処理部３６は、算出部３５により算出された一致率とともに検索処理部３２により得られたＵＲＬをユーザが操作している端末装置２０上に表示する。なお、本実施形態では、表示処理部３６は、検索処理部３２により得られた複数のＵＲＬを、算出部３５により算出された一致率が高い順に表示する。
【００５０】
さらに、算出部３５は、検索結果取得部３３により取得された複数のディスクリプション情報における検索したキーワードとの一致部分の文字列と、分割処理部３１により分割された文字列との編集距離をそれぞれ算出して、算出された編集距離が予め設定された値以下となる文字列の割合を類似度として算出する。
【００５１】
この場合には、表示処理部３６は、算出部３５により算出された類似度とともに検索処理部３２により得られたＵＲＬを表示するようにしても良い。
【００５２】
さらに、算出部３５は、検索結果取得部３３によって複数のＵＲＬから取得された複数のディスクリプション情報における検索したキーワードとの一致部分の文字列と、分割処理部３１により分割された文字列との編集距離をそれぞれ算出して、複数のＵＲＬから取得された文字列を組み合わせた複数の文字列における、算出された編集距離が予め設定された値以下となる文字列の割合を混成一致率として算出するようにしても良い。
【００５３】
この場合には、表示処理部３６は、算出部３５により算出された混成一致率を表示するようにしても良い。
【００５４】
データ格納部３７は、検索対象の文章や、検索処理部３２により得られたＵＲＬ情報や、検索結果取得部３３により得られた各ＵＲＬのディスクリプション情報等の各種情報を一時的に格納する。
【００５５】
次に、本実施形態の類似文章検索サーバ１０の動作について図面を参照して詳細に説明する。
【００５６】
先ず、本実施形態の類似文章検索サーバ１０の動作全体の流れを図４のフローチャートを参照して説明する。
【００５７】
ユーザが端末装置２０を操作してインターネット３０上に類似する文章が存在するか否かを検索したい文章を入力する様子を図５に示す。図５に示した端末装置２０における操作画面例では、ユーザが検索をしたい文章全体を入力欄に入力する様子が示されている。そして、ユーザがこの操作画面における開始ボタンを操作することにより、入力された検索対象の文章に対する類似文章検索サーバ１０の検索処理が開始される。
【００５８】
先ず、類似文章検索サーバ１０では、分割処理部３１によって、検索対象の文章が形態素解析により品詞単位の単語に分割される（ステップＳ１０１）。
【００５９】
そして、分割処理部３１は、品詞単位で分割した単語をまとめることにより検索エンジンによる検索に適した文字数の文字列を生成する（ステップＳ１０２）。
【００６０】
ここで、インターネット３０上のＵＲＬを検索する検索エンジンでは、その仕様により、検索キーワードが短すぎると文章としてではなく単語として認識してしまう。また、文字数が長すぎると、そもそも検索エンジンによる検索では検索結果がエラーとなってしまい適切な検索を行うことができない。具体的には、２５文字〜３０文字程度の文字数を超えると、検索エンジンからは「検索結果がない」旨が返されることが多くなる。
【００６１】
そのため、分割処理部３１は、このような検索エンジンにより文章の検索が適切に行われるような文字数の文字列を生成する。
【００６２】
次に、この分割処理部３１による検索に適した文字数の文字列の生成処理（ステップＳ１０２の処理）の詳細を図６のフローチャートを参照して説明する。
【００６３】
先ず、分割処理部３１は、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化する（ステップＳ２０１）。
【００６４】
そして、分割処理部３１は、グループ化した単語どうしを１つずつ順次結合する（ステップＳ２０２）。
【００６５】
ここで、分割処理部３１は、最後が「、」又は「。」でかつ文字数が１３文字以上となった場合（ステップＳ２０３）、文字数が２６文字以上となった場合（ステップＳ２０４）、それまでに結合した単語を、検索を行う文字列として生成する（ステップＳ２０５）。
【００６６】
そして、分割処理部３１は、グループ化した単語が全て終了するまで、ステップＳ２０２〜Ｓ２０５の処理を繰り返し、グループ化した単語が全て終了すると（ステップＳ２０６においてｙｅｓ）、それまでに結合した単語を、検索を行う文字列として生成する（ステップＳ２０７）。
【００６７】
なお、分割処理部３１は、生成された最後の文字列が１３文字以下の場合には、その直前の文字列と合成して１つの文字列とする（ステップＳ２０８）。
【００６８】
このような文字列の生成処理の具体例を図７〜図１１を参照して説明する。
【００６９】
以下の説明では、図７に示すような「今日は、とても良い天気ですね。でも、午後からは雨が降りそうです。」という文章に対して上記のような分割処理を行う場合について説明する。
【００７０】
先ず、この文章に形態素解析を行うことにより、上記の文章は、「今日/は/、/とても/良い/天気/です/ね/。/でも/、/午後/から/は/雨/が/降り/そう/です/。」というように品詞毎に分割される。
【００７１】
そして、上記のように品詞毎に分割された単語を、区切りの品詞毎に区切ってグループ化する。ここでは、図８に示すような品詞を区切りの品詞として設定した場合について説明する。
【００７２】
先ず、図７に示したような品詞毎に分割した単語について、その品詞と区切りの品詞に該当するか否かを図９に示す。
【００７３】
図９では、例えば、「今日」という単語の品詞は名詞、普通名詞であり、区切りの品詞には該当しないことが示されている。しかし、次の「は」という単語の品詞は助詞、係助詞であり、区切りの品詞に該当することが示されている。
【００７４】
そのため、分割処理部３１は、「今日」、「は」という２つの単語をグループ化して１つの単語とする。このようにして品詞毎に分割された単語がグループ化された様子を図１０に示す。
【００７５】
図１０では、「今日は」、「、」、「とても良い天気ですね」、「。」、「で」、「も」、「、」「午後から」、「は」、「雨が」、「降りそうです」、「。」という単語にグループ化されているのが分かる。
【００７６】
そして、このグループ化された単語に基づいて、図６のフローチャートに基づく処理により、検索を行うための文字列を生成した結果を図１１に示す。
【００７７】
図１１では、「今日は、とても良い天気ですね。でも、午後からは雨が降りそうです。」という文章が、「今日は、とても良い天気ですね。」（１５文字）、「でも、午後からは雨が降りそうです。」（１７文字）という２つの文字列に分割されているのが分かる。
【００７８】
なお、図１１では、結果的には検索対象の文章が句点「。」によって２つの文字列に分割されたものとなっているが、上記では説明を簡単にするために検索対象の文章を単純なものとしており、１文が数十文字となるような文章の場合には単に句点で区切ったものと、上記のような処理によって区切ったものとでは同じになるわけではない。
【００７９】
ここで、もし形態素解析を行わずに単純に一定の文字数で文章を分割した場合の一例を図１２に示す。
【００８０】
図１２を参照すると、１０文字毎に文章を分割した場合の例が記載されており、「今日は、とても良い天」、「気ですね。でも、午後」、「からは雨が降りそうで」、「す。」というように意味をなさない文字列となってしまっているのが分かる。
【００８１】
次に、図４のフローチャートに戻って説明を行うと、検索処理部３２は生成された文字列をキーワードとして用いて検索エンジンによる検索を実行すると、検索結果取得部３３は、その文字列が記載されたＵＲＬとディスクリプション情報を取得する（ステップＳ１０３）。
【００８２】
具体的には、検索処理部３２が「今日は、とても良い天気ですね。」という文字列をキーワードとして検索を行うことにより、図１３に示されるような検索結果が得られる。
【００８３】
この図１３に示された検索結果例では、「https://hogehoge.com/」というＵＲＬとともに、このＵＲＬに登録されている説明情報であるディスクリプション情報が得られているのが分かる。そして、このディスクリプション情報において、検索の際に使用されたキーワードと一致する文字が強調文字として表示されている。
【００８４】
このようにしてそれぞれのＵＲＬから強調文字部分が取得された際の検索結果例を図１４に示す。図１４では、「今日は、とても良い天気ですね。」という文字列をキーワードとして検索した際の検索結果、および「でも、午後からは雨が降りそうです。」という文字列をキーワードとして検索した際の検索結果の一例が示されている。
【００８５】
なお、図１４では、それぞれのＵＲＬに登録されているディスクリプション情報の強調文字部分の文字列と、キーワードとして用いた文字列との編集距離を算出した結果がそれぞれ示されている。
【００８６】
ここで、編集距離とは、２つの文字列がどの程度異なっているかを示すための値であり、例えばレーベンシュタイン距離と呼ばれる値が該当する。具体的には、１文字の挿入・削除・置換によって、一方の文字列を他方の文字列に変形するために必要となる最小の手順の回数として定義されている。
【００８７】
次に、算出部３５は、各ＵＲＬのディスクリプション情報から取得した強調文字を形態素解析により品詞毎に分割して、同じＵＲＬ毎にまとめる（ステップＳ１０４）。このようにしてＵＲＬ毎に取得された文字列をまとめた例を図１５に示す。
【００８８】
図１５を参照すると、ＵＲＬ毎に取得された文字列がまとめられているのが分かる。例えば、「https://hogehoge.com/」というＵＲＬからは、「今日は、とても良い天気ですね。」という文字列と、「でも、午後からは雨が降りそうです。」という文字列とが取得されたため、この２つの文字列をまとめて、「今日は、とても良い天気ですね。でも、午後からは雨が降りそうです。」という文章となっているのが分かる。
【００８９】
そして、算出部３５は、このようにしてＵＲＬ毎にまとめた文章と、検索対象の文章との一致率を算出する（ステップＳ１０５）。この一致率の算出例を図１６、図１７を参照して説明する。
【００９０】
図１６に示した算出例では、「https://hogehoge.com/」というＵＲＬから取得された文章と、検索対象の文章との一致率を算出した場合が示されている。図１６では、検索対象の文章から、形態素解析で分割した単語単位で、ＵＲＬ毎にまとめた文章と一致する単語を削除した結果、全ての単語が一致して削除されている。
【００９１】
つまり、３２文字中３２文字が削除されているため、算出部３５は、一致率は１００％（３２／３２）であると算出する。
【００９２】
図１７に示した算出例では、「https://test2.com/」というＵＲＬから取得された文章と、検索対象の文章との一致率を算出した場合が示されている。図１７では、検索対象の文章から、形態素解析で分割した単語単位で、ＵＲＬ毎にまとめた文章と一致する単語を削除した結果、「降り」、「そう」以外の全ての単語が一致して削除されている。
【００９３】
つまり、３２文字中２８文字が削除されているため、算出部３５は、一致率は約８８％（２８／３２）であると算出する。
【００９４】
次に、算出部３５は、検索対象の文章を分割した文字列と、各ＵＲＬから取得したディスクリプションにおける強調文字との間の編集距離に基づいて類似度を算出する（ステップＳ１０６）。
【００９５】
この類似度の算出例について図１８を参照して説明する。この図１８では、検索対象の文章が「今日は、とても良い天気ですね。」、「でも、午後からは雨が降りそうです。」。「しかし、明日は晴れるかもしれません。」、「明日が晴れることを祈っています。」という４つの文字列に分割されたものとして説明する。
【００９６】
そして、この４つの文字列と、ディスクリプションから取得された各文字列との編集距離が、例えば図１８に示すようにそれぞれ「０」、「３」、「６」、「４」だったものとして説明する。
【００９７】
そして、ここで類似度を、例えば、編集距離が以下の文章が占める割合であると定義した場合、図１８に示した例における類似度は５０％となる。
【００９８】
このようにしてＵＲＬ毎に一致率および類似度が算出された場合の一例を図１９に示す。図１９では、ＵＲＬ毎に一致率および類似度が算出されており、一致率が高い順にＵＲＬが並べられているのが分かる。
【００９９】
このようにして、算出部３５によりＵＲＬ毎に一致率および類似度が算出されると、表示処理部３６は、検索で見つかったＵＲＬの一覧を一致率が高い順番に類似度の情報とともにユーザの端末装置２０に表示する（ステップＳ１０７）。
【０１００】
なお、上記では説明を簡単にするために簡単な文章を検索対象の文章とした場合について説明したが、以降では実際の文章を検索対象の文章とした場合について説明する。
【０１０１】
ここでは、図５に示した操作画面例において入力した文章に対して検索を行った場合を例として用いて説明する。
【０１０２】
先ず、この文章に対して分割処理を行って検索を行うための文字列を生成した場合の一例を図２０に示す。図２０を参照すると、検索対象の文章が「1.登録するコピーチェックしたい文章を［文章を登録］に」、「貼り付けて[チェックする]ボタンを押します。」、「［CSV一括登録］、［テキスト一括登録］から文章一括登録も」、「可能です。コピペチェック文字数は25文字から4,000文字です。」、・・・・という複数の文字列に分割されているのが分かる。
【０１０３】
そして、このようにして分割された各文字列をキーワードとしてインターネットによる検索を行った場合の検索結果例を図２１、図２２に示す。
【０１０４】
図２１には、「1.登録するコピーチェックしたい文章を［文章を登録］に」、「貼り付けて[チェックする]ボタンを押します。」という文字列を検索キーワードとした場合の検索結果例がそれぞれ示されている。
【０１０５】
また、図２２には、「［CSV一括登録］、［テキスト一括登録］から文章一括登録も」、「可能です。コピペチェック文字数は25文字から4,000文字です。」という文字列を検索キーワードとした場合の検索結果例がそれぞれ示されている。
そして、このような検索結果例をＵＲＬ毎にまとめて、上述したような方法によりそれぞれのＵＲＬに対する一致率と類似度を算出した場合の算出例を図２３に示す。
【０１０６】
次に、算出部３５が混成一致率を算出する際の具体的な算出方法について、図２４〜図２６を参照して説明する。
【０１０７】
以下の説明では、図２４に示すような「今日は、良い天気です。でも、午後からは雨が降るみたいです。今日はよいてんきでした。」という文章を検索対象とした場合について説明する。
【０１０８】
そして、この検索対象文章について検索を行った結果、「hogehoge.com」、「test2.com」、「tenkitenki.com」という３つのＵＲＬのそれぞれから取得された文字列との編集距離がそれぞれ図２４に示すようになっている場合について説明する。ここまでの類似度の算出方法については上記において説明した算出方法と同じである。
【０１０９】
図２４を参照すると、「今日は、良い天気です。」、「でも、午後からは雨が降るみたいです。」という２つの文字列については、「hogehoge.com」というＵＲＬからコピーしたものと推定され、「今日はよいてんきでした。」という文字列については「tenkitenki.com」というＵＲＬからコピーしたものと推定される。
【０１１０】
そして、このように１つのＵＲＬから検索対象文章の全ての文字列がコピーされておらず、複数のＵＲＬからコピーされた複数の文字列を組み合わせて検索対象文章を構成しているような場合、上記で説明した一致率や類似度だけではコピーの疑い度合いを精度良く表示できない場合もある。
【０１１１】
そのため、本実施形態では、ＵＲＬ毎の一致率や類似度に加えて、検索対象文章が複数のＵＲＬからの文字列を組み合わせて構成されている割合を混成一致率として算出するようにしている。
【０１１２】
具体的には、検索対象文章を分割して得られた全ての複数の文字列が、いずれかのＵＲＬから取得された文字列と編集距離が０となっている場合には、混成一致率は１００％となる。
【０１１３】
なお、本実施形態では、複数のＵＲＬから取得された文字列のうち、検索対象を分割した文字列との編集距離が最も小さい文字列を組みあわせた複数の文字列を比較対象として、検索対象を分割した文字列のうち比較対象の文字列との編集距離が３以下の文字列が占める割合を混成一致率として算出する。
【０１１４】
例えば、図２５に示すように、検索対象文章を分割した３つの文字列と、「hogehoge.com」、「tenkitenki.com」という２つのＵＲＬから取得された３つの文字列との間の編集距離が全て３以下の場合、算出部３５は、混成一致率は１００％（３／３）であると算出する。
【０１１５】
また、例えば、図２６に示すように、検索対象文章を分割した３つの文字列と、「hogehoge.com」、「tenkitenki.com」という２つのＵＲＬから取得された３つの文字列との間の編集距離が、２つの文字列は３以下であるが残りの１つの文字列では３より大きくなっている場合、算出部３５は、混成一致率は約６６％（２／３）であると算出する。
【０１１６】
最後にこのような検索結果例に基づいて、ユーザの端末装置２０の画面上において検索結果を示す際の表示例を図２７に示す。
【０１１７】
図２７では、総合判定として、上記で説明した混成一致率が、コピー元のＵＲＬの情報とともに表示されている。また、検索対象の文章が、複数のＵＲＬに掲載されている文章を組み合わせて複製されている可能性の度合いを「コピーの疑い」、「要注意」、「良好（コピーの疑いは低い）」という３段階で表示する場合が示されている。
【０１１８】
さらに、図２７では、ＵＲＬ毎の一致率および類似度とともに、各ＵＲＬに掲載されている文章から複製されている可能性の度合いを、「コピーの疑い」、「要注意」、「良好（コピーの疑いは低い）」という３段階で表示する場合が示されている。
【０１１９】
上記のような３段階の表示は、混成一致率、一致率または類似度の値のみに基づいて判定しても良いし、複数の値を用いて判定するようにしても良い。
【０１２０】
本実施形態の類似文章検索システムによれば、ユーザは、検索を行うとする文章を入力するだけで、検索対象の文章と類似する文章をインターネット上の文章の中から容易に把握することが可能となる。
【符号の説明】
【０１２１】
１０    類似文章検索サーバ
１１    ＣＰＵ
１２    メモリ
１３    記憶装置
１４    通信インタフェース
１５    ユーザインタフェース装置
１６    制御バス
２０    端末装置
３０    インターネット
３１    分割処理部
３２    検索処理部
３３    検索結果取得部
３４    データ送受信部
３５    算出部
３６    表示処理部
３７    データ格納部
４０    Ｗｅｂサーバ
【要約】      （修正有）【課題】インターネット上の文章の中から、検索対象の文章と類似する文章を検索する類似文章検索装置及びプログラムを提供する。【解決手段】類似文章検索サーバ１０は、検索対象の文章をインターネットによる検索に適した文字数の文字列に分割する分割処理部３１と、分割された文字列をキーワードとしてインターネットによる検索を行うことにより、その文字列が含まれた文章が掲載されたＵＲＬをそれぞれ検索する検索処理部３２と、得られた複数のＵＲＬとそのＵＲＬに登録されている情報をそれぞれ取得する検索結果取得部３３と、検索結果取得部３３により取得された複数の情報における検索したキーワードとの一致部分を連結することにより得られた文章と、検索対象の文章との一致率を算出する算出部３５と、算出された一致率とともに検索処理部３２により得られたＵＲＬをユーザが操作している端末装置２０上に表示する表示処理部３６と、を備える。【選択図】図３【図１】
0006695538.tif 000002
【図２】
0006695538.tif 000003
【図３】
0006695538.tif 000004
【図４】
0006695538.tif 000005
【図５】
0006695538.tif 000006
【図６】
0006695538.tif 000007
【図７】
0006695538.tif 000008
【図８】
0006695538.tif 000009
【図９】
0006695538.tif 000010
【図１０】
0006695538.tif 000011
【図１１】
0006695538.tif 000012
【図１２】
0006695538.tif 000013
【図１３】
0006695538.tif 000014
【図１４】
0006695538.tif 000015
【図１５】
0006695538.tif 000016
【図１６】
0006695538.tif 000017
【図１７】
0006695538.tif 000018
【図１８】
0006695538.tif 000019
【図１９】
0006695538.tif 000020
【図２０】
0006695538.tif 000021
【図２１】
0006695538.tif 000022
【図２２】
0006695538.tif 000023
【図２３】
0006695538.tif 000024
【図２４】
0006695538.tif 000025
【図２５】
0006695538.tif 000026
【図２６】
0006695538.tif 000027
【図２７】
0006695538.tif 000028