tkgshn-yuiseki 2021-07-30
tkgshn.iconinoue2002.iconyuiseki.iconyuseiito.icon
Civichat-langの件で時間かかってすいません
前提
「制度を探せない」という状況を無くすためには、公共制度の利用条件を制度自体に与えていく必要があると考えている
公共制度の推薦を行うとしても、自然言語で記述された概要では不可能
やってること
そこで、Civichatでは論理的に書くのを実験中
本当に実験中の段階で、公開できるぐらいのクオリティでもない・不確実性が高い・手戻りの可能性が高い
Civichat.iconのメンバーであるyuseiitoが提案ベースでやっている途中で、会社としてそれを採用していくかどうかも分かっていない状態
/emoji/twitter.icon .@civichat でのお仕事でも制度の推薦ロジックを記述するためのDSLみたいなものを作ろうという構想がある(まだ実験してるだけ)ので、みていて「そうなるよなぁ」といううなずき感があった https://t.co/BkXGKk4tAQ
@ItyuJItyuJ.icon July 26, 2021
最初は「yuiseki氏と一緒にやりたいね!tkgshn.icon」と言っていたけど、私だけが大きく喋りすぎた状況
やりたいこと
だから共同開発的な感じになるかは約束できないんですけど、"制度の記述に悩んでいる"人間として、一度Civichatのメンバー + yuisekiとかと話す機会が欲しいです
現状把握をしていく
proj-povertyではインクルーシブチャートをやってたけど、ソフトウェアとして解決できることの範囲を越えたので、concern-kalteにピポットしたという認識
Civichat.iconとかなり似たような思想で設計も近いと思うので、なんか一緒にできるかもしれない
元々はインクルーシブチャートをやるならカニばらないと思っていたtkgshn.icon
が、proj-poverty 2021-07-29 MTGで近いことが判明
同じことはやらない方がいい(巨人の肩に乗る)
yuiseki.icon
proj-povertyでのインクルーシブチャート
貧困を可視化しようという話だったが、貧困について積極的に話したがる人は少なく、リアルなデータが集まらない
データが集まらなければ可視化も出来ない
可視化できなければインサイトを得ることも出来ない
今日2021/8/4、冷静に考えて整理したら、たしかにやってることはCivichatととても似ていた
proj-poverty 2021-08-04 MTG#6109ec6dbb24d4000002e86f
連携するべき
proj-lawvis
Rule as Code、デジタル法制執務プロジェクト
https://app.box.com/s/lswjo021tapm960i2xyldwgdck3sujz1
Rules as Codeとは、法律等の規制について、従来の自然言語での法律と共存する形で、機械判読可能なコード形式の法律を作成する取り組み。
これには、テクノロジー活用のみならず、同時に、現在政府規則の作成に使用されているプロセスと方法の再構築が必要となる。
現在実証実験(PoC)が行われている国もあり、実現に向けてアプローチが行われている。
Better Rules · GitHub
GitHub - BetterRules/example-rules-as-code: Example rules as code implementations
ここみるといろいろなRule as Codeの事例がある
既存の取り組み
The Xalgorithms Foundation
OpenFisca - Write rules as code
Before you start — OpenFisca documentation
いろんな国の事例
OpenFisca:Resources
OpenFisca - Available country packages
ニュージーランドの事例
Rapu Ture - Connecting the Rules
XML
Legal XML - Wikipedia
GitHub - usgpo/uslm: United States Legislative Markup (USLM) XML Schema
JSON
JsonLogic
その他
CPSV
/civichat-research/GSDL
proj-politylink
PolityLink
最近おもしろいなと思った発想
GitHub - geolonia/community-geocoder: Open Source and Free GeoCoding API in Japan
GitHub - geolonia/open-reverse-geocoder: オープンソースかつ無料で利用できる逆ジオコーダーです。
/tkgshn/Glisp:Adobeではいい感じにグラフィックをデザイン出来ないという課題に基づいて、Lispをもとに作ったCUIのデザインツールtkgshn.icon
/tkgshn/なぜ関数型言語を使うのか
論理憲法tkgshn.icon
気になっているツール
GitHub - crcn/sift.js: Use Mongodb queries in JavaScript
MongoDB形式のクエリをJavascriptのArray, Objectに対して実行できる
GitHub - yagays/ja-timex: 自然言語で書かれた時間情報表現を抽出/規格化するルールベースの解析器
テキストから日付や時間を抽出するPythonパッケージ ja-timex を作りました
code:python
timexes = timex_parser.parse("彼は2008年4月から週に3回ジョギングを1時間行ってきた")
[<TIMEX3 tid="t0" type="DATE" value="2008-04-XX" text="2008年4月">,
<TIMEX3 tid="t1" type="SET" value="P1W" freq="3X" text="週に3回">,
<TIMEX3 tid="t2" type="DURATION" value="PT1H" text="1時間">]
これ結構すごいものな気がしているyuiseki.icon
自然文という非構造化データから構造化データを生成している
naruhodotkgshn.icon
時刻以外でもこうした構造化ができるのではないかという可能性
パターンの限られたドメインでなら有効そう
XY問題 - Wikipedia
XY問題とは、ヘルプデスクなどで見られる「質問者が、本当に解決したい課題Xについて直接聞くのではなく、Yという二次的な課題を解決する方法を聞く」ことによって発生するコミュケーション上の問題を指す語である。 質問者はYによってXを解決することができると考えているが、しかし、Yを解決してもXは解決しないか、またはYは解決方法としては不十分であることが多い。本質的な課題を曖昧にしたり二次的問題を持ち込んだりすることは、回答者に不必要な苦労をさせたり、または不十分な解決方法が提示されることにつながる。
XY問題は、技術的な質問やカスタマーサービスの現場でしばしば見られる。質問者が自力で問題を解決しようとしたとき、問題を誤解して、小さな課題Yさえ解決できれば本当の課題Xは解決できると思い込んでしまうためである。回答者はXY問題によって質問者の抱えている問題を解決できなかったり、質問の本質的な部分を理解できなかったりするので、質問者はかえって不満を持つことになる。
このような状況は、質問者が、本質的な目的から離れた、無意味な細部について質問した場合にあらわれやすい。 回答者は、なぜその情報が必要なのかを逆質問して、根本的な問題を特定することでXY問題を避けることができる。
形式論理によって知識を構造化するアプローチの衰退yuiseki.icon
論理では記述できない現象を扱う学問yuiseki.icon
要点としてはyuiseki.iconは論理記述と計算による最適化とは別の問題解決アプローチもありうると信じている
それをチューリングマシン(ノイマン型コンピューター)でどう実装するかはまだピンときていない
計算機のみで閉じたシステムではなく、人の思考力も問題解決に組み合わせる?
どんどん賢くなるチャットボットの作り方 - LINE ENGINEERINGtkgshn.icon
/tkgshn/エキスパートシステム#6077b7c109c5f20000846100tkgshn.icon
選択肢のマッチング問題=選択の最適化問題は、特に経済学の分野で検討が深まっている
論理では記述できない現象を扱う学問#6109fbb8bb24d4000002e8df
社会を完全に論理的に記述しようとすると、発狂するので気をつけよう
社会を論理的ではない形で記述する方法もいろいろあるので活用できないか
法律や制度のほうが論理的に厳密すぎて狂っている
データ構造の選択肢
Prolog
lisp
XML
JSON
MongoDB
バイナリ
クエリ言語の選択肢
SQL
Prolog
lisp
SPARQL
JSON
MongoDB
Elasticsearch
yuiseki.iconの現状での考え
データ構造はJSON、バックエンドはMongoDB
絞り込みにはsift.jsを使ってみる
懸念
懸念としては、「proj-povertyでの貢献を、Civichatが商業化して全部奪っていった」みたいなのになっちゃうと良くないと思ってる
その会社が最もコントリビューションしているような感じであれば、許されるのではないかなぁhal_sk.icon
参加者のゴールは、「社会課題が解決されること」であって、「儲かること」ではないため。儲けるためであればもっと効率良い手段はいくらでもある。関係者間でフェアであれば良い。
agreeyuiseki.icon
それも含めて、うちのメンバーと話す機会を設けてほしいです
tkgshn-yuiseki 2021-07-30#61039ca109c5f20000d9e9c5
ここでいう貢献の定義が必要yuiseki.icon
ソフトウェア開発?
ソフトウェア開発なら私yuiseki.iconが中心となってCode for Japanで開発するソフトウェアはすべてWTFPLというライセンスにするつもりです
奪ってもらえるような開発成果が生み出せるといいけど……😅yuiseki.icon
ライセンスはともかくとして評判に影響するのではという懸念はわかる
一方で私yuiseki.iconが共同開発的に書いたコードを企業として所有したいのであれば業務請負契約や業務委託契約にしたい
なるほど!それが良さそうですtkgshn.icon
データの収集や入力や整理の作業?
オープンデータは定義通り営利非営利に関わらず無償で自由に使ったら良いのではないかと思う
オープンデータ整備への報酬にもいろいろありうる
達成感、社会的承認欲求、自己肯定感
名誉、栄誉
表彰
貢献に応じた金銭的報酬
金銭的報酬をめちゃくちゃ得たいという人はそもそもCode for Japanのような活動に関わらないと思うyuiseki.icon
あるいは伝播投資貨幣のように継続的に報酬が得られると最も理想的
自分が作ったデータで儲ける人がいたらその一部が自分への報酬として返ってくる
これ良さそうですねtkgshn.icon
貧困の当事者に経済支援制度のデータ入力・整理をやってもらって報酬を払うのはどうかというのを思いついた
作業に対して報酬を支払うのは契約が必要なので大変そう
ところでCode for Japanでうまくいくパターンというのも見えてきていると思うyuiseki.icon
proj-poverty yuiseki 2021-07-15#60f0208dbb24d40000920a37
Code for Japanのような多数の人間が集まるコミュニティによってソフトウェアエンジニアリングが加速するパターン
一言で言ってしまうと問題を単純作業に落とし込んで人海戦術する
制度の追加を誰でもできるようになると便利tkgshn.icon
例えば、公共制度以外にもNPOや奨学金などがそれに当てはまるかも
モチベーションが問題yuiseki.icon
面白くないとエンジニアは巻き込めない
個人やボランティアでの限界について
会社じゃないと出来ないことにも続きを書いた
おおむね同意ですyuiseki.icon
超スゴイ便利OSSは大抵、企業が開発している
付け加えるとすると
ソフトウェアやITサービスに限った話ではなく、
カネがないとブートストラップ、スケールできないプロジェクトというのはある
逆に言うとカネがあるとブートストラップ、スケールできるプロジェクトというのはある
解決しようとする問題が複雑かつ巨大なほどカネが必要だろう
法人でないと様々な制約がある
ソフトウェアやITサービスに限ると
機械学習やデータ分析には質の高いデータが必要だが、質の高いデータはタダでは手に入らない
ソフトウェアは計算資源を投入するほどスケールできるのが特徴だが、計算資源は有料である
高度なソフトウェアを設計開発運用できる質の高いソフトウェアエンジニアを集めるのにはカネが掛かる
フルタイムで開発に専任するソフトウェアエンジニアを雇えない
ここが一番ネックになっていそう
ビジネスとしてスケールさせるために、マーケティング、セールス、サポートにもカネを掛けている
そもそも、お金を扱うようなWebサービスを運用するには、以下が必要
利用規約
個人情報保護方針
特定商取引法に基づく表記
これらは真面目にやるならどれも法律の専門家の助言が必要となる
ボランティアチームや個人としてやっていくのはハードルが高い
会社じゃなくても出来ていることも挙げないと不公平かなyuiseki.icon
Code for Japanでボランティアベースで開発が活発に進められているプロジェクト
Social Hack Dayで展開されているプロジェクトはいろいろある
ClassTech Labs
PolityLink
これはなかなか複雑なソフトウェア
https://github.com/politylink
https://graphql.politylink.jp/
Decidim
極めて複雑なソフトウェア
もともと海外のオープンソースのソフトウェアをローカライズしているという流れではある
ローカライズを(協力も得ながら)自分でやって、インスタンス立てられるところまではボランタリー hal_sk.icon
その後、加古川市が使いたいと言ってくれたので有償で Code for Japan へ委託してもらっています。
社内でもcfjの話は出てて、それは非営利団体だから出来るんじゃないか説もあったりします:/tkgshn/BizDevとDevを分けるtkgshn.icon
remote-patient-monitoring-client
これは北海道から助成金を貰っていたんだっけ?
北見工大の先生の依頼を受けて、私が中心になってスキマ時間で開発してから、最終的に北海道が実証実験のための費用を支払ってくれました hal_sk.icon
開発者に報酬が支払われているのかは不明
開発時から手伝ってくれていたインフォラウンジさんに運用面を委託していて、上記費用はインフォラウンジさんに対して支払ってもらっています。(命に関わるものなので、CfJの体制では抱えきれない)hal_sk.icon
2021/8/4 mtg log
自己紹介
みんなわいわいやっていきましょう!
このmtgが始まった経緯
proj-povertyをtkgshnが見つけた
ちょくちょくtkgshn.iconがmtgに参加したりしている
同じような悩みを持っている
制度をどのように推薦していくの
Civichatではどのようなことを考えているのか
もとはJSONを絞り込むものをもっていました
JSONでやるのはしんどい
人間が読み書きするのが厳しい
もっと簡単に書ける方法がほしい
とにかく悩んでいる
「選ぶのが難しい」ことを排除する
必要条件・十分条件
完全なマッチングを実現するためには必要十分条件である必要がある
「ある程度絞り込んで表示する」みたいなこともあるかもしれないtkgshn.icon
ゴール
利用条件を書き出すことができるのであれば、市民に対してシステムから能動的に制度を出せる
これを自治体の制度を設計する人間にどこまで求めるのか
CPSV
経産省も似たことをやっている
https://mirasapo-plus.go.jp/ tkgshn.icon
https://app.swaggerhub.com/apis/JPSMEA/api-search-case-and-assistance-data/4.0 tkgshn.icon
企業向けの助成金を探せる
これちゃんとみたら結構すごいyuiseki.icon
swaggerでAPI設計しているのも筋が良い
あくまでもプロパティの一覧でしかない
制度の情報 + 論理的に記述された利用条件が必要tkgshn.icon
https://gyazo.com/14ba333574ce41df209e32dfb6f7dc22
凄まじい勢いで更新されていることに気づいた
今は中小企業向けだけど、内閣府とかはこれを個人向けにも導入していく動きありtkgshn.icon
申請ゼロ、デフォルト申請
オプトイン・オプトアウトの議論
Civichatは、まず、CPSV+推薦条件の管理画面を自治体に提供していきたい
推薦条件を記述するためにCivichat-langを研究している
法律や制度は現場の判断で動いているところもある
ゆえに、すべてを論理的に定義することは困難yuiseki.icon
一方で、現時点でも、申請すれば受けられるはずなのに、その制度を知って申請しないと受けられない制度が多数ある
生活保護
申請主義tkgshn.icon
ポスト申請主義を考える会
https://ova-japan.org/wp-content/uploads/2019/04/日本における申請主義の現状と課題.pdf
会社じゃないと出来ないこと?
yuiseki.icon
todo.icon proj-povertyでもCPSVのフォーマットで制度を記述しておけば合流できる可能性あり
proj-poverty 2021-08-04 MTG#61095a4ceee05d00006efbbb
利用条件を書き出すことができるのであれば、市民に対してシステムから能動的に制度を出せる
制度を探す人間は正確に自分の状況を認識して入力できるのか?
Civichat-lang
拡張子plにしているのは便宜上で、prologではないyuseiito.icon
DSL
JSONにコンパイルされる
Civichat-langはインターフェースにすぎない
CPSVの勉強会をやってみるのはどうかyuiseki.icon
Social Hack Dayとかでやれるとよい
proj-lawvisの方々も巻き込めるのでは
いろんな興味ある人を巻き込める可能性がある
グラミン日本の方々にも広めておくといいかもtkgshn.icon
CPSVについてわかるドキュメントとかあるといいね
Civichat-langを前に進める上で
複雑なデータがいっぱいほしいyuseiito.icon
作ったものが対応できるか知りたいyuseiito.icon
めっちゃ複雑すぎるやつくれーyuseiito.icon
proj-lawvisで法律の関連をネットワーク化していたので、いい感じの複雑な問題探せるかもyuiseki.icon
https://www.lawvis.info/app/
厚生年金、健康保険、年金あたりは複雑そうyuiseki.icon
tkgshn-yuiseki 2021-07-30#610a33d5bb24d40000abf0b5
Rule as Codeは、立法の時点で機械可読にしよう、そうすれば問題のある法律にはならないし、市民もそのデータを使えるはずだという両面からのアプローチ
いずれ法案をつくる政治家はコードを書くエンジニアになる?yuiseki.icon
法律が機械可読になれば、完全に合法な非倫理的行為を実行することが可能になるかも
脱法?
道路交通法には、免停基準に達しても永久に運転できるセキュリティホールがあるのではないか? - 登 大遊 (Daiyuu Nobori) の個人日記tkgshn.icon
今後の課題:どうやると楽しい?どうやると盛り上がる?yuiseki.icon
他のエンジニアを巻き込んでワイワイしたい
適度にふざけていきたい!
災害ユートピアyuiseki.icon
突発的な大規模災害時に、みんなが利他的になる
sinsai.infoやCode for Japanの東京都新型コロナウイルス感染症対策サイトなどもこれに該当するだろうと思っている
新型コロナ調査ちゃん
新型コロナウイルス(COVID-19)各自治体の経済支援制度まとめ(地域検索)
新型コロナの支援精度を収集するやつ
全国の自治体Webサイトからコロナ・支援・制度とかの文字列でURLを抽出
抽出したURLが本当に支援制度がどうかがわからないので、フィルタリングをSlackBotを使って「これは支援制度ですか?」と聞くようなツールを作ったyuiseki.icon
ほとんどシェルスクリプトで書いた
エンジニアにはバカウケ
反省点
再利用性がなくなってしまった
GitHub - arakawatomonori/covid19-surveyor: 主要省庁と都道府県や自治体の経済支援制度をまとめる
これに似てるtkgshn.icon*3
/emoji/twitter.icon 「機械学習させたいモノを、スパムボット判定に使う」というアプローチはイグノーベル賞モノではないかとおもってる。スパムが突破できなければ、認証として優秀。スパムが突破してくるなら、機械学習の教師データ作成をスパムにやらせられる。超スマート。
@fladdictfladdict.icon April 20, 2021
Luis von Ahn: ルイス・フォン・アーン 「ネットを使った大規模共同作業」 | TED Talk
reCAPTCHAはセキュリティだけではなく、古文解析に使われてる
/emoji/twitter.icon これすでにやってて、リチャプタは古文解析とかに使われてる。 https://t.co/wr4dl0ZSJ7
@tkgshntkgshn.icon April 20, 2021
next action
todo.icon proj-povertyでもCPSVのフォーマットを試みるyuiseki.icon
将来的には、奨学金とかも推薦対象になったりするかもtkgshn.icon
https://ec.europa.eu/isa2/solutions/core-public-service-vocabulary-application-profile-cpsv-ap_en
Code for Japan内でのCPSVの勉強会
NPOの支援制度は記述できるのかが気になるyuiseki.icon
Civichat.iconどこを落とし所持っていくか
Civichat-langについては、yuseiito.iconが頑張ることになりそう
データ集めとかは人海戦術で頑張っていけそう
proj-povertyの力を借りることも出来そうtkgshn.icon