10

PDF ファイルからテキストを抽出するツールは数多くあります [1-4]。しかし、ほとんどの科学論文の問題は、PDF に直接アクセスするのが難しいことです。bibtex 情報だけでなく、メタデータや bibtex などの論文情報に簡単にアクセスできるツールがあります[5-6]。私が望むのは、一歩前進して、bibtex/メタデータだけを超えたものになることです。

出版物の PDF ファイルに直接アクセスできないと仮定すると、論文の DOI またはタイトルが与えられた科学論文の少なくとも要約を取得する方法はありますか? 私の検索では、同様の目的でいくつかの試み [7] があることがわかりました。科学論文の要約または全文を取得/抽出するのに役立つウェブサイト/ツールを知っている人はいますか? そのようなツールがない場合、この問題を解決した後にどうすればよいか、いくつか提案をいただけますか?

ありがとうございました

[1] http://stackoverflow.com/questions/1813427/extracting-information-from-pdfs-of-research-papers
[2] https://stackoverflow.com/questions/6731735/extracting-the-actual-in-text-title-from-a-pdf
[3] http://stackoverflow.com/questions/6731735/extracting-the-actual-in-text-title-from-a-pdf?lq=1
[4] http://stackoverflow.com/questions/14291856/extracting-article-contents-from-pdf-magazines?rq=1
[5] https://stackoverflow.com/questions/10507049/get-metadata-from-doi
[6] https://github.com/venthur/gscholar
[7] https://stackoverflow.com/questions/15768499/extract-text-from-google-scholar
4

4 に答える 4

6

相互参照テキストおよびデータマイニング (tdm) サービス ( http://tdmsupport.crossref.org/ ) を見ることができます。この組織は RESTful API を無料で提供しています。この tdm サービスには 4000 を超えるパブリッシャーが貢献しています。以下のリンクからいくつかの例を見つけることができます。

https://github.com/CrossRef/rest-api-doc/blob/master/rest_api_tour.md

しかし、非常に簡単な例を挙げると:

リンク先に行くと

http://api.crossref.org/works/10.1080/10260220290013453

いくつかの基本的なメタデータの他に、ライセンスとリンクの 2 つのメタデータがあり、前者はこの出版物がどのような種類のライセンスの下で提供されているかを示し、後者は全文の URL を示しています。この例では、ライセンス メタデータで、ライセンスがクリエイティブ コモンズ (CC) であることがわかります。これは、tdm 目的で自由に使用できることを意味します。crossref 内で CC ライセンスのある出版物を検索することにより、何十万もの出版物に全文を含めてアクセスできます。私の最新の調査によると、ヒンダウィ出版は最も親しみやすい出版社であると言えます。彼らでさえ、CC ライセンスで 100K 以上の出版物を提供しています。最後に、全文が xml または pdf 形式で提供される可能性があることです。これらの xml 形式は高度に構造化されているため、データを簡単に抽出できます。

要約すると、API を使用して GET 要求を記述するだけで、crossref tdm サービスを介して多くの全文に自動的にアクセスできます。さらに質問がある場合は、遠慮なく質問してください。

乾杯。

于 2015-08-11T12:13:15.950 に答える
1

curl を使用する (私の Linux で動作します):

curl http://api.crossref.org/works/10.1080/10260220290013453 2>&1  | # doi after works    
grep -o -P '(?<=abstract":").*?(?=","DOI)' | # get text between abstract":" and ","DOI
sed -E 's/<jats:p>|<\\\/jats:p>/\n/g'      | # substitute paragraph tags 
sed 's/<[^>]*>/ /g'                          # remove other tags

# add "echo" to show unicode characters

echo -e $(curl http://api.crossref.org/works/10.1155/2016/3845247 2>&1  | # doi after works    
grep -o -P '(?<=abstract":").*?(?=","DOI)' | # get text between abstract":" and ","DOI
sed -E 's/<jats:p>|<\\\/jats:p>/\n/g'      | # substitute paragraph tags 
sed 's/<[^>]*>/ /g')                         # remove other tags

Rを使用:

library(rcrossref)
cr_abstract(doi = '10.1109/TASC.2010.2088091')
于 2021-01-09T23:32:51.127 に答える