ASReview (エイエスレビュー)は文献選定作業を大幅に効率化できる、有力なツールであることを以前紹介しました。今回は、重複文献を削除する deduplicateの方法を紹介します。PubMed, Cochrane CENTRAL, Embase, その他の複数のデータベースを用いると、研究論文が重複していることは当然起きます。これらを自動的に除去する方法の一つです。この投稿のPDFのスライドはこちらです。
① まず、文献情報(No, Reference ID, Citation, Title, Abstractなどの情報を含む)のExcel のxlsxファイルを用意します。一行一文献で、一行目にラベルを入力します。

② コマンドプロンプトを起動します。ツールバーの検索フィールドにコマンドプロンプトと書き込むと、アイコンが表示されるので、それをクリックして起動します。

③ ASReviewをインストールします。 以下のコードをコマンドプロンプトに書き込んでEnterキーを押します。Ruquirement already satisfied:・・・・・と出力され、次のコードを待機する状態になります。
pip install asreview


もし、pythonをインストールしていない場合は、ダウンロード、インストールはこちらのサイトから。
④ Pythonを起動します。そのために、以下のコードをコマンドプロンプトに書き込んでEnterキーを押します。
python
⑤ ASReviewData関数を読み込みます。そのために、以下のコードをコマンドプロンプトに書き込んでEnterキーを押します。
from asreview import ASReviewData
⑥ 元のExcelファイルのパスを取得します。一つの方法はファイルのアイコンを右クリックしてパスのコピーを選択します。それにより、パスがクリップボードに格納されます。
⑧ 元のExcelファイルを変数datに読み込みます。まず、以下のコードをメモ帳などのテキストエディターに貼り付けて、”ファイルPath”の部分を選択して貼り付け(Ctr+V)でクリップボードに格納されているパスに置き換えます。
dat = ASReviewData.from_file("ファイルPath")
メモ帳に貼り付けてクリップボードの内容に”ファイルPath”を置き換えた例。ファイルまでのパスはそれぞれのPCによって異なります。ファイル名dce-36-with-dup.xlsx:

さらに、¥の部分を¥¥に置き換えます。編集メニューから置換を利用すると簡単です。修正したコードをコマンドプロンプトに書き込んで(コピー・貼り付け)、Enterキーを押します。これで、変数datにExcelの内容が書き込まれます。

⑨ Deduplicateを実行し結果を変数dedup_datに格納します。以下のコードをコマンドプロンプトに書き込んで、Enterキーを押します。
dedup_dat = dat.drop_duplicates()
⑩ dedup_datをExcelファイルとして保存します。
以下のコードをメモ帳に貼り付けて、”ファイルPath”を元ファイルのパスに置き換えて、ファイル名の部分を書き換えます。
dedup_dat.to_excel("ファイルPath")
例:メモ帳に貼り付けてクリップボードの内容に”ファイルPath”を置き換え、ファイル名を書き換えた例。ファイル名dce-36-without-dup.xlsx:

これで、重複文献を除外したExcelファイルが元のExcelファイルのフォルダ内にできました。
-------
コマンドプロンプトで実行するコードは以下の通りです。これらを1行ずつ実行しますが、全部を一度メモ帳にコピペして、ファイルパスの部分を書き換えてから、1行ずつコマンドプロンプトにコピペして実行するのがいいと思います。
pip install asreview
python
from asreview import ASReviewData
dat = ASReviewData.from_file("ファイルPath\\ファイル名-with-dup.xlsx")
dedup_dat = dat.drop_duplicates()
dedup_dat.to_excel("ファイルPath\\ファイル名-without-dup.xlsx")
Excelファイルを読み込むコードとExcelファイルに保存するコードの部分は、あらかじめファイルパスの部分を書き換えてから、コマンドプロンプトにコピペして実行するようにします。Excelファイルとして保存する際にファイル名を変えないと、元ファイルに上書きされるので、気を付けましょう。ファイルパスをファイルアイコンの右クリックでクリップボードに格納されたパスは区切り文字が¥(または\と表示される)一個ですが、それを¥¥二個にする必要があります。また¥は半角文字です。
重複の判定は、タイトル、抄録の類似性から行うわけですが、デフォルトでは95%の一致で除去する設定だそうです。