生涯現役のITエンジニアを目指して、日々成長していくためのコラムを紹介します

PDFの英文をAI翻訳にかけるためコピペすると、なんだか貼り付けたテキストがおかしくなるという問題を解決する!初級編

»

こんにちは、こんばんは。平田豊(ひらたゆたかで)す。ネットで知り合った人たちからは「ゆたかさん」と呼ばれています。どうもありがとうございます。普段は、個人事業主(フリーランス)としてITエンジニアおよびテクニカルライターを仕事としています。最近の趣味はクレーンゲームで、家族といっしょに楽しんでいます。

※画像付きの解説は、下記noteに掲載いたしました。

https://note.com/yutakakn/n/nee2f086980bd

課題の定義

PDFファイルの英文を翻訳するために、文章をコピー&ペーストしてテキストを取り出すと、見た目とは違った内容となってしまいます。これをDeepLにインプットすると、当然翻訳される日本語もおかしな文章となります。

もとの英文がなぜかガタガタになります。

Linux network devices and drivers are very different from their "character" or "block" cousins. Theircommon language is the
struct sk_buff
declared in
linux/skbuff.h
, which allows manipulation ofnetwork packets, and the
struct net_device
, which abstracts the underlying transport medium.However, devices do not show themselves in the
devfs
, and drivers do not implement specific APIs; eachprotocol does its own stuff, at the layer it's supposed to be in. At the end of the road, each one is justmanipulating buffers.

カーネルから見たネットワーク・デバイス
Linuxのネットワーク・デバイスとドライバーは、「キャラクタ」や「ブロック」とは大きく異なる。共通言語は
struct sk_buff
で宣言されている。
linux/skbuff.h
で宣言された構造体sk_buffである。
構造体net_device
しかし、デバイスは
devfs
しかし、デバイスはdevfsには現れず、ドライバは特定のAPIを実装しない。結局のところ、それぞれがバッファを操作しているだけなのだ。

問題点をどう捉えるか

PDFからコピーした文章をみると、ところどころに改行が勝手に入っているので、これらの改行を除去すればよさそうに思えます。しかし、よくみると、英文の単語同士がつながっているところがあります。

「Their common language」となるべきところが「Theircommon language」と「Their」と「common」がくっついてしまっています。

PDFファイルを開くために、Windows10/11でAdobe Acrobat Readerを使いましたが、このような現象が起こるのは、このアプリの問題(仕様)です。

別のアプリを使って開く

もともと、PDF(Portable Document Format)はAdobeが開発したこともあって、かつてはPDFを開くためにはAdobeのアプリを使うしかありませんでした。しかし、いまは選択肢が豊富にあります。そこで、別のアプリを使うことを考えます。

ここではFoxit PDF Readerを紹介します。

https://www.foxit.com/pdf-reader/

このアプリは無料で使えて、商用利用も可能です。アプリのインストール時に、Foxit PDF Editorのインストールもおすすめされますが、こちらのアプリは有料なので、ここではインストールしないようにします。

Foxit PDF Readerのインストールが終わったあと、PDFの画面をズームしたときにHandカーソルでドラッグできるようにしたいので、下記の設定変更を行います。ここはお好みでOKですが、最初に混乱するところだと思います。

File - Preferences - Generalで、下記項目のチェックを外す。
[ ] Make Hand Tool read articles

Foxitでコピー&ペーストする

Foxit PDF ReaderのHomeタブのSelectで、「Select Text and Image」を選び、英文をコピーします。テキストを選択する時に、やや左上からドラッグすると選択を示す四角い枠がでてくるので、視覚的にわかりやすいです。

テキストの内容をみると、PDF上の見た目通りになっていることがわかります。これは素晴らしいですね!

しかし、このままDeepLにインプットしても、途中に改行があることで、日本語訳がところどころおかしくなります。もうひと工夫、必要です。

改行をすべて除去する

テキストをブラウザのURL欄に貼り付けると、自動的に改行が取り除かれます。この状態で全選択するというやり方があります。

しかし、このやり方では「改行が空(カラ)になる」ので、たとえば「Their」と「common」がくっついて、「Theircommon」になってしまいます。これでは意味がありません。

そこで、Notepad++というフリーソフトのテキストエディタを使います。OSSであり、商用利用も可能です。

https://notepad-plus-plus.org/

Notepad++にテキストを貼り付けて、編集メニューから「空白文字の操作」の「改行コードをスペースに」を選びます。

この結果をDeepLにインプットすると、きれいな日本語訳がでてきます。

おわりに

他のやり方としては、Windows11のメモ帳にガタガタのテキストを貼り付けて、右クリックメニューからCopilotを呼び出すというのもあります。これが一番お手軽だと思います。

著者プロフィール

平田豊(ひらた・ゆたか)▼神戸大学工学部情報知能工学科を卒業後、上京して日本電気株式会社に入社。20年勤務したのち独立起業▼YOULAB(ユウラボ)代表。事業内容は組み込みソフトウェア開発、書籍執筆、記事監修、講師・講演など。

<SNS>
Facebook: https://www.facebook.com/yutakakn
Threads: https://www.threads.net/@hiratayutaka
Instagram: https://www.instagram.com/hiratayutaka/
Bluesky: https://bsky.app/profile/yutakakn.bsky.social
X(Twitter): https://twitter.com/yutakakn/
mixi: https://mixi.jp/show_profile.pl?id=67159033

Comment(0)

コメント

コメントを投稿する