地層を剥がす

声を失った人間の発声練習です

和暦・西暦を変換するGoogle日本語入力ユーザー辞書をアップデートしたよ

以前作った以下2つのGoogle日本入力ユーザー辞書をアップデートしました。

 

tekitoeditor.hatenadiary.com

tekitoeditor.hatenadiary.com

 

今回のバージョンでは、和暦の切り替え日を入れています。

 

例1)和暦→西暦辞書で大正1年の西暦を知りたい場合

「たいしょう1」と入力して変換すると「1912(7/30から)」と出てきます。

 

例2)西暦→和暦辞書で1912年の和暦を知りたい場合

「1912」と入力して変換すると「明治45(7/30まで)/大正1(7/30から)」と出てきます。

 

tsvファイルは以下から落とせます。

 

和暦→西暦変換辞書

西暦→和暦変換辞書

 

詳しい使い方は、それぞれ上の記事をご覧ください!

e-StatのAPIに触ってみたよ 「統計表の情報を取得するのが意外と面倒」編

最近、仕事で行政の統計を見ることが多い。「行政の統計」といえば「e-Stat」。そういえば同サイトではAPIを公開していたなと思い、触ってみることにした。同APIの利用にあたっては、ユーザー登録をし、アプリケーションIDを取得する必要がある。詳細は以下で確認してほしい。

www.e-stat.go.jp


まずは先人の知恵に触れようと考え、Qiitaでいくつかの記事を参照した。とくに役立ったものがこれだ。

qiita.com

この記事では、e-Stat APIは「沼」であると指摘し、全部で4つの沼ポイントを挙げている。

ポイント1:データ多すぎ問題
ポイント2:API結構複雑だよ問題
ポイント3:〇〇コード多すぎ問題
ポイント4:意外とGISで使えるデータないよ問題

とくに重要なのがポイント2だ。e-Stat APIは、全部で7つある。以下がそれだ。

統計表情報取得
メタ情報取得
統計データ取得
データセット登録
データセット参照
データカタログ情報取得
統計データ一括取得

統計データを取得するには、まず統計表情報APIで情報を取得し、どのような統計表があるかを知るステップを踏まなければならない。そこで、まずは試してみることにした。

import requests
import pandas as pd
import json

url = 'http://api.e-stat.go.jp/rest/3.0/app/json/getStatsList'
params = {
'appId':'xxxxxxxxxxxxxxxx',
}

res = requests.get(url, params=params)
content = json.loads(res.content)
print(content)

すると、以下のようなエラーメッセージが表示された。

IOPub data rate exceeded.
The Jupyter server will temporarily stop sending output
to the client in order to avoid crashing it.
To change this limit, set the config variable
`--ServerApp.iopub_data_rate_limit`.

長々と言われてるけど、要は取得したデータが大きすぎてこのままの設定じゃ表示できないよ、ってことだろう。十数万件の統計表情報を取得したら、こうなっても不思議ではない。というか、当たり前だ。でもメンドい……。(続く)

朝日新聞の要約APIをたたくスクリプトを書いてみたよ

先日公開された朝日新聞の要約APIを試してみました。私が書いたスクリプトは以下。 長めの文章を「sample.txt」というファイルにまとめておくと、勝手に内容を読み込んで要約してくれます。

github.com

 

スクリプト使用に際しての注意点

(1)APIキーが必要だよ

朝日新聞の発行するAPIキーが必要になります。以下のサイトから申し込みを忘れずに!

APIキー発行:朝日新聞社メディア研究開発センター 人工知能研究の取り組み

(2)APIキー情報を書き込んだファイルを別途作ってください

今回のスクリプトでは「AsahiToken.py」からAPIキーを読み込むようにしました。別途作成をお願いします。ファイルの中身は以下のとおりにしてください。

ACCESS_TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXX' #APIキーを指定
(3)要約対象ファイルは「sample.txt」という名前にしてね
要約したいテキストは「sample.txt」という名前のファイルに保存してください。
 
(4)すべてのファイルを同じディレクトリに置こう
以上すべてのファイルが同一ディレクトリにある状態でスクリプトを実行すれば、結果が返ってくるはず。
 
もし成功したら、エンドポイントやパラメータをお好みで変えてみてください。1日に20アクセスまでと上限が決まっているので、ご利用は計画的に!
「テキストを変数に代入してJSONに渡したいけど失敗してしまう」という悩みを秒で解決してくださいました。いつもありがとうございます!

Wordファイルの表記統一が自動でできるスクリプトを書いたよ

先日、原稿の表記統一が自動でできるスクリプトを書きました。表記統一ルールをCSVファイルで定めておけば、原稿の文字列をそのとおりに置換してくれます。

tekitoeditor.hatenadiary.com

上記スクリプトはそこそこ便利ではありますが、テキストファイルの原稿のみが対象だという弱点がありました。そこで今回、Wordファイルを対象にしたバージョンを新たに作成しました。

github.com

 

使い方は以下のとおりです。

(1)JupyterNotebookの実行環境を用意する

(2)python-docxというライブラリをインストールする

(3)tekitoeditor/w_unificationリポジトリをgit cloneする

(4)(3)のディレクトリにWordの原稿を「before.docx」という名前で保存する

(5)「unification.csv」のbefore列・after列を置換したいものに書き換える

(6)スクリプトを実行する

これから編集者&ライター向けのツールをどんどん開発していきたいと考えています。日々の仕事を進めるうえでの困りごとがあれば、ぜひお聞かせください。もしかすると何か作るかもしれません!

原稿の表記統一が自動でできるスクリプトを書いたよ

最近はGoogleDocsの音声入力で取材音源の文字起こしをしている。作業が爆速で終わり、もはやこれ以外のやり方は考えられない。だが、この方法にはいくつかの問題がある。その一つが「表記が自分好みにならない」ってことだ。例を挙げよう。

色々 結構 多分 皆さん 所 色んな 頂く 元々 大体 割と 人達 やり取り 嬉しい

どうだろうか。私はこれを見て「連体詞や副詞、形式名詞は開いてくれないかな」と思う。なぜならば、彼らは文の主役ではなく、目立たせる必要がないからだ。このままだと全体的に黒っぽい字面になり、発光体では読みにくい(以上は勝手な持論)。

というわけで、自分好みに表記統一してくれるスクリプトを書いてみた。

github.com

以下の手順を踏めば、自動で表記統一ができる。

(1)JupyterNotebookの実行環境を用意する

(2)上のリポジトリをgit cloneする

(3)同一ディレクトリに原稿を「before.txt」という名前で保存する

(4)「unification.csv」のbefore列・after列を置換したいものに書き換える

(5)スクリプトを実行する

本当はプログラムの実行環境を用意する部分が最もハードルが高いはずなので、このスクリプトもいずれWebアプリ化して公開したい。早くDjangoで開発できるようになりたいなあ。

GoogleDocsの音声入力はよい、しかし……

何度挑戦しても正しく変換されない言葉がある。

f:id:tekitoeditor:20210409181353p:plain

これは音声で「Kaggle」を入力しようと試みた結果です。日本語的な発音でスタートし、徐々に英語的な発音に変えていきました。あまり意味がなかったのが一目瞭然ですね。

 

ちなみに「Google日本語入力に登録した単語とGoogleDocsの音声入力が連動している可能性が微小なレベルで存在するのではないか」と考え、「Kaggle」を同IMEに登録してから臨みました。ぜんぜん連動してなかったよ!

 

Kaggleとは👇

www.kaggle.com

 

最近グッときた形

駅でよく売られている某アイス。そのゴミ箱にはペットボトルなど他のゴミがよく捩じ込まれていた。おそらくはそれを受けてのことだろう。ゴミ箱の口が次のような形に変化していた。

 

f:id:tekitoeditor:20210403131713j:plain

写真ではサイズ感が伝わりにくいが、円形部分がちょうどペットボトル大で、その一部が開いている。開口部は小さいため、たたんだアイスの包み紙くらいしか入らない。円形部分の赤い配色には視線を集める意味があるのだろうが、ゴミ捨て時のインストラクションを兼ねているのがよい。アフォーダンス的な観点からして、よいデザインではないだろうか。