「知的財産」カテゴリーアーカイブ

Excel VBAを使用してJ-PlatPatから公報テキストをダウンロードする方法(2)

2.参考サイト

ExcelのVBAでインターネットエクスプローラ(IE)を制御する方法については、ネット上に様々な参考サイトがある。今回対象となるサイト、特許情報プラットフォーム(J-PlatPat)はJavaScriptで動的に内容が書き換わるサイトであるため、ちょっとハードルが高いが、主として次のようなサイトを参考にさせていただくことで、ともかくも意図した通りに動くツールを作ることができた。これらのサイトがなければ、手も足も出なかったと思うので、本当に感謝したい。

(1)VBAのIE制御入門
VBAでIEを立ち上げ、情報を入力したり、リンクをクリックしたり、データをダウンロードしたり、といった基本操作の数々が非常によくまとまっていて、大変参考になる。

(2)VBAでIEを操作してJavaScriptで動作するWebページをスクレイピング
J-PlatPatのように、表示内容がJavaScriptで動的に書き換わるようなページをIEで操作する方法についてまとまっている。

  

3.事前設定

(1)ExcelのVBAへのライブラリの設定
 ・VBAの編集画面にて、「メニュー」→「ツール」→「参照設定」を選択
 ・「Microsoft HTML Object Library」と「Microsoft Internet Controls」の2つにチェックを付け、「OK」ボタンを押す。
 ※ 参考:VBAでIE制御するためのライブラリ追加(参照設定)

(2)IEの設定
 ①ポップアップブロックの設定
 ・Internet Explorerを立ち上げ、「ツール」→「インターネットオプション」→「プライバシー」タブを開く
 ・「ポップアップブロックを有効にする」にチェックを入れ、「設定」ボタンをクリック
 ・「許可するWebサイトのアドレス」欄に “*.inpit.go.jp” と入力し、「追加」ボタンをクリックし、「閉じる」ボタンをクリック、さらに「OK」ボタンをクリックする。
 ※ 参考:Internet Explorer 11 で、ポップアップブロックを有効/無効に設定する方法

 ②スクリプトによる貼り付け処理の設定
 ・Internet Explorerを立ち上げ、「ツール」→「インターネットオプション」→「セキュリティ」タブを開く
 ・「レベルのカスタマイズ」ボタンをクリックし、「スクリプトによる貼り付け処理の許可」の設定で「有効にする」にチェックを入れ、「OK」ボタンをクリック
 ・「このゾーンの設定を変更しますか」に「はい」をクリック、さらに「OK」ボタンをクリックする。
 ※ 参考:Internet Explorerで「クリップボードのアクセス許可」ダイアログを表示させなくする方法

以上で事前準備は完了したので、次回から実際にVBAでIEを制御し、J-PlatPatを操作する方法について記載する。

Excel VBAを使用してJ-PlatPatから公報テキストをダウンロードする方法(1)

今年のステイホーム週間を利用して、特許情報プラットフォーム J-PlatPat(2019/5のリニューアル後、現時点での最新版)から公報テキストをダウンロードするツールをMicrosoft ExcelのVBAを使用して作成し、JPPD(J-PlatPat Downloader)と名付け、お試し版を公開した。(JPPDの無料お試し版のダウンロードはこちら

このツールの作成がなかなか大変だったので、備忘録として、もしかしたら他の誰かの参考になるかもしれないという思いも込めて、そのポイントなどをメモとして残しておこうと思う。何しろ、いろいろなインターネット上のサイトを参考にしただけでは、どうしてもうまく動かないところが何か所かあって、その解決の過程で得られたヒントがいくつかあるので、まあ、知っている人にとっては常識かもしれないけれど、少しは誰かの役に立つこともあるだろうということで。

1.処理の流れ

まずは、処理全体の流れを見ておこう。やりたいことは、公報番号を入力したら、 J-PlatPat にアクセスし、そこから自動的に指定した公報についての詳細情報(書誌事項、要約、請求の範囲、詳細な説明など)をダウンロードし、ファイルとして保存することである。

今回は、まずJ-PlatPatのトップページにアクセスし、そこの簡易検索を利用して、公報の詳細情報を入手することにした。(通常、公報番号から詳細情報を入手する場合には、特許・実用新案番号紹介/OPDメニューに行き、ここで所望の公報番号を所定の入力ボックスに入力するのが王道だと思うが、実はトップページの簡易検索を利用すると、公報番号の入力フォーマットとして、通常の公報番号(”特開yyyy-######”のような形式)をそのまま使えるし、複数の公報番号をスペース区切りで入力すれば、ちゃんと検索結果が返ってくるので、こちらの方が便利かなと思った次第。)

(1)J-PlatPatのトップページ(https://www.j-platpat.inpit.go.jp)にアクセスする。

(2)簡易検索用テキストボックス①に公報番号を入力(複数公報の入力が可能、公開番号や登録番号など、これらの混在もOK、公報の数として10件程度までは問題なし)、検索ボタン②をクリックする。

(3)検索結果一覧画面が展開する。この画面は、前の画面と同じウインドウのまま、表示内容が動的に変わったものであり、簡易検索欄の上側の赤枠部分と、下側の目的別ナビ部分が消え、代わりに簡易検索欄の下側に検索結果一覧が表形式で表示されたものである。

(4)上の検索結果一覧画面にて、所望の公報番号のリンク③をクリックする。すると、下図のような「特許・実用新案文献表示」画面が新しいタブ(ウインドウ)で開く。

(5)文献表示画面には、書誌、要約、請求の範囲、詳細な説明、図面が表示されるが、このページが最初に開いた状態では、書誌の欄だけが開いた状態で表示されており、要約、請求の範囲、詳細な説明などは、折り畳まれた状態となっている。そのため、詳細情報を表示させるためには、それぞれの内容を展開する必要がある。

(6)そこで、上図の④、⑤、⑥をそれぞれクリックすると、下図のようにそれぞれの内容が展開されて表示される。このとき、上図の④、⑤、⑥の右側の表示が、クリック前は「開く +」だったのが、クリック後にはそれぞれ「閉じる -」に変わっていることに注目。

(7)こうして、書誌、要約、請求の範囲、詳細な説明の全てが展開され、内容が表示された状態になったら、さらに、⑦の「URL」ボタンをクリックすることで、この公報の固定URLを表示させる。その後、このページの表示内容をまとめてテキスト(またはHTML)としてダウンロードする。ダウンロードしたものは、テキストファイルなので、自由に加工して、好きなように表示したり、情報を取り出したりできる。

(8)1つの公報の詳細内容のダウンロードが完了したら、このタブ(ウインドウ)を閉じ、(3)の検索結果画面に戻り、次の公報のリンクをクリックして(4)以降の操作を繰り返すことで、順次必要な公報の詳細情報をダウンロードすることができる。

今回、作成するツールは、以上のような流れの操作を自動的に実施するものである。次回以降、各操作の内容について具体的に記載していこうと思う。

J-PlatPatからテキスト版特許公報をダウンロードするツール

今まで、特許関連のツールとして、PKM(特許公報をダウンロードし、複数のキーワードを色分け表示するツール)とGPD(世界各国のPDF版特許公報を一括ダウンロードするツール)を作成し、機能限定版を公開してきた。

どちらも、Google Patents にアクセスし、テキスト版公報やPDF版公報をダウンロードするものである。何故、Google Patents かというと、世界各国の特許公報が多量に収録されていることや、どこの国の特許も英語に機械翻訳されているので、いろいろな国の特許を便利に解析することができることなどのメリットがあるためではあるが、もう1つ非常に重要な利点として、公報番号がわかると、公報が掲載されているサイトのURLがほぼ推定でき、しかも、そのURLで表示されるページ1つにほぼ全ての情報がまとめて掲載されていることが挙げられる。

一方で、例えば最新の日本公開公報が収録されるまでのタイムラグが大きいとか、比較的古い公報が収録されていない、といったことが、Google Patents の欠点として挙げられる。

これに対し、独立行政法人 工業所有権情報・研修館(INPIT)が運営している特許情報プラットフォーム(J-PlatPat)の場合、非常に古い公報から最新の公報まで全て収録されている点では完璧ではあるが、公報番号がわかっていてもその公報が掲載されているページのURLを推定することはできないし、公報内容を表示させるためには、検索ページに公報番号を入力し、検索ボタンをクリックし、表示される検索結果一覧から所望の公報のリンクをクリックし、これにより新たに表示されるウィンドウで、「要約」「請求の範囲」「詳細な説明」のそれぞれのリンクをクリックする必要がある、というとても面倒な仕様となっている。そのため、エクセルを自動操作して公報内容をダウンロードするためには、単に特定のURLにアクセスして内容をダウンロードするといった操作ではなく、公報番号の入力や、いくつかのリンクを探してクリックするといった、ややこしい操作を連続して行う必要がある。

とはいえ、実際にPKMを仕事に使用していると、最新の日本特許公報がGoogle Patentsには収録されていないことがネックとなることも多く、何とかJ-PlatPatから公報をダウンロードできないものか、いろいろと考えてみたが、かなりハードルが高そうなので、あきらめていた。

今般、新型コロナウイルスの影響で、ステイホーム週間となり、家でPCに向かう時間も増えたので、この機会にJ-PlatPatからの公報データ取得に挑戦することにした。ネットを色々と調べてみると、指定したURLのサイトにアクセスし、特定のテキストボックスにデータを入力したり、特定のボタンやリンクをクリックしたり、表示される内容をダウンロードしたり、といった基本的な操作は、全てMicrosof ExcelのVBA(マクロ)で実現可能であることがわかったので、あとは実際にこれらの操作を組み合わせて、思い通りに動作するか試してみるだけである。

しかし、実際に動かしてみると、多くの操作は必ずしも思うように動作せず、参考になりそうなサイトの記載通りにしても意図したように動かなかったり、どうしてよいものか途方に暮れるような事態も多々起こり、結構大変であった。それでも何とか1つずつ、問題を解決し、どうにか全ての操作を一通り実施して、所望のデータをダウンロードできるようになった。

とはいうものの、サイトの応答が極端に遅くなるとエラーが発生したり、データを取りこぼしたりといった問題が頻発したため、要所要所に何秒間かの待ち時間を設定してみたり、何度か同じ操作をループさせてみたり、といった工夫をしたのだが、それだけではうまくいかず、さらに試行錯誤を続けることで、少しはサイト側の応答を待つコツをつかんだようで、当初よりもかなりスムーズかつ迅速に動作するところまで来た。

この辺の、さまざまな問題点やその解決方法については、ネット上には掲載されていないものもあり、もしかしたら他の方のお役に立つこともあるかもしれないので、備忘録を兼ねて、今後何回かに分けて、ここに記載したいと思う。

—————————————————

というわけで、とりあえずの完成版を「J-PlatPat Downloader (JPPD)」と名付け、無料のお試し版を公開しました。よろしかったら、試しに使ってみてください。エラー対応などは不完全な状態ですが、何とか試用に耐えるレベルには仕上がっているかと思いますが、J-PlatPatのサイトが非常に重たい時間帯は避けた方が無難だと思います。

J-PlatPat Downloader (JPPD) のページへ

ご意見やご要望があれば、遠慮なくお願いします。可能な限り、対応させていただきます。

Google Patentsから世界各国のPDF版特許公報を一括ダウンロードするツール

最近、特許庁の特許情報プラットフォーム(J-PlatPat)がリニューアルされましたが、PDF版の特許公報をダウンロードする際の認証が厳しくなったようで、「私はロボットではありません」のチェックが必要であるばかりか、複数の公報を続けてダウンロードしようとすると、多数の写真が表示されて、質問に答えなくてはならなくなってしまいました。キーワード検索等で、複数の特許をまとめてダウンロードしたいときなど、ちょっと勘弁して欲しい仕様です。

有料の特許DBを利用できる場合には、特に問題ないのでしょうが、そうでない場合、何か方法はないものかと考えて、たどりついたのが、Google Patentsです。Googleは、特許情報の収録にも非常に意欲的で、最近は、非常に多くの国々の特許を収録しており、さらにはPDF版の公報の収録数もどんどん増えているようです。以前は、USとWOぐらいしかPDF版公報は収録されていなかったのですが、現時点では、これらに加え、JP, EP, CNなど、多くの国の特許が収録されています。

幸い、既にGoogle Patentsからテキスト版公報をダウンロードして、指定したキーワードをハイライト表示するツール(PKM)をエクセルのマクロ(VBA)を使用して作成済みだったので、これをベースに、日本および海外のPDF版特許公報をまとめて一括ダウンロードするツールをVBAで作成してみました。PKMでは、PDF版公報のURLの抽出まで行っていたので、今回のツールは特に問題なく、簡単に作成できました。

ということで、このツールの機能制限付きのお試し版を無料公開します(一度にダウンロードできる公報を20件に制限していますが、20件ずつ何度でも繰り返しダウンロードが可能です)。Google Patents にPDF公報が収録されていれば、日本はもちろん、世界各国の特許をまとめてダウンロードしてくれると思います。結構お役に立てるのではないでしょうか?

Google Patents Downloader (GPD) のページへ

Google Patentsは、時々大規模な改修が行われることがあり、そうなるとそれに対応した改訂が必要となりますが、必ずしも即時対応可能とは断言できかねます。

ご意見やご要望があれば、遠慮なくお願いします。可能な限り、対応させていただきます。

特許文献をダウンロードし、複数のキーワードを色分け表示するツール

仕事上、特許調査に関わることが多い。いろいろと工夫して、できるだけノイズと漏れが共に少ない検索を目指すものの、どうしても漏れを少なくしようと思うと、多少のノイズの混入は避けられない。そのため、特許調査で出てきた大量の特許文献リストに目を通し、明らかなノイズを除去したり、特に重要な特許にチェックを入れたりする作業が欠かせない。この作業は、特許文献1つ1つに目を通す必要があり、数が多くなると結構大変な作業となる。

実際に作業を行う際には、特許文献(公開公報や登録公報)中に、いくつかの所定のキーワードが含まれているかどうかを確認することが多い。日本語特許であればJ-PlatPat、海外特許であればEspacenetなどのサイトで、特許文献のテキスト版にアクセスし、ブラウザのページ検索機能(CTRL+F)を使って、特定のキーワードをハイライト表示させるとか、PDF公報にアクセスし、PDFリーダーのワード検索機能を使用したりすることになる。

しかし、これは非常に手間のかかる作業である。まずは目的の公報(特許文献)にアクセスするのに手間がかかる。なぜなら、J-PlatPatやEspacenetでは、各公報に直接アクセスされることを嫌っており、公報にたどり着くまでに何回かのクリックを必要とするからである。

さらに、目的の公報を開いた状態でも、複数のキーワードをそれぞれハイライト表示させるようなことは難しい。(J-PlatPatの場合には、複数のキーワードを入れて検索し、検索結果を表示させると、複数のキーワードがそれぞれ色分け表示されるけれど)また、特許毎に使用される用語が微妙に異なっていたり、表記揺れがあったり、同義語があったりするので、それへの対応も必要となる。例えば、「電池」と「バッテリー」とか、元素の場合には元素記号表記と元素名表記とか。。。

ということで、検索で出てきた大量の特許文献リストに対し、テキスト形式の特許文献を入手(ダウンロード)し、そのテキストに指定したキーワードが含まれていたら、その数をカウントすると同時に、キーワードの背景に色を付けてマーキング(ハイライト表示)するツールを作ってみることにした。処理にはエクセルのマクロ(VBA)を使うことにした。

特許文献リストの入手には、Google Patentsを使用した。最近のGoogle Patentsは優秀で、US、EP、WOなどに加え、JP、CN、KR、RUなどが、かなり新しいものも収録されている。しかも、これらは固定URLが与えられているので、公報番号がわかれば、直接アクセス可能である。さらに、素晴らしいのは、英語以外の文献の多く(ほとんどすべて?)は、Google得意の翻訳機能で、予め英語に翻訳されている(公報URLの末尾に”/en”を付けると、英語版が入手できる)。従って、全部を英語版で入手すれば、日本語の特許も中国語の特許も英語の特許もドイツ語の特許も、全部英語で解析することができる。もちろん、それぞれのオリジナル言語での解析も可能なので、日本語特許は日本語で解析することもできる。

※ 2019/4/1追記
Google Patentsは、今年の2月頃から、対応国・機関が大幅に増えており、現在は101カ国・機関となっている。ただし全ての国の全ての特許が収録されているわけではなく、ごく一部の特許だけが収録されている国もあるようだ。でも、今後充実していく方向にあるのは間違いないだろう。

テキスト版公報が入手できれば、あとは、公報の構成を理解し、タイトル、出願人、発明者、アブストラクト、クレーム、詳細な説明、などのそれぞれのブロックを認識し、指定したキーワードを探し出し、その数を数えると共に、キーワード部分の背景の色を変える処理をするだけなので、最初はちょっと苦労するけど、さほどややこしい処理でもないし、試行錯誤を何度か繰り返すうちに、それらしいものが出来上がった。

なお、キーワードはあらかじめ複数指定可能とし、1種類のキーワードについて複数の表記(同義語、表記揺れ、大文字・小文字など)を事前に登録する形式とした。

実際に出来上がったツールを使ってみると、これは非常に便利で、従来、時間と手間の掛かっていた処理がほぼ全自動となり、ノイズの除去や、重要特許の内容の把握などが短時間に可能となった。これは余りにも便利なので、多くの人にも知ってもらおうと思い、公開することにした。

—————————————————

というわけで、とりあえずの完成版を「Patent Keyword Marker (PKM)」と名付け、無料のお試し版を公開しました。よろしかったら、試しに使ってみてください。エラー対応などは不完全な状態ですが、PCが固まったりはしないと思います。多少変な動作があってもご容赦ください。なお、Google Patents の仕様等の変更への対応や、PKM自身の機能向上やバグ修正等を目的として、少しずつバージョンアップを続けています。

Patent Keyword Marker (PKM) のページへ

また、Google Patentsは、時々大規模な改修が行われることがあり、そうなるとそれに対応した改訂が必要となりますが、必ずしも即時対応可能とは断言できかねます。

ご意見やご要望があれば、遠慮なくお願いします。可能な限り、対応させていただきます。