裁判所判例検索

「判決が出た」などの報道があると、詳しい情報を得るために判決文そのものにあたりたいことがある。

例えば、当ライブラリでも事例研究で紹介した「セルフレジ特許訴訟」にも判決が出た。「ファストリ、無人レジ特許訴訟で敗訴~知財高裁、商品識別巡り」(2021/5/21付け日経新聞)また、例えば、「LINE「ふるふる」機能、特許侵害で賠償命令(東京地裁)」(2021/5/20付け日経新聞)もある。

そんなときに使うのが「裁判所(COURT IN JAPAN)」である。

早速、原告名「アスタリスク」で検索してみた。

ところが、ヒットしたのは別件ばかり……

判決文の全文検索であるため、「アスタリスク」という語が使われていれば、会社名でなくてもヒットする。「株式会社アスタリスク」とすべきだった。

とは言え、やはりまだデータベースに収録されてはいないらいしい。

日付で検索してみると、

検索した2021/5/23時点で、最新は5/17付け最高裁判決、知財高裁の最新は5/13だった。判決から1~2週間でデータベースに収録されているようである。

(判決文が収録されたら、更新する予定)

Python奮闘記 目次

《 はじめに 》

 知財情報の分析に強力なツールになると思い、Pythonの勉強を始めました。きっかけになったのは、株式会社ライズの東智朗さんが開催してくださった「知財人のためのPython」です。初心者の私に初歩から丁寧に教えてくださいました。どうもありがとうございました。

 タイトルに「奮闘記」とあるように、勉強している過程をブログ風に記録したもので、みなさまに解説する意図はありません。紹介している「例」も一例に過ぎず、模範解答からはほど遠いものがたくさん含まれていると思います。

 同じようにPythonの勉強を始めたばかりの初心者の方々、これから始めようとされている方のご参考になれば嬉しいです。また、経験者の方々からのアドバイスも大歓迎です。

《 目 次 》

開発環境:Python開発環境の準備 Anacondaのインストール

基礎-1:入出力、データ型、演算、if文、whileループ、forループ

基礎-2:リスト、タプル、辞書 (「配列」に相当するデータ型)

基礎-3:def文(関数定義、サブルーチンに相当)

基礎-4:文字列処理

基礎-5:正規表現

基礎-6:csvファイルの読み込み

基礎-7:EXCELファイルの読み書き

圧縮されたファイルの解凍:csvダウンロードなどで入手した、zip形式で圧縮されたファイルを解凍

csvデータの前処理:EXCELファイルのシート(複数も可)に保存されているcsvダウンロードしたデータに対する、特許分析に適した前処理

ダウンロードしたcsvに対する発明者分析:ダウンロードしたcsvファイルの特許文献リストから、発明者ごとに出願年と件数を抽出

出願人名の名寄せ:csvファイルなどの特許文献リストに含まれる出願人名の名寄せ。(名寄せとは、社名変更などで複数の表記がある出願人名を1つにまとめる作業。)(対応表はマニュアルで作って、文字列処理だけpyhtonに任せる。)

 

[Python] 基礎-7 EXCELファイルの読み書き

1.一般的な流れ

“openpyxl”モジュールをインポート:import openpyxl
Workbookを開く:openpyxl.load_workbook(“ファイル名”)
シートオブジェクトを生成:sheet_obj = workbook.get_sheet_by_name(“シート名”)

2.セルの値の読み書き(cell(row=行番号, column=列番号).value)

〔 値の取り込み 〕
変数 = sheet_obj.cell(row=行番号, column=列番号).value

〔 値の書き込み 〕
sheet_obj.cell(row=行番号, column=列番号).value = 値

3.行/列 単位の扱い( iter_rows() / iter_cols() )

(iteration processにより)1行ごと(1列ごと)に、リストを生成する。

〔 使い方の例 〕

for row in sheet_obj.iter_rows():
for col in range(len(row)):
print(row[col])

4.フォントの指定

〔 流れ 〕
① Font関数をopenpyxlモジュールのstyleからインポート
  from openpyxl.styles import Font
② フォントの指定
  font = Font(name=’フォント名’, size=ポイント数, ・・・)
③ 指定したフォントをセルに指定
  sheet_obj.cell(row=line,column=col+1).font = font

パラメータ説明
nameフォント名/例:’游ゴシック’, ‘Arial’
sizeポイント数/例:「size=10」等整数値で指定
color色を16進6桁の文字列で指定
例:’FF0000’(赤), ’00FF00’(緑), ‘0000FF’(青)
underline下線を文字列で指定/例:’single’
bold太字/例:True, False
italic斜字/例:True, False

5.位置揃え

〔 流れ 〕
① Alignment関数をopenpyxlモジュールのstyleからインポート
  from openpyxl.styles import Alignment
② セルごとにAlignmentを指定
  sheet_obj.cell(row=line,column=col+1).alignment
  = Alignment(horizontal=’left’,
   vertical=’top’,
   wrapText=None)

〔 Alignment関数の引数とパラメータ 〕

    引数パラメータ説明
horizontal‘left’
‘center’
‘right’
左揃え
中央揃え
右揃え
vertical‘top’
‘center’
‘bottom’
上揃え
中央揃え
下揃え
textWrapTrue
None
セル内折り返しあり
指定せず

6.セルの表示形式

〔 流れ 〕
① numbersをopenpyxlモジュールのstyleからインポート
  from openpyxl.styles import numbers
② セルのフォーマットを指定
  sheet_obj.cell(row=line,column=col+1).number_format = 表示形式

    表示形式 説明
‘0.000’小数点以下3桁
#,##0′3桁ごとにカンマ区切り&小数点以下は非表示
‘yyyy/mm/dd’短い日付(西暦4桁/月/日)

7.セルの幅と高さ

〔 セル幅の指定 〕
sheet_obj.column_dimensions[’A’].width= セル幅

〔 セル高の指定 〕
sheet_obj.row_dimensions[1].height = セル高さ

[Python] 基礎-6 csvファイルの読み込み

1.一般的な流れ

(1) “csv”モジュールを使った読み込み
“csv”モジュールをインポート import csv
open関数を使ってcsvファイルオブジェクト(csv_obj)を生成
csv_obj.reader ⇒ 行単位(iteratorプロトコル対応)オブジェクトをリスト形式で生成
csv_obj.DictReader ⇒ 行単位(iteratorプロトコル対応)オブジェクトを辞書形式で生成

(2) “panda”モジュールを使った読み込み
“panda”モジュールをインポート import pandas
データ分析用のモジュール・・・いつか使ってみたい

2.”csv”モジュールを使った読み込み

open関数

使い方の例:

with open(path+’\’+csv_A, mode=’r’, encoding=’utf_8′) as csv_obj:

引数     説明
mode“r”: read only
“w”: 書き込み許可
“x”: 排他的。
“a”:ファイルがあるときは追記
encoding 文字コード
 ”utf-8″:日本語
newlineex.: None, ”, ‘\n’, ‘\r’, ‘\r\n’

reader

使い方の例:

with open(ファイル名, mode=’r’, encoding=’utf_8′) as csv_obj:
csv_reader = csv.reader(csv_obj)
header = next(csv_reader)
print(header) 👈 headerはリスト
for row in csv_reader:
print(row[0]) 👈 rowはリスト

[Python] 出願人名の名寄せ

〘 課題 〙

「名寄せ」とは、表記を一つにまとめること。出願人名は、企業、団体、学校、研究機関、個人などの名称で、主体が同じでも完全に統一されていて変更されないというわけではない。例えば、会社名の変更、合併などで名称が変更されることがある。それ以外にも、関連会社などので1つのグループとして扱った方が良い場合もある。

〘 仕様 〙

処理対象:EXCELの特許文献リスト(「”db”シート」とする)
     「csvの前処理」を使って抽出した「筆頭出願人」カラムを持つことを想定
入力:「筆頭出願人」カラム
出力:「筆頭出願人(名寄せ)」カラム
「名寄せ」シート: 「筆頭出願人」と「筆頭出願人(名寄せ)」の対応付け

〘 名寄せシートの作り方 〙

「”db”シート」から「筆頭出願人」のピボットテーブルを作成

EXCELの「ピボットテーブル」を使うのは必須ではないが、出願件数の多い「筆頭出願人」を優先して、どのような名称を名寄せするかを検討する。
これをコピーして「名寄せ」シートを作成

名寄せ前の出願人名(Aカラム)を名寄せ後の出願人名(Bカラム)に対応付ける作業
出願件数の多い出願人名を優先して行い、上位何社(何人)まで行うかは、分析の目的による。

上の「パナソニックGr.」のように、「三洋電機」との合併、「松下電器産業」からの社名変更、「パナソニックIPマネージメント株式会社」などの関連会社など、まとめて扱いたいグループごとに、名寄せ後の出願人名を統一する。

名寄せ辞書の作成も、AIを活用するなどで自動化したいが、まだまだ検討中……
現段階では、マニュアルで進めるしかない。

〘 pythonによる処理 〙

〘 プログラムのポイント 〙

① 「名寄せ」シートを参照して、「名寄せ辞書」”name_dictionary”を作成。
   キー:元の出願人名
   値:名寄せ後の名称(空欄なら値は”None”)
   (「辞書」については、 基礎-2 リスト、タプル、辞書 を参照。)

② ”db”シートの各行(各特許文献)について、「筆頭出願人」が「名寄せ辞書」のキーのどれかに一致するので、値があればその値(名寄せ後の出願人名)、値がなければ(None)「筆頭出願人名」をそのまま、「筆頭出願人(名寄せ)」のカラムに出力する。

〘 処理結果 〙

出願人名を名寄せした後で、もう一度ピボットテーブルを作ると、出願人グループごとに出願件数を集計することができる。

特許マップDIYサポートキャンペーン 第3回

外出自粛/在宅勤務 応援企画

特許マップDo It Yourself
サポートキャンペーン 第3回

(緊急事態宣言期間中無料)

緊急事態宣言が、昨年4月、今年1月に続き三度発出されてしまいました。特許マップDIYサポートの無料サービスキャンペーンも、このたびもう一度行うことにしました。この災禍を福に転じたいと願っております。

かねがね、特許マップを自分で作ってみたいと思っていた方、チャレンジしてみませんか?
新型コロナウィルスの脅威はありますが、まとまった時間がとれる機会は増えているのではないでしょうか? 

    • ・検索式作成 相談、代行
    • ・ヒット文献集合csvダウンロード
    • ・Excel(関数/ピボット/マクロ)操作 

特許マップを作るには、まず目的に合った特許文献集合を作る必要があります。是非、この機会にご相談ください。弁理士の職業的守秘義務の範囲です。業務上のテーマについてもご相談いただけます。

商用の検索データベースを利用できない方には、作成した文献集合をcsvダウンロードして無償提供します。

Excel(関数/ピボット/マクロ)については、セミナーのプレゼン資料(Seminar-PatentSearch-and-Map_20190703)か拙著を参考に進めてください。こみ入った内容のご質問にはSkype, ZoomなどのWeb会議システムで対応いたします。Excelシート画面を共有しながらQ&Aできますので。

メール(mail to: kojima#aq-patent.com 注:「#」を「@」に代えてください)でお申し込みください。