目的
Materials Infomaticsの最近のトレンドが把握したいけど、英語が苦手で論文のタイトルすら読むのがしんどい。そんなことを思っていると、arxivやDeepLのAPIがあることが判明。
パナソニックHD 横山氏ツイート
早速使ってみた。
結果
とても使いやすくて、結果も閲覧しやすかった。
ただし、5分で、1ヶ月上限の50万字を突破してしまった。
有料会員は、¥630+¥2500/100万文字。
このペースだと、¥30,000/時間のペースで破産しかねないので、有料会員は一旦見送り。
DeepLのAPI取得
DeepLのユーザー登録をして、APIを取得。無料版だと1ヶ月50万文字まで翻訳可能。
本人確認のため、クレジットカードの登録はあるが、自動的に有料会員への移行はないので安心。
DeepL
スクリプト
ブラウザで開くと見やすいので、.mdで保存してみる。
検索クエリは、
cs.LG:learning(学習)
cond-mat.mtrl-sci(物性物理学-材料工学)
import arxiv
import deepl
AUTH_KEY = "************"
def get_arxiv_results():
print('getting data from arxiv"')
search = arxiv.Search(query='cat:cs.LG AND cat:cond-mat.mtrl-sci')
titles, abstracts, urls = [], [], []
for result in search.results():
titles.append(result.title)
abstracts.append(result.summary)
urls.append(result.pdf_url)
return titles, abstracts, urls
def make_input(idx, title, abstract, url):
text = f' \
# {idx}: {title} \n \
{abstract} \n \
[URL]({url}) \n \
'
return text
def main():
titles, abstracts, urls = get_arxiv_results()
with open("20221011_deepl.md", "a") as f:
print("translating")
translator = deepl.Translator(AUTH_KEY)
for idx, [title, abstract, url] in enumerate(zip(titles, abstracts, urls)):
print(f"`{idx} in {len(titles)}")
title_ja = translator.translate_text(
text=title.replace("\n", ""), target_lang="JA"
)
abstract_ja = translator.translate_text(
text=abstract.replace("\n", ""), target_lang="JA"
)
text = make_input(idx, title_ja, abstract_ja, url)
f.write(text)
if __name__ == '__main__':
main()
.mdをVSCodeやブラウザで閲覧
英語で読むよりサッと理解できた...のか。
少なくとも言語の問題はない。
おしまい。