JP6695538B1 - 類似文章検索装置およびプログラム - Google Patents

類似文章検索装置およびプログラム Download PDF

Info

Publication number
JP6695538B1
JP6695538B1 JP2019139293A JP2019139293A JP6695538B1 JP 6695538 B1 JP6695538 B1 JP 6695538B1 JP 2019139293 A JP2019139293 A JP 2019139293A JP 2019139293 A JP2019139293 A JP 2019139293A JP 6695538 B1 JP6695538 B1 JP 6695538B1
Authority
JP
Japan
Prior art keywords
sentence
search
character string
url
characters
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
JP2019139293A
Other languages
English (en)
Other versions
JP2021022252A (ja
Inventor
純人 梅田
純人 梅田
Original Assignee
株式会社ウェブサークル
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 株式会社ウェブサークル filed Critical 株式会社ウェブサークル
Priority to JP2019139293A priority Critical patent/JP6695538B1/ja
Application granted granted Critical
Publication of JP6695538B1 publication Critical patent/JP6695538B1/ja
Publication of JP2021022252A publication Critical patent/JP2021022252A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】インターネット上の文章の中から、検索対象の文章と類似する文章を検索する類似文章検索装置及びプログラムを提供する。【解決手段】類似文章検索サーバ10は、検索対象の文章をインターネットによる検索に適した文字数の文字列に分割する分割処理部31と、分割された文字列をキーワードとしてインターネットによる検索を行うことにより、その文字列が含まれた文章が掲載されたURLをそれぞれ検索する検索処理部32と、得られた複数のURLとそのURLに登録されている情報をそれぞれ取得する検索結果取得部33と、検索結果取得部33により取得された複数の情報における検索したキーワードとの一致部分を連結することにより得られた文章と、検索対象の文章との一致率を算出する算出部35と、算出された一致率とともに検索処理部32により得られたURLをユーザが操作している端末装置20上に表示する表示処理部36と、を備える。【選択図】図3

Description

本発明は、検索対象の文章と類似する文章を検索する類似文章検索装置およびプログラムに関する。
近年、学生等が提出するレポートや論文の内容を、インターネット上の文章から複製することが問題となっている。また、Webページに掲載している文章を他のWebページの記載から盗用するようなことも発生して問題となっている。
これらの文章の盗用では、複製元の文章全体をコピーするだけでなく、その文章の一部をコピーしたり、コピーした文章の一部の表現を替えたりするようなことが行われている。
従来、2つの文章間の類似度合いを文章間距離として算出して、2つの文章がどれだけ類似しているかを客観的に把握するような技術が提案されている(例えば、特許文献1、2参照。)。
しかし、このような従来技術では、複製が疑われる文章間での類似度を算出するものであり、ある文章がインターネット上の他の文章から盗用されたものであるのか、またはある文章と類似する文章がインターネット上に存在するのか否かを検索することができなかった。
そこで、ある文章と類似する文章がインターネット上に存在するか否かを検索するような各種ソフトウェアサービスが提供されている(例えば、非特許文献1参照。)
特開2009−122942号公報 特開2011−175568号公報
"剽窃チェッカー"、[online]、[令和元年7月2日検索」、インターネット「URL:http://plagiarism.strud.net/」
上述したような各種ソフトウェアサービスでは、既存のインターネットの検索エンジン(検索ソフトウェア)を利用することにより、入力された文章と類似する文章を検索している。
しかし、一般的なインターネットの検索エンジンを用いて、インターネット上の文章の中から、検索対象の文章と類似する文章を探そうとした場合、文章全体をキーワードとして検索することはできない。それぞれの検索エンジンには、検索可能なキーワードの仕様により文字数の上限が設定されている場合もある。
そこで、検索エンジンを用いる場合には、検索対象の文章を分割して検索を行うことになるが、文章をあまり短すぎる文字列に分割して検索を行った場合、短すぎる文字列が単語として認識されて検索が行われてしまい、検索結果が膨大な数となってしまう。
また、文字数をあまり多くして検索を行った場合、具体的には、25〜30文字程度よりも文字数が多い文章をキーワードとして検索を実行した場合、「検索結果が見つからない」という結果しか得られない場合が多い。
そのため、上述したような従来の検索システムでは、入力された文章を1文単位で分割して、分割した単位毎にインターネットで検索を行って、その検索結果を分割した単位毎に表示するようなものであった。
しかし、句読点を1文の区切りと判定して、入力された文章を1文単位で区切った場合、1文が数10文字にもなるような場合、適切な検索結果が得られないという問題が発生する。また、予め設定された文字数で文章を区切ったのでは、単語が途中で別れてしまい意味が不明な文字列となってしまう可能性がある。
特に、日本語は分かち書きの文章ではないため、単語間の区切りが明瞭でなく単に文字数で区切った場合、意味が不明な文字列となり易い。
さらに、例えば検索結果がURL(Uniform Resource Locator)で表示されるような場合、分割した1文毎にURLが表示されたとしても、どのURLに記載された文章が検索対象の文章と最も類似する文章であるのかを容易に把握することができない。具体的には、20文から構成される文章を検索した場合、20の文章毎にそれぞれ複数のURLが表示されたとしても、検索対象の文章と最も類似した文章が掲載されたURLがどれであるのか、また検索対象の文章がその文章とどの程度類似しているのかが分からないという問題がある。
本発明の目的は、検索対象の文章と類似する文章をインターネット上の文章の中から検索する場合に、検索対象の文章と類似する文章を容易に把握することが可能な類似文章検索装置およびプログラムを提供することである。
本発明は、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する分割手段と、
前記分割手段により分割された文字列をキーワードとしてインターネットによる検索を行うことにより、当該文字列が含まれた文章が掲載されたURLを検索する検索手段と、
前記検索手段により得られたURLと当該URLに登録されている情報を取得する取得手段と、
前記取得手段により取得された情報における検索したキーワードとの一致部分の文章と、前記検索対象の文章との一致率を算出する算出手段と、
前記算出手段により算出された一致率とともに前記検索手段により得られたURLを表示する表示手段とを備えた類似文章検索装置である。
本発明では、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割してから、それぞれの文字列をキーワードとしてインターネットによる検索を行って、得られた検索結果に基づいてURL毎に一致率を算出して表示するようにしているので、ユーザは、検索対象の文章と最も類似する可能性が高い文章が掲載されたURLを容易に把握することが可能となる。
また、本発明の他の類似文章検索装置では、前記分割手段は、検索対象の文章に対して形態素解析を行うことにより当該文章を品詞単位の単語に分割し、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化して、グループ化した単語どうしを、文字数が予め設定された文字数となるまで結合することにより、検索対象の文章をインターネットによる検索に適した文字数の文字列に分割するようにしても良い。
また、本発明の他の類似文章検索装置では、前記分割手段は、グループ化した単度どうしを結合する際に、句点または読点が文字列の最後となった場合には、前記文字数よりも少ない文字数まで複数の単語を結合した時点で、グループ化した単語どうしの結合を終了するようにしても良い。
また、本発明の他の類似文章検索装置では、前記表示手段は、前記検索手段により得られた複数のURLを、前記算出手段により算出された一致率が高い順に表示するようにしても良い。
また、本発明の他の類似文章検索装置では、前記算出手段は、前記取得手段により取得された複数の情報における検索したキーワードとの一致部分の文字列と、前記分割手段により分割された文字列との編集距離をそれぞれ算出して、算出された編集距離が予め設定された値以下となる文字列の割合を類似度として算出し、
前記表示手段は、前記算出手段により算出された類似度とともに前記検索手段により得られたURLを表示するようにしても良い。
また、本発明の他の類似文章検索装置では、前記算出手段は、前記取得手段により複数のURLから取得された複数の情報における検索したキーワードとの一致部分の文字列と、前記分割手段により分割された文字列との編集距離をそれぞれ算出して、複数のURLから取得された文字列を組み合わせた複数の文字列における、算出された編集距離が予め設定された値以下となる文字列の割合を混成一致(商標登録出願中)率として算出し、
前記表示手段は、前記算出手段により算出された混成一致率を表示するようにしても良い。
また、本発明の類似文章検索装置では、前記取得手段により取得される情報を、URLに対して登録されているディスクリプション情報としても良い。
また、本発明の類似文章検索装置では、前記取得手段により取得される情報を、URLにアクセスして取得した文章情報としても良い。
さらに、本発明は、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する分割ステップと、
前記分割ステップにおいて分割された文字列をキーワードとしてインターネットによる検索を行うことにより、当該文字列が含まれた文章が掲載されたURLを検索する検索ステップと、
前記検索ステップにおいて得られたURLと当該URLに登録されている情報を取得する取得ステップと、
前記取得ステップにおいて取得された情報における検索したキーワードとの一致部分の文章と、前記検索対象の文章との一致率を算出する算出ステップと、
前記算出ステップにおいて算出された一致率とともに前記検索ステップにおいて得られたURLを表示する表示ステップとをコンピュータに実行させるためのプログラムである。
本発明によれば、検索対象の文章と類似する文章をインターネット上の文章の中から検索する場合に、検索対象の文章と類似する文章を容易に把握することが可能になるという効果を得ることができる。
本発明の一実施形態の類似文章検索システムのシステム構成を示す図である。 本発明の一実施形態における類似文章検索サーバ10のハードウェア構成を示すブロック図である。 本発明の一実施形態における類似文章検索サーバ10の機能構成を示すブロック図である。 本発明の一実施形態の類似文章検索サーバ10の全体動作を説明するためのフローチャートである。 ユーザが端末装置20を操作してインターネット30上に類似する文章が存在するか否かを検索したい文章を入力する様子を示す図である。 分割処理部31による検索に適した文字数の文字列の生成処理(ステップS102の処理)の詳細を説明するためのフローチャートである。 検索対象の文章に対して形態素解析を行うことにより、この文章を品詞毎に分割する様子を説明するための図である。 区切りの品詞例を説明するための図である。 分割した単語とその品詞および区切りの品詞に該当するか否かを説明するための図である。 区切りの品詞に基づいて分割された単語をグループ化する様子を説明するための図である。 インターネットで検索するための文字列の生成例を示す図である。 形態素解析を行わずに文字数で分割した場合の例を示す図である。 検索結果取得部33が、文字列が記載されたURLとディスクリプション情報を取得する際の様子を説明するための図である。 それぞれのURLから強調文字部分が取得された際の検索結果例を示す図である。 URL毎に取得された文字列をまとめた例を示す図である。 一致率の算出例を説明するための図である。 一致率の算出例を説明するための図である。 類似度の算出例を説明するための図である。 URL毎に一致率および類似度が算出された場合の一例を示す図である。 図5に示した操作画面例において入力した文章に対して分割処理を行って検索を行うための文字列を生成した場合の一例を示す図である。 分割された各文字列をキーワードとしてインターネットによる検索を行った場合の検索結果例を示す図である。 分割された各文字列をキーワードとしてインターネットによる検索を行った場合の検索結果例を示す図である。 図21、図22の検索結果例をURL毎にまとめて、それぞれのURLに対する一致率と類似度を算出した場合の算出例を示す図である。 混成一致率の算出方法を説明するための図である。 混成一致率の具体的な算出例を示す図である。 混成一致率の具体的な算出例を示す図である。 ユーザの端末装置20の画面上において検索結果を示す際の表示例を示す図である。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図1は本発明の一実施形態の類似文章検索システムのシステム構成を示す図である。
本発明の一実施形態の類似文章検索システムは、図1に示されるように、類似文章検索サーバ10と、Webサーバ40と、端末装置20とがインターネット30により相互に接続された構成となっている。
類似文章検索サーバ10は、インターネット30経由にて類似文章検索サービスをユーザに提供する類似文章検索装置である。Webサーバ40は、インターネット30を介して、様々なサービスの提供やWebページの提供を行っている。そして、端末装置20は、Webサーバ40や類似文章検索サーバ10により提供される各種サービス等を利用するユーザにより、操作されるパーソナルコンピュータ等の装置である。
ユーザが端末装置20を操作して、類似文章検索サーバ10にアクセスして類似文章の検索を行いたい文章を入力することにより、入力した検索対象の文章と類似する文章がインターネット上に存在するか否かの検索が実行される。
次に、本実施形態の類似文章検索システムにおける類似文章検索サーバ10のハードウェア構成を図2に示す。
類似文章検索サーバ10は、図2に示されるように、CPU11、メモリ12、ハードディスクドライブ等の記憶装置13、ネットワーク30を介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース(IF)14、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース(UI)装置15を有する。これらの構成要素は、制御バス16を介して互いに接続されている。
CPU11は、メモリ12または記憶装置13に格納された制御プログラムに基づいて所定の処理を実行して、類似文章検索サーバ10の動作を制御する。なお、本実施形態では、CPU11は、メモリ12または記憶装置13内に格納された制御プログラムを読み出して実行するものとして説明するが、当該プログラムをCD−ROM等の記憶媒体に格納してCPU11に提供することも可能である。
図3は、上記の制御プログラムが実行されることにより実現される類似文章検索サーバ10の機能構成を示すブロック図である。
本実施形態の類似文章検索サーバ10は、図3に示されるように、分割処理部31と、検索処理部32と、検索結果取得部33と、データ送受信部34と、算出部35と、表示処理部36と、データ格納部37とを備えている。
分割処理部31は、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する。具体的には、分割処理部31は、検索対象の文章に対して形態素解析を行うことによりその文章を品詞単位の単語に分割し、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化して、グループ化した単語どうしを、文字数が予め設定された文字数、例えば26文字となるまで結合することにより、検索対象の文章をインターネットによる検索に適した文字数の文字列に分割する。
なお、分割処理部31は、グループ化した単度どうしを結合する際に、句点または読点が文字列の最後となった場合には、上記の文字数よりも少ない文字数、例えば13文字まで複数の単語を結合した時点で、グループ化した単語どうしの結合を終了する。さらに、文章の最後の文字列が13文字以下となった場合には、短すぎるため前の文字列と合成して1つの文字列とする。
検索処理部32は、分割処理部31により分割された文字列をキーワードとしてインターネットによる検索を行うことにより、その文字列が含まれた文章が掲載されたURL(Uniform Resource Locator)をそれぞれ検索する。
検索結果取得部33は、検索処理部32により得られた複数のURLとそのURLに登録されている情報をそれぞれ取得する。
なお、本実施形態では、検索結果取得部33により取得される情報が、URLに対して登録されているディスクリプション情報(説明情報)である場合について説明する。しかし、検索結果取得部33により取得される情報を、URLにアクセスして取得した文章情報としても良い。
具体的には、分割処理部31により分割された文字列が含まれた文章が掲載されたURLが、検索処理部32により検索された場合には、検索結果取得部33は、そのURLをクロールすることにより、つまりそのURLにアクセスしてURLに掲載された文章を取得するようにしても良い。
ただし、上記でも説明したように、本実施形態においては、検索結果取得部33は、検索処理部32により得られた複数のURLとそのURLに登録されているディスクリプション情報をそれぞれ取得するものとして説明する。
データ送受信部34は、インターネット30を介して端末装置20やWebサーバ40との間でデータの送受信を行う。
算出部35は、検索結果取得部33により取得された複数のディスクリプション情報における検索したキーワードとの一致部分を連結することにより得られた文章と、検索対象の文章との一致率を算出する。
表示処理部36は、算出部35により算出された一致率とともに検索処理部32により得られたURLをユーザが操作している端末装置20上に表示する。なお、本実施形態では、表示処理部36は、検索処理部32により得られた複数のURLを、算出部35により算出された一致率が高い順に表示する。
さらに、算出部35は、検索結果取得部33により取得された複数のディスクリプション情報における検索したキーワードとの一致部分の文字列と、分割処理部31により分割された文字列との編集距離をそれぞれ算出して、算出された編集距離が予め設定された値以下となる文字列の割合を類似度として算出する。
この場合には、表示処理部36は、算出部35により算出された類似度とともに検索処理部32により得られたURLを表示するようにしても良い。
さらに、算出部35は、検索結果取得部33によって複数のURLから取得された複数のディスクリプション情報における検索したキーワードとの一致部分の文字列と、分割処理部31により分割された文字列との編集距離をそれぞれ算出して、複数のURLから取得された文字列を組み合わせた複数の文字列における、算出された編集距離が予め設定された値以下となる文字列の割合を混成一致率として算出するようにしても良い。
この場合には、表示処理部36は、算出部35により算出された混成一致率を表示するようにしても良い。
データ格納部37は、検索対象の文章や、検索処理部32により得られたURL情報や、検索結果取得部33により得られた各URLのディスクリプション情報等の各種情報を一時的に格納する。
次に、本実施形態の類似文章検索サーバ10の動作について図面を参照して詳細に説明する。
先ず、本実施形態の類似文章検索サーバ10の動作全体の流れを図4のフローチャートを参照して説明する。
ユーザが端末装置20を操作してインターネット30上に類似する文章が存在するか否かを検索したい文章を入力する様子を図5に示す。図5に示した端末装置20における操作画面例では、ユーザが検索をしたい文章全体を入力欄に入力する様子が示されている。そして、ユーザがこの操作画面における開始ボタンを操作することにより、入力された検索対象の文章に対する類似文章検索サーバ10の検索処理が開始される。
先ず、類似文章検索サーバ10では、分割処理部31によって、検索対象の文章が形態素解析により品詞単位の単語に分割される(ステップS101)。
そして、分割処理部31は、品詞単位で分割した単語をまとめることにより検索エンジンによる検索に適した文字数の文字列を生成する(ステップS102)。
ここで、インターネット30上のURLを検索する検索エンジンでは、その仕様により、検索キーワードが短すぎると文章としてではなく単語として認識してしまう。また、文字数が長すぎると、そもそも検索エンジンによる検索では検索結果がエラーとなってしまい適切な検索を行うことができない。具体的には、25文字〜30文字程度の文字数を超えると、検索エンジンからは「検索結果がない」旨が返されることが多くなる。
そのため、分割処理部31は、このような検索エンジンにより文章の検索が適切に行われるような文字数の文字列を生成する。
次に、この分割処理部31による検索に適した文字数の文字列の生成処理(ステップS102の処理)の詳細を図6のフローチャートを参照して説明する。
先ず、分割処理部31は、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化する(ステップS201)。
そして、分割処理部31は、グループ化した単語どうしを1つずつ順次結合する(ステップS202)。
ここで、分割処理部31は、最後が「、」又は「。」でかつ文字数が13文字以上となった場合(ステップS203)、文字数が26文字以上となった場合(ステップS204)、それまでに結合した単語を、検索を行う文字列として生成する(ステップS205)。
そして、分割処理部31は、グループ化した単語が全て終了するまで、ステップS202〜S205の処理を繰り返し、グループ化した単語が全て終了すると(ステップS206においてyes)、それまでに結合した単語を、検索を行う文字列として生成する(ステップS207)。
なお、分割処理部31は、生成された最後の文字列が13文字以下の場合には、その直前の文字列と合成して1つの文字列とする(ステップS208)。
このような文字列の生成処理の具体例を図7〜図11を参照して説明する。
以下の説明では、図7に示すような「今日は、とても良い天気ですね。でも、午後からは雨が降りそうです。」という文章に対して上記のような分割処理を行う場合について説明する。
先ず、この文章に形態素解析を行うことにより、上記の文章は、「今日/は/、/とても/良い/天気/です/ね/。/でも/、/午後/から/は/雨/が/降り/そう/です/。」というように品詞毎に分割される。
そして、上記のように品詞毎に分割された単語を、区切りの品詞毎に区切ってグループ化する。ここでは、図8に示すような品詞を区切りの品詞として設定した場合について説明する。
先ず、図7に示したような品詞毎に分割した単語について、その品詞と区切りの品詞に該当するか否かを図9に示す。
図9では、例えば、「今日」という単語の品詞は名詞、普通名詞であり、区切りの品詞には該当しないことが示されている。しかし、次の「は」という単語の品詞は助詞、係助詞であり、区切りの品詞に該当することが示されている。
そのため、分割処理部31は、「今日」、「は」という2つの単語をグループ化して1つの単語とする。このようにして品詞毎に分割された単語がグループ化された様子を図10に示す。
図10では、「今日は」、「、」、「とても良い天気ですね」、「。」、「で」、「も」、「、」「午後から」、「は」、「雨が」、「降りそうです」、「。」という単語にグループ化されているのが分かる。
そして、このグループ化された単語に基づいて、図6のフローチャートに基づく処理により、検索を行うための文字列を生成した結果を図11に示す。
図11では、「今日は、とても良い天気ですね。でも、午後からは雨が降りそうです。」という文章が、「今日は、とても良い天気ですね。」(15文字)、「でも、午後からは雨が降りそうです。」(17文字)という2つの文字列に分割されているのが分かる。
なお、図11では、結果的には検索対象の文章が句点「。」によって2つの文字列に分割されたものとなっているが、上記では説明を簡単にするために検索対象の文章を単純なものとしており、1文が数十文字となるような文章の場合には単に句点で区切ったものと、上記のような処理によって区切ったものとでは同じになるわけではない。
ここで、もし形態素解析を行わずに単純に一定の文字数で文章を分割した場合の一例を図12に示す。
図12を参照すると、10文字毎に文章を分割した場合の例が記載されており、「今日は、とても良い天」、「気ですね。でも、午後」、「からは雨が降りそうで」、「す。」というように意味をなさない文字列となってしまっているのが分かる。
次に、図4のフローチャートに戻って説明を行うと、検索処理部32は生成された文字列をキーワードとして用いて検索エンジンによる検索を実行すると、検索結果取得部33は、その文字列が記載されたURLとディスクリプション情報を取得する(ステップS103)。
具体的には、検索処理部32が「今日は、とても良い天気ですね。」という文字列をキーワードとして検索を行うことにより、図13に示されるような検索結果が得られる。
この図13に示された検索結果例では、「https://hogehoge.com/」というURLとともに、このURLに登録されている説明情報であるディスクリプション情報が得られているのが分かる。そして、このディスクリプション情報において、検索の際に使用されたキーワードと一致する文字が強調文字として表示されている。
このようにしてそれぞれのURLから強調文字部分が取得された際の検索結果例を図14に示す。図14では、「今日は、とても良い天気ですね。」という文字列をキーワードとして検索した際の検索結果、および「でも、午後からは雨が降りそうです。」という文字列をキーワードとして検索した際の検索結果の一例が示されている。
なお、図14では、それぞれのURLに登録されているディスクリプション情報の強調文字部分の文字列と、キーワードとして用いた文字列との編集距離を算出した結果がそれぞれ示されている。
ここで、編集距離とは、2つの文字列がどの程度異なっているかを示すための値であり、例えばレーベンシュタイン距離と呼ばれる値が該当する。具体的には、1文字の挿入・削除・置換によって、一方の文字列を他方の文字列に変形するために必要となる最小の手順の回数として定義されている。
次に、算出部35は、各URLのディスクリプション情報から取得した強調文字を形態素解析により品詞毎に分割して、同じURL毎にまとめる(ステップS104)。このようにしてURL毎に取得された文字列をまとめた例を図15に示す。
図15を参照すると、URL毎に取得された文字列がまとめられているのが分かる。例えば、「https://hogehoge.com/」というURLからは、「今日は、とても良い天気ですね。」という文字列と、「でも、午後からは雨が降りそうです。」という文字列とが取得されたため、この2つの文字列をまとめて、「今日は、とても良い天気ですね。でも、午後からは雨が降りそうです。」という文章となっているのが分かる。
そして、算出部35は、このようにしてURL毎にまとめた文章と、検索対象の文章との一致率を算出する(ステップS105)。この一致率の算出例を図16、図17を参照して説明する。
図16に示した算出例では、「https://hogehoge.com/」というURLから取得された文章と、検索対象の文章との一致率を算出した場合が示されている。図16では、検索対象の文章から、形態素解析で分割した単語単位で、URL毎にまとめた文章と一致する単語を削除した結果、全ての単語が一致して削除されている。
つまり、32文字中32文字が削除されているため、算出部35は、一致率は100%(32/32)であると算出する。
図17に示した算出例では、「https://test2.com/」というURLから取得された文章と、検索対象の文章との一致率を算出した場合が示されている。図17では、検索対象の文章から、形態素解析で分割した単語単位で、URL毎にまとめた文章と一致する単語を削除した結果、「降り」、「そう」以外の全ての単語が一致して削除されている。
つまり、32文字中28文字が削除されているため、算出部35は、一致率は約88%(28/32)であると算出する。
次に、算出部35は、検索対象の文章を分割した文字列と、各URLから取得したディスクリプションにおける強調文字との間の編集距離に基づいて類似度を算出する(ステップS106)。
この類似度の算出例について図18を参照して説明する。この図18では、検索対象の文章が「今日は、とても良い天気ですね。」、「でも、午後からは雨が降りそうです。」。「しかし、明日は晴れるかもしれません。」、「明日が晴れることを祈っています。」という4つの文字列に分割されたものとして説明する。
そして、この4つの文字列と、ディスクリプションから取得された各文字列との編集距離が、例えば図18に示すようにそれぞれ「0」、「3」、「6」、「4」だったものとして説明する。
そして、ここで類似度を、例えば、編集距離が以下の文章が占める割合であると定義した場合、図18に示した例における類似度は50%となる。
このようにしてURL毎に一致率および類似度が算出された場合の一例を図19に示す。図19では、URL毎に一致率および類似度が算出されており、一致率が高い順にURLが並べられているのが分かる。
このようにして、算出部35によりURL毎に一致率および類似度が算出されると、表示処理部36は、検索で見つかったURLの一覧を一致率が高い順番に類似度の情報とともにユーザの端末装置20に表示する(ステップS107)。
なお、上記では説明を簡単にするために簡単な文章を検索対象の文章とした場合について説明したが、以降では実際の文章を検索対象の文章とした場合について説明する。
ここでは、図5に示した操作画面例において入力した文章に対して検索を行った場合を例として用いて説明する。
先ず、この文章に対して分割処理を行って検索を行うための文字列を生成した場合の一例を図20に示す。図20を参照すると、検索対象の文章が「1.登録するコピーチェックしたい文章を[文章を登録]に」、「貼り付けて[チェックする]ボタンを押します。」、「[CSV一括登録]、[テキスト一括登録]から文章一括登録も」、「可能です。コピペチェック文字数は25文字から4,000文字です。」、・・・・という複数の文字列に分割されているのが分かる。
そして、このようにして分割された各文字列をキーワードとしてインターネットによる検索を行った場合の検索結果例を図21、図22に示す。
図21には、「1.登録するコピーチェックしたい文章を[文章を登録]に」、「貼り付けて[チェックする]ボタンを押します。」という文字列を検索キーワードとした場合の検索結果例がそれぞれ示されている。
また、図22には、「[CSV一括登録]、[テキスト一括登録]から文章一括登録も」、「可能です。コピペチェック文字数は25文字から4,000文字です。」という文字列を検索キーワードとした場合の検索結果例がそれぞれ示されている。
そして、このような検索結果例をURL毎にまとめて、上述したような方法によりそれぞれのURLに対する一致率と類似度を算出した場合の算出例を図23に示す。
次に、算出部35が混成一致率を算出する際の具体的な算出方法について、図24〜図26を参照して説明する。
以下の説明では、図24に示すような「今日は、良い天気です。でも、午後からは雨が降るみたいです。今日はよいてんきでした。」という文章を検索対象とした場合について説明する。
そして、この検索対象文章について検索を行った結果、「hogehoge.com」、「test2.com」、「tenkitenki.com」という3つのURLのそれぞれから取得された文字列との編集距離がそれぞれ図24に示すようになっている場合について説明する。ここまでの類似度の算出方法については上記において説明した算出方法と同じである。
図24を参照すると、「今日は、良い天気です。」、「でも、午後からは雨が降るみたいです。」という2つの文字列については、「hogehoge.com」というURLからコピーしたものと推定され、「今日はよいてんきでした。」という文字列については「tenkitenki.com」というURLからコピーしたものと推定される。
そして、このように1つのURLから検索対象文章の全ての文字列がコピーされておらず、複数のURLからコピーされた複数の文字列を組み合わせて検索対象文章を構成しているような場合、上記で説明した一致率や類似度だけではコピーの疑い度合いを精度良く表示できない場合もある。
そのため、本実施形態では、URL毎の一致率や類似度に加えて、検索対象文章が複数のURLからの文字列を組み合わせて構成されている割合を混成一致率として算出するようにしている。
具体的には、検索対象文章を分割して得られた全ての複数の文字列が、いずれかのURLから取得された文字列と編集距離が0となっている場合には、混成一致率は100%となる。
なお、本実施形態では、複数のURLから取得された文字列のうち、検索対象を分割した文字列との編集距離が最も小さい文字列を組みあわせた複数の文字列を比較対象として、検索対象を分割した文字列のうち比較対象の文字列との編集距離が3以下の文字列が占める割合を混成一致率として算出する。
例えば、図25に示すように、検索対象文章を分割した3つの文字列と、「hogehoge.com」、「tenkitenki.com」という2つのURLから取得された3つの文字列との間の編集距離が全て3以下の場合、算出部35は、混成一致率は100%(3/3)であると算出する。
また、例えば、図26に示すように、検索対象文章を分割した3つの文字列と、「hogehoge.com」、「tenkitenki.com」という2つのURLから取得された3つの文字列との間の編集距離が、2つの文字列は3以下であるが残りの1つの文字列では3より大きくなっている場合、算出部35は、混成一致率は約66%(2/3)であると算出する。
最後にこのような検索結果例に基づいて、ユーザの端末装置20の画面上において検索結果を示す際の表示例を図27に示す。
図27では、総合判定として、上記で説明した混成一致率が、コピー元のURLの情報とともに表示されている。また、検索対象の文章が、複数のURLに掲載されている文章を組み合わせて複製されている可能性の度合いを「コピーの疑い」、「要注意」、「良好(コピーの疑いは低い)」という3段階で表示する場合が示されている。
さらに、図27では、URL毎の一致率および類似度とともに、各URLに掲載されている文章から複製されている可能性の度合いを、「コピーの疑い」、「要注意」、「良好(コピーの疑いは低い)」という3段階で表示する場合が示されている。
上記のような3段階の表示は、混成一致率、一致率または類似度の値のみに基づいて判定しても良いし、複数の値を用いて判定するようにしても良い。
本実施形態の類似文章検索システムによれば、ユーザは、検索を行うとする文章を入力するだけで、検索対象の文章と類似する文章をインターネット上の文章の中から容易に把握することが可能となる。
10 類似文章検索サーバ
11 CPU
12 メモリ
13 記憶装置
14 通信インタフェース
15 ユーザインタフェース装置
16 制御バス
20 端末装置
30 インターネット
31 分割処理部
32 検索処理部
33 検索結果取得部
34 データ送受信部
35 算出部
36 表示処理部
37 データ格納部
40 Webサーバ

Claims (4)

  1. 検索対象の文章に対して形態素解析を行うことにより当該文章を品詞単位の単語に分割し、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化して、グループ化した単語どうしを、文字数が予め設定された文字数となるまで結合することにより、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する分割手段と、
    前記分割手段により分割された文字列をキーワードとしてインターネットによる検索を行うことにより、当該文字列が含まれた文章が掲載されたURLをそれぞれ検索する検索手段と、
    前記検索手段により得られた複数のURLと当該URLに登録されているディスクリプション情報をそれぞれ取得する取得手段と、
    前記取得手段により取得された複数のディスクリプション情報における検索したキーワードとの一致部分を連結することにより得られた文章と、前記検索対象の文章との一致率を算出するとともに前記取得手段により複数のURLから取得された複数のディスクリプション情報における検索したキーワードとの一致部分の文字列と、前記分割手段により分割された文字列との編集距離をそれぞれ算出して、複数のURLから取得された文字列を組み合わせた複数の文字列における、算出された編集距離が予め設定された値以下となる文字列の割合を、検索対象の文章が複数のURLからの文字列を組み合わせて構成されている割合を示す混成一致率として算出する算出手段と、
    前記検索手段により得られた複数のURLを前記算出手段により算出された一致率が高い順に表示するとともに前記算出手段により算出された混成一致率を表示する表示手段と、
    を備えた類似文章検索装置。
  2. 前記分割手段は、グループ化した単語どうしを結合する際に、句点または読点が文字列の最後となった場合には、前記文字数よりも少ない文字数まで複数の単語を結合した時点で、グループ化した単語どうしの結合を終了する請求項記載の類似文章検索装置。
  3. 前記算出手段は、前記取得手段により取得された複数の情報における検索したキーワードとの一致部分の文字列と、前記分割手段により分割された文字列との編集距離をそれぞれ算出して、算出された編集距離が予め設定された値以下となる文字列の割合を類似度として算出し、
    前記表示手段は、前記算出手段により算出された類似度とともに前記検索手段により得られたURLを表示する請求項1又は2記載の類似文章検索装置。
  4. 検索対象の文章に対して形態素解析を行うことにより当該文章を品詞単位の単語に分割し、品詞単位で分割した単語を、予め設定された区切りの品詞で区切ることによりグループ化して、グループ化した単語どうしを、文字数が予め設定された文字数となるまで結合することにより、検索対象の文章を、インターネットによる検索に適した文字数の文字列に分割する分割ステップと、
    前記分割ステップにおいて分割された文字列をキーワードとしてインターネットによる検索を行うことにより、当該文字列が含まれた文章が掲載されたURLを検索する検索ステップと、
    前記検索ステップにおいて得られたURLと当該URLに登録されているディスクリプション情報を取得する取得ステップと、
    前記取得ステップにおいて取得されたディスクリプション情報における検索したキーワードとの一致部分を連結することにより得られた文章と、前記検索対象の文章との一致率を算出するとともに前記取得ステップにおいて複数のURLから取得された複数のディスクリプション情報における検索したキーワードとの一致部分の文字列と、前記分割ステップにおいて分割された文字列との編集距離をそれぞれ算出して、複数のURLから取得された文字列を組み合わせた複数の文字列における、算出された編集距離が予め設定された値以下となる文字列の割合を、検索対象の文章が複数のURLからの文字列を組み合わせて構成されている割合を示す混成一致率として算出する算出ステップと、
    前記検索ステップにおいて得られた複数のURLを前記算出ステップにおいて算出された一致率が高い順に表示するとともに前記算出ステップにおいて算出された混成一致率を表示する表示ステップと、
    をコンピュータに実行させるためのプログラム。
JP2019139293A 2019-07-30 2019-07-30 類似文章検索装置およびプログラム Active JP6695538B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019139293A JP6695538B1 (ja) 2019-07-30 2019-07-30 類似文章検索装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019139293A JP6695538B1 (ja) 2019-07-30 2019-07-30 類似文章検索装置およびプログラム

Publications (2)

Publication Number Publication Date
JP6695538B1 true JP6695538B1 (ja) 2020-05-20
JP2021022252A JP2021022252A (ja) 2021-02-18

Family

ID=70682454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019139293A Active JP6695538B1 (ja) 2019-07-30 2019-07-30 類似文章検索装置およびプログラム

Country Status (1)

Country Link
JP (1) JP6695538B1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7823127B2 (en) * 2003-11-25 2010-10-26 Software Analysis And Forensic Engineering Corp. Detecting plagiarism in computer source code
KR100717998B1 (ko) * 2005-12-26 2007-05-15 고려대학교 산학협력단 문서의 표절 검사 방법
JP4838743B2 (ja) * 2007-02-27 2011-12-14 静岡県 類似文章検索プログラム
JP5510912B2 (ja) * 2008-02-01 2014-06-04 学校法人金沢工業大学 引用判定支援装置および引用判定支援プログラム
JP5441760B2 (ja) * 2010-02-25 2014-03-12 三菱電機株式会社 文書間距離算出器および文章検索器
JP2012194647A (ja) * 2011-03-15 2012-10-11 Ricoh Co Ltd 検索装置、検索装置の制御方法及び検索装置の制御プログラム

Also Published As

Publication number Publication date
JP2021022252A (ja) 2021-02-18

Similar Documents

Publication Publication Date Title
US7983902B2 (en) Domain dictionary creation by detection of new topic words using divergence value comparison
JP6461980B2 (ja) 検索結果におけるコヒーレントな質問回答
KR20100047221A (ko) 사전 단어 및 어구 판정
JP2007517338A (ja) サーチ品質の改善システムおよび改善方法
WO2008151466A1 (en) Dictionary word and phrase determination
KR20100052461A (ko) 단어 확률 결정
CN111026319B (zh) 一种智能文本处理方法、装置、电子设备及存储介质
JP2020087353A (ja) 要約文生成方法、要約文生成プログラム及び要約文生成装置
WO2009026850A1 (en) Domain dictionary creation
WO2017004137A1 (en) Systems and methods for automatically creating tables using auto-generated templates
US11651015B2 (en) Method and apparatus for presenting information
US10678820B2 (en) System and method for computerized semantic indexing and searching
WO2023024975A1 (zh) 文本处理方法、装置和电子设备
CN111259262A (zh) 一种信息检索方法、装置、设备及介质
CN103744889A (zh) 一种用于对问题进行聚类处理的方法与装置
CN111194457A (zh) 专利评估判定方法、专利评估判定装置以及专利评估判定程序
CN110866408A (zh) 数据库制作装置以及检索系统
CN114141384A (zh) 用于检索医学数据的方法、设备和介质
JP6868576B2 (ja) 事象提示システムおよび事象提示装置
US9720896B1 (en) Synthesizing union tables from the web
JP6695538B1 (ja) 類似文章検索装置およびプログラム
Yahya et al. Arabic text categorization based on Arabic Wikipedia
CN108614821B (zh) 地质资料互联互查系统
WO2022134824A1 (en) Tuning query generation patterns
JP6488399B2 (ja) 情報提示システム、及び情報提示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190731

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190731

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191225

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: 20200319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200319

R150 Certificate of patent or registration of utility model

Ref document number: 6695538

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250