技術は使ってなんぼ

自分が得たものを誰かの役に立てたい

昔作ったツールを掘り起こしてみた。~論文翻訳補助(テキストフォーマット)ツール編~

あけましておめでとうございます!

本年も引き続きエンジニアにとって実用的で何かしらの役に立つ情報発信を行ってまいりますので、よろしくお願いします。

さて2023年最初の一発目ですが、今までの制作物を色々眺めていたら、紹介すると面白そうなものがいくつかありました。

今回はその中でも論文を翻訳する際に補助ツールとして使用したものを紹介しようと思います。

内容としては


それではよろしくお願いします。


論文翻訳補助とは?(取り組むにあたってのモチベーションについて)

私はAIや機械学習の情報を得る際に、海外の論文に目を通すことがあります。

そして私は英語を読むことに慣れておらず、翻訳だけでとても時間がかかってしまいます。

そんな時、よく使うのが「Google翻訳」か「DeepL」という翻訳サイトです。

このどちらにも共通することですが、PDFの論文をコピーして翻訳サイトに貼り付けると、変な翻訳になってしまうことがあります。

これは改行や句読点の位置がおかしいため、基本的には手でひとつずつ修正してやってしまいます。

これは長い論文になればなるほど時間がかかり、とてもつらい作業になってしまいます。

この問題を解決するツールを作りたいというのが、本モチベーションになります。

やりたいこと(要件定義)

そこで、何が出来ればよいかというと、
 ■改行をつなげる
 ■「.」や「。」を検知すると改行する

また個人的に論文を眺めていて、出来たら良さそうな機能を追加すると
 ■「.com」等の文章の終わりではないものを検知したら改行しない
 ■5000文字を超えたら、ファイルを分ける。

とりあえずこの辺を実装してみました。

実装

実装コードは以下のGitにアップしました。

今年からソースコードをブログにベタ貼りするのをやめて、Gitを参照してもらう形にしようと思います。

もしベタ貼りの方がいいよっていう方がいましたらコメントいただけると幸いです。

github.com

ざっくり解説すると、特定の文字列を検出して、検出したものに応じて文字列の操作を行っています。

特殊なライブラリにも頼ることなく、Pythonの標準的なライブラリで80行程度で作成できるので簡単ですね。

実行結果

Gitにアップしているtest.txtがターゲットとなります。

中身はこんな感じです。

test.txt

実行結果は以下です。いい感じに動いています。

output_1.txt

output_1.txtをGoogle翻訳かDeepLにアップロードすれば、綺麗な翻訳結果が返ってくるという流れになります。

まとめ

いかがでしょうか?

AI論文等を読む際に、もし修正作業で苦労されている方がおりましたらご自由にお使いください。

またこのツールは論文フォーマッタとしてだけでなく、何かしら煩雑な出力をしたテキストを整理する際にも応用できます。

もしDX業務等で、そういった作業が発生する際はご活用いただければ幸いです。

本年のブログは、去年よりも色々と省力化の試みをしていきます。

これにより、もっとスピーディーかつ多くの情報をご提供できるブログづくりを進めて参ります。

皆さんから改善等のご要望やご意見がございましたら、遠慮なくコメントください。

本年もよろしくお願いします。

おまけ~参考書籍~

データ分析プロジェクトを取り扱うにあたって、なかなか実務的な観点の記載が多くて貴重な本をご紹介します。

言語化しにくい検討の仕方やノウハウを、わかりやすい文章と図解で解説しています。

データ分析に関する業務に携わる際は、読んでみると参考になることがあるかもしれません。