-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
47 lines (47 loc) · 270 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html>
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# website: http://ogp.me/ns/website#">
<meta charSet="utf-8"/>
<meta name="viewport" content="width=device-width"/>
<meta name="next-head-count" content="2"/>
<meta property="og:type" content="website" />
<title>安野たかひろ都知事選出馬に関しての人々の反応と論点</title>
<meta property="og:site_name" content="安野たかひろ都知事選出馬に関しての人々の反応と論点" />
<meta property="og:title" content="安野たかひろ都知事選出馬に関しての人々の反応と論点" />
<meta name="twitter:title" content="安野たかひろ都知事選出馬に関しての人々の反応と論点" />
<meta name="description" content="安野たかひろ都知事選出馬に関するニュースへのコメントを抽出し、人々の反応と論点はどのようなものか、AIで分析レポートを作成しました"/>
<meta property="og:description" content="安野たかひろ都知事選出馬に関するニュースへのコメントを抽出し、人々の反応と論点はどのようなものか、AIで分析レポートを作成しました" />
<meta name="twitter:description" content="安野たかひろ都知事選出馬に関するニュースへのコメントを抽出し、人々の反応と論点はどのようなものか、AIで分析レポートを作成しました" />
<meta property="og:url" content="https://takahiroanno2024.github.io/yahoo-comment-analysis-20240610/" />
<meta property="og:image" content="https://takahiroanno2024.github.io/yahoo-comment-analysis-20240610/images/ogp.png" />
<meta name="twitter:image" content="https://takahiroanno2024.github.io/yahoo-comment-analysis-20240610/images/ogp.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@annotakahiro24" />
<link rel="preload" href="./_next/static/css/d1386df84e9d164b.css" as="style" crossorigin=""/>
<link rel="stylesheet" href="./_next/static/css/d1386df84e9d164b.css" crossorigin="" data-n-g=""/>
<noscript data-n-css=""></noscript>
<script defer="" crossorigin="" nomodule="" src="./_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script>
<script src="./_next/static/chunks/webpack-1e7d36e3ced660e3.js" defer="" crossorigin=""></script>
<script src="./_next/static/chunks/framework-0c7baedefba6b077.js" defer="" crossorigin=""></script>
<script src="./_next/static/chunks/main-75623049b75f64cc.js" defer="" crossorigin=""></script>
<script src="./_next/static/chunks/pages/_app-41fcb505e2a6ec3b.js" defer="" crossorigin=""></script>
<script src="./_next/static/chunks/3e199aef-8a882f67d84a9743.js" defer="" crossorigin=""></script>
<script src="./_next/static/chunks/413-fe7ad88e9897fb6d.js" defer="" crossorigin=""></script>
<script src="./_next/static/chunks/664-4ccc24e47970c0fa.js" defer="" crossorigin=""></script>
<script src="./_next/static/chunks/550-a21c3768867c648a.js" defer="" crossorigin=""></script>
<script src="./_next/static/chunks/pages/index-cc72100c2afe033d.js" defer="" crossorigin=""></script>
<script src="./_next/static/aZQl6X8wn0bor6WDO4T50/_buildManifest.js" defer="" crossorigin=""></script>
<script src="./_next/static/aZQl6X8wn0bor6WDO4T50/_ssgManifest.js" defer="" crossorigin=""></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-JXL1KS1T58"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-JXL1KS1T58');
</script>
</head>
<body>
<div id="__next"></div>
<script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{"result":{"clusters":[{"cluster":"技術と政策の融合","cluster_id":"0","takeaways":"参加者の意見は、IT技術に精通したリーダーの重要性と、安野貴博氏の都知事選出馬に対する評価に集中しています。多くの意見は、安野氏が技術的な知識を持つことを評価しつつも、都知事としての経験不足や実績の欠如を懸念しています。また、都知事選出馬前に小規模な自治体での経験を積むべきだという意見も多く見られます。一方で、安野氏の発言や政策に新鮮さが欠けると感じる人もおり、彼の立候補が情報収集や選挙の数値化を目的としているのではないかという疑念もあります。全体として、安野氏の技術的な知識は評価されているものの、政治的な経験や実績の不足が懸念されている状況です。","arguments":[{"arg_id":"A0_0","argument":"過去にIT先進国を目指していたにも関わらず、ITに詳しくない人が大臣を務めていたため、今の日本があると思う。","comment_id":"0","x":-0.8532912,"y":9.195124,"p":1},{"arg_id":"A1_0","argument":"技術は使い手の意識と目的次第で、犯罪目的にも社会貢献にも変わる。","comment_id":"1","x":-0.31292832,"y":8.287385,"p":1},{"arg_id":"A1_1","argument":"資本主義構造の中で技術を活用する場合、使う側の位置が重要である。","comment_id":"1","x":-0.28193986,"y":8.215774,"p":1},{"arg_id":"A1_2","argument":"技術を使う側は、その可能性を応用し続けて発展性がある。","comment_id":"1","x":-0.23682544,"y":8.214021,"p":1},{"arg_id":"A1_3","argument":"技術に依存する人が増えれば、社会が停滞する可能性がある。","comment_id":"1","x":-0.3514921,"y":8.273302,"p":0.8644788446765745},{"arg_id":"A1_4","argument":"技術の使い方にはアイデアと企画性が必要であり、自動化やシステムが目的に沿って発展して欲しい。","comment_id":"1","x":-0.19370344,"y":8.256473,"p":1},{"arg_id":"A6_0","argument":"彼は都知事ではなく、シンクタンクや専用の室長としてブレーンとして参画するほうが手腕を発揮しやすいのではないか。","comment_id":"6","x":-0.56912816,"y":9.543162,"p":0},{"arg_id":"A6_1","argument":"行政の長は泥臭い話が多いので、彼には小さい自治体の長として経験を積むことが先決かもしれない。","comment_id":"6","x":-1.3121169,"y":10.213591,"p":0.928293809210862},{"arg_id":"A8_0","argument":"テクノロジーに対する考えには全く同意します。しかし、現実の組織でそれを実現する経験が少ない点が気になります。","comment_id":"8","x":-0.19712737,"y":8.308278,"p":1},{"arg_id":"A8_1","argument":"都政も多くの既存の仕組みがあり、限られた人的リソースで対応する必要があります。技術的負債をどう解決するのか、そしてその話について来れる人がいない場合、どうするのかを聞きたいです。","comment_id":"8","x":-0.77702785,"y":8.86639,"p":0.7907721401809709},{"arg_id":"A9_1","argument":"都知事が新しい視点を持っていても、議会が旧態依然のままだとレームダックになる可能性がある。","comment_id":"9","x":-2.0317826,"y":10.396266,"p":0},{"arg_id":"A10_2","argument":"マイナ保険の件など、知識のある方がトップで対応する方が信頼性が高いと思います。","comment_id":"10","x":-0.1488063,"y":8.674912,"p":1},{"arg_id":"A11_4","argument":"こういう人材は都知事に限らず、国政にも参画してほしい。","comment_id":"11","x":-0.9096242,"y":10.346648,"p":1},{"arg_id":"A12_0","argument":"都知事選出馬記者会見の全文をNoteで見ましたが、投票はこの人を考えています。","comment_id":"12","x":-0.4649009,"y":10.2554,"p":0.7075100524269804},{"arg_id":"A12_1","argument":"個別の政策に言及はなかったが、都庁のスタッフ陣が対応するので問題ないと思います。","comment_id":"12","x":-1.9416968,"y":10.806769,"p":0},{"arg_id":"A12_2","argument":"制度の大枠のアップデートはトップダウンでしかできないので、期待しています。","comment_id":"12","x":-1.0815401,"y":9.252655,"p":1},{"arg_id":"A12_3","argument":"開成→東大→外コン→IT起業家の経歴から、制度改革を実行してもつぶされずに守られそうです。","comment_id":"12","x":-0.8120438,"y":9.125519,"p":1},{"arg_id":"A16_4","argument":"都知事選に負けても国政にチャレンジして欲しい。応援します。","comment_id":"16","x":-0.9320841,"y":10.85642,"p":1},{"arg_id":"A17_1","argument":"新しいシステムを導入すれば解決するが、わざと進歩させない理由がある。裏金と買収で当選できる余地を残しているためである。","comment_id":"17","x":-0.9117455,"y":9.043459,"p":1},{"arg_id":"A19_0","argument":"この技術は国会質問のあり方を変える可能性がある。","comment_id":"19","x":-1.0778024,"y":8.652783,"p":0},{"arg_id":"A19_1","argument":"信頼性の問題があるため、しばらくは完全に自動化することは難しいが、無駄を削減できる。","comment_id":"19","x":-0.3766346,"y":8.481233,"p":0.3725495798711021},{"arg_id":"A19_2","argument":"有権者は議員を介さずに24時間質問し、回答を得ることができ、政策の提案や修正も行える。","comment_id":"19","x":-1.8267334,"y":10.441219,"p":0.7563753044756978},{"arg_id":"A20_3","argument":"古い、分かりにくい、穴だらけの日本の基幹システムも何とかして欲しい。","comment_id":"20","x":-0.9986602,"y":9.190566,"p":1},{"arg_id":"A21_0","argument":"日本では頭がいい人が医者になることが多い中、ITエンジニアが立候補するのは喜ばしいことです。","comment_id":"21","x":-0.2232668,"y":9.020066,"p":0},{"arg_id":"A23_5","argument":"政策も変更出来るなら、神宮外苑等の環境破壊する開発やメガロポリスの東京には住民の意思が反映出来る余地がある。","comment_id":"23","x":-1.0595093,"y":10.741011,"p":1},{"arg_id":"A28_1","argument":"東京都のトップは大きすぎるので、小さな市町村でのトップを経験してからの方が良いと思います。","comment_id":"28","x":-0.8122226,"y":9.868961,"p":0},{"arg_id":"A28_2","argument":"安倍政権時代、心愛ちゃんの事件で安倍晋三総理は官僚に指令を出しましたが、何も変わりませんでした。","comment_id":"28","x":-1.6291724,"y":10.686012,"p":1},{"arg_id":"A28_5","argument":"トップダウンでは世の中は変わりません。市を変えられたなら、都や国を変えられる手順を踏むことを勧めます。","comment_id":"28","x":-1.2892698,"y":10.26238,"p":1},{"arg_id":"A30_0","argument":"安芸高田市の市長がトップで、ITに関するブレーンとしてこの方が適任だと思います。","comment_id":"30","x":-0.00292607,"y":8.819933,"p":1},{"arg_id":"A32_0","argument":"都知事は権限があるため、面白いかもしれない。","comment_id":"32","x":-1.7443625,"y":9.90963,"p":1},{"arg_id":"A33_1","argument":"感情的にしか物事をとらえられない候補者よりも、都知事にふさわしいと思う。","comment_id":"33","x":-0.5460891,"y":10.567682,"p":0},{"arg_id":"A34_1","argument":"自分の同期で理Ⅰ組はほとんどが大企業か大学に残り研究者を選んでいたが、最近は理Ⅰも起業する人が増えたと感じる。","comment_id":"34","x":-0.017652921,"y":9.318338,"p":0},{"arg_id":"A36_0","argument":"プログラムのコードは100%自分の自由に書くことができますが、議会はそうはいきません。","comment_id":"36","x":-1.895079,"y":10.28577,"p":1},{"arg_id":"A37_0","argument":"彼はこれからの日本に必要な人物だと思うが、都知事になれるかは別問題だ。","comment_id":"37","x":-0.74010825,"y":10.148401,"p":0.8397817564146222},{"arg_id":"A41_1","argument":"知事としては、建設ゼネコンや医師会などの利権調整や、様々な階層との関わりが必要である。","comment_id":"41","x":-1.6384344,"y":10.74374,"p":1},{"arg_id":"A43_1","argument":"有力候補者と調整し統一候補化するなどタッグを組めば、東京は非常に魅力的な街になるかもしれない。","comment_id":"43","x":-0.21317749,"y":9.966809,"p":0.6814303435381592},{"arg_id":"A47_0","argument":"今回は知名度的に無理でも、都知事選で知名度を上げたら、デジタル担当相として声がかかることは十分あり得る。","comment_id":"47","x":-1.5443763,"y":9.175055,"p":1},{"arg_id":"A48_0","argument":"都知事ではなく国政の方が適しているのではないか。","comment_id":"48","x":-1.6548448,"y":9.534913,"p":1},{"arg_id":"A48_1","argument":"知事職は専門分野に特化できないため、国会議員の方が可能性が広がると思う。","comment_id":"48","x":-1.810887,"y":10.585048,"p":0.7563753044756978},{"arg_id":"A54_0","argument":"彼が有能で日本にとって必要な人物であれば、都知事選で名前や思想、目指す所を多くの人に知ってもらうことは正しいプロセスだと思います。","comment_id":"54","x":-0.95366436,"y":10.257011,"p":0},{"arg_id":"A57_2","argument":"都知事選を足がかりに知名度を上げ、将来的に自民党の推薦や公認を狙う候補者として注目している。","comment_id":"57","x":-0.90865576,"y":10.416593,"p":1},{"arg_id":"A59_1","argument":"都知事になると利益相反が生じ、自身の発明品を活用しにくくなる。","comment_id":"59","x":-1.3060186,"y":9.603704,"p":0.4672881121274805},{"arg_id":"A60_0","argument":"日本の政治家はデジタル技術開発を理解しようとしない人が多いので、安野貴博さんには頑張ってほしいが、この記事を読んで支持する気にはなれない。","comment_id":"60","x":-1.3954444,"y":9.314765,"p":1},{"arg_id":"A60_1","argument":"安野氏の発言には新味がなく、デジタル系の人なら誰でも言いそうなことばかりである。","comment_id":"60","x":-1.6623213,"y":9.163222,"p":0},{"arg_id":"A60_2","argument":"記事を読む限り、安野氏は今回の都知事選挙で知事になろうと思っていないように見える。目的は情報収集と選挙の数値化だろう。","comment_id":"60","x":-0.6922554,"y":10.460275,"p":1},{"arg_id":"A62_0","argument":"都知事は勿体無い。まだ30そこそこだし、もっと技術に専念するべきだと思う。","comment_id":"62","x":-1.5536554,"y":9.606519,"p":1},{"arg_id":"A63_0","argument":"都が先駆けてIT化を推進し、地方都市と連携できれば、国政への影響力が増し、より良い情報化社会が構築されると思います。","comment_id":"63","x":-0.6015224,"y":8.856008,"p":0},{"arg_id":"A63_1","argument":"蓮舫や石丸のような目立ちたいだけの人よりも期待できると思いますが、ITによって仕事がなくなる人やITに疎い人、既得権益を守る人たちが政策を妨害するでしょう。","comment_id":"63","x":-0.55572605,"y":9.156231,"p":0},{"arg_id":"A64_1","argument":"能力と可能性は理解したが、トップではなく大臣、副知事、特別参与的な位置が適していると思う。","comment_id":"64","x":-0.32298723,"y":10.266524,"p":0},{"arg_id":"A64_3","argument":"機械は集計するだけだが、この方は説得できるのだろうか?例えば広島の芸備線廃止問題など。","comment_id":"64","x":-0.6770444,"y":8.443098,"p":0},{"arg_id":"A69_1","argument":"現職や国会議員、市長がやることは他の人でもできる。","comment_id":"69","x":-1.8179054,"y":10.227834,"p":1},{"arg_id":"A70_1","argument":"副知事に調整能力の高い人が加われば、人口減少局面の日本を再定義する良いモデルケースができるかもしれません。","comment_id":"70","x":-1.0332284,"y":10.697979,"p":0.9746786124012964},{"arg_id":"A75_1","argument":"都政・都民をより良い方向に導いてくれる方なら応援したい。","comment_id":"75","x":-0.8187467,"y":11.044815,"p":0},{"arg_id":"A77_1","argument":"知事としては、IT以外の膨大な問題にも関わる必要があるし、ITを使えない人たちのことも考える必要がある。","comment_id":"77","x":-0.76894706,"y":9.050135,"p":1},{"arg_id":"A79_0","argument":"この人なら東京都知事としても成功するかもしれない。","comment_id":"79","x":-0.6769849,"y":10.025469,"p":1},{"arg_id":"A79_1","argument":"東京都知事の給料は今の収入を下回るかもしれない。","comment_id":"79","x":-0.6595052,"y":9.741028,"p":0},{"arg_id":"A82_0","argument":"誰が知事になっても生活は大して変わらないと思う。","comment_id":"82","x":-1.6739583,"y":10.529456,"p":1},{"arg_id":"A82_1","argument":"それならば、新しい視点を持つ人に都知事になってもらい、いろいろアップデートしてもらったほうがいい。","comment_id":"82","x":-1.2989357,"y":9.989052,"p":1},{"arg_id":"A83_1","argument":"テクノロジーに理解のあるトップと組んだ方が良い。","comment_id":"83","x":-0.085581064,"y":8.555836,"p":1},{"arg_id":"A84_1","argument":"都知事に適正があるかは未知数だが、こういう人間を支えるべきだと思う。","comment_id":"84","x":-1.2407901,"y":10.41082,"p":0.6870477072741532},{"arg_id":"A85_0","argument":"テクノロジーは手段であり、それを使って何をしたいかが重要である。","comment_id":"85","x":-0.18441252,"y":8.282817,"p":1},{"arg_id":"A85_2","argument":"副知事の宮坂さんの部下として1領域を任されるくらいの主張だと思う。","comment_id":"85","x":0.43316686,"y":9.189772,"p":1},{"arg_id":"A87_0","argument":"都知事レベルでは勿体無い。","comment_id":"87","x":-1.6680073,"y":9.949898,"p":1},{"arg_id":"A90_3","argument":"是非協力して都政をアップデートしていきましょう!","comment_id":"90","x":-1.1186218,"y":9.8139925,"p":0},{"arg_id":"A92_0","argument":"知性だけで最大都市東京を治められるのか疑問です。","comment_id":"92","x":-0.10991265,"y":9.744797,"p":1},{"arg_id":"A94_1","argument":"ネットの黒い部分を暴き、安心できるネット環境を作るために、今がその時である。","comment_id":"94","x":0.22167495,"y":8.966336,"p":0.8647137364885443},{"arg_id":"A99_1","argument":"ぜひ都知事になって頂きたい。","comment_id":"99","x":-1.2199204,"y":9.950329,"p":1},{"arg_id":"A103_1","argument":"上層部がテクノロジーを理解していないと、会社なども形だけのものになってしまう。","comment_id":"103","x":-0.11483936,"y":8.563318,"p":1},{"arg_id":"A108_0","argument":"こういう人に一度、都知事をやってもらうのが日本にとって良いのではないかと思います。","comment_id":"108","x":-1.2002592,"y":10.184517,"p":0.907209915211884},{"arg_id":"A109_0","argument":"都知事に当選しなくても、区長ならもっと自由なことができる。","comment_id":"109","x":-1.7523897,"y":10.112874,"p":0},{"arg_id":"A109_1","argument":"区長からステップアップするのも良い方法である。","comment_id":"109","x":-1.3225583,"y":9.97798,"p":1},{"arg_id":"A112_0","argument":"才能ある人は政治に関わらず、技術的な進歩に貢献してほしい。","comment_id":"112","x":-0.7925506,"y":10.810006,"p":0.8134040500854808},{"arg_id":"A115_2","argument":"学歴だけで政治が務まるのなら、舛添は落選せず都知事を続けられたはずだ。","comment_id":"115","x":-1.7077515,"y":10.72505,"p":1},{"arg_id":"A121_0","argument":"この人に都知事になってほしいが、選挙は人気投票だ。","comment_id":"121","x":-0.7079146,"y":10.263927,"p":0.8397817564146222},{"arg_id":"A124_0","argument":"鉄腕アトムのお茶の水博士は科学技術庁長官。","comment_id":"124","x":0.11334809,"y":8.694511,"p":0},{"arg_id":"A124_1","argument":"大臣は民間から専門家を登用するべき。","comment_id":"124","x":-1.6441345,"y":10.634761,"p":1},{"arg_id":"A124_3","argument":"今の長官は河野なんだぜー。","comment_id":"124","x":0.353202,"y":9.157248,"p":1},{"arg_id":"A125_1","argument":"しかし、安易に『アップデート』という言葉を多用するのは好きではありません。","comment_id":"125","x":-1.1772466,"y":9.371775,"p":0.8756474474298321},{"arg_id":"A128_0","argument":"東京都の知事に立候補する前に、他の市町村の首長として実績を積んでほしい。","comment_id":"128","x":-0.754446,"y":10.048714,"p":1},{"arg_id":"A129_0","argument":"現知事や批判ばかりの人よりも、頭のいい人に世の中を変えてほしい。","comment_id":"129","x":-0.5904931,"y":10.747997,"p":0.8134040500854808},{"arg_id":"A131_0","argument":"AI利用で都職員を半分に削減して効率化するというなら投票する。","comment_id":"131","x":-0.56862444,"y":8.245034,"p":0.3455704953105857},{"arg_id":"A131_1","argument":"労働時間と給料を半減し、担当業務と関係のない副業のみ解禁でもOK。","comment_id":"131","x":-0.46649602,"y":9.312117,"p":0},{"arg_id":"A132_1","argument":"この方なら適任だと思う。","comment_id":"132","x":-1.16542,"y":10.814758,"p":0.9746786124012964},{"arg_id":"A139_0","argument":"アメリカを見てもわかる通り、大統領と言えども議会には逆らえない。","comment_id":"139","x":-1.9793602,"y":10.696345,"p":0},{"arg_id":"A139_1","argument":"味方なしにムーブメントで散って行った都知事の姿。","comment_id":"139","x":-0.63282967,"y":9.89364,"p":0.6500760053653188},{"arg_id":"A144_0","argument":"誰が都知事になっても、この人をIT関係の責任者に登用するべきだ。","comment_id":"144","x":-1.0701864,"y":9.244788,"p":1},{"arg_id":"A148_0","argument":"素晴らしい人材は都ではなく国政に貢献すべきではないでしょうか。","comment_id":"148","x":-0.83958995,"y":10.457669,"p":0.7608384396652583},{"arg_id":"A150_0","argument":"この人は魅力的だが、都知事選が売名の場になっているように感じる。","comment_id":"150","x":-0.6145804,"y":10.101642,"p":0.8847235793787706},{"arg_id":"A152_0","argument":"「テクノロジーで誰も取り残さない東京へのアップデート」と言いながら、選挙でいきなりGitHubを使うのは馴染みのない大勢の人を蚊帳の外にしている。","comment_id":"152","x":-1.4613236,"y":10.965012,"p":0},{"arg_id":"A162_1","argument":"なぜそんな人が総理なのか?","comment_id":"162","x":-1.1965104,"y":10.313097,"p":1},{"arg_id":"A164_0","argument":"都知事になれなくても、新都知事からスカウトされる可能性があるのではないか?","comment_id":"164","x":-1.8575763,"y":9.748174,"p":0},{"arg_id":"A174_0","argument":"いい人材だが、都知事には向いていないと思う。","comment_id":"174","x":-0.6674999,"y":10.30371,"p":1},{"arg_id":"A176_0","argument":"国会議員にも必要な人材だ。","comment_id":"176","x":-1.5522509,"y":10.888919,"p":0.6482542318647148},{"arg_id":"A177_0","argument":"エンジニア向きだと思います。","comment_id":"177","x":0.12036346,"y":8.14945,"p":0},{"arg_id":"A185_0","argument":"都知事になるよりも研究開発に専念すべきではないか。","comment_id":"185","x":-1.619716,"y":9.54207,"p":1},{"arg_id":"A192_2","argument":"この人も芦屋市長のように上手くブランディングとインパクトを出せれば良いのに。","comment_id":"192","x":-0.26118264,"y":9.729933,"p":0.6903439797676054},{"arg_id":"A195_0","argument":"このタイプの人はトップではなく道具として使われるべきだ。","comment_id":"195","x":-0.09715219,"y":8.944812,"p":1},{"arg_id":"A198_1","argument":"言葉を扱う仕事が、この程度のボキャブラリーで務まるという現実が問題だ。","comment_id":"198","x":0.056814395,"y":9.738379,"p":1},{"arg_id":"A201_0","argument":"理系の知事が必要だ。文系の知事は口が達者で言い訳ばかりで責任を取らない。","comment_id":"201","x":-1.7585115,"y":10.498723,"p":1},{"arg_id":"A207_0","argument":"都知事なんてお笑いでもできる。","comment_id":"207","x":-1.7995437,"y":9.924097,"p":1},{"arg_id":"A207_1","argument":"勿体ない人材です。","comment_id":"207","x":-0.5170441,"y":10.160338,"p":0.8847235793787706}]},{"cluster":"デジタル分野の適性","cluster_id":"8","takeaways":"参加者は、デジタルに精通した人材がリーダー職に就くことの重要性を強調しつつ、その人材を都知事よりもデジタル担当大臣やデジタル庁の長官として活用することを提案しています。デジタル分野での専門知識を活かし、政策のデジタル化やテクノロジー導入を進める役割が適していると考えています。また、デジタル分野以外の政策に対する不安も示されており、デジタル特命部長やデジタル担当大臣としての役割が最適であるとの意見が多く見られます。","arguments":[{"arg_id":"A0_1","argument":"デジタルに精通している人が首長や大臣などのリーダー職に就くことは非常に良いことだ。","comment_id":"0","x":-1.8848997,"y":8.4169,"p":0.9513398343204924},{"arg_id":"A13_0","argument":"この人はデジタル世界の諸葛孔明的な存在なので、リーダーではなく軍師として都政を支えてほしい。","comment_id":"13","x":-1.9272724,"y":8.521815,"p":1},{"arg_id":"A13_1","argument":"リーダーは劉備玄徳のような大きな器を持った方になってもらい、彼をデジタル特命部長などにしてうまく使いこなすのがよい。","comment_id":"13","x":-1.9370615,"y":8.427344,"p":1},{"arg_id":"A14_0","argument":"若い候補者がデジタル分野に関わる政策に注目していますが、社会分野、経済政策、教育、福祉などの分野に不安があります。","comment_id":"14","x":-1.344702,"y":8.475144,"p":0},{"arg_id":"A25_1","argument":"その才能で政治判断のデジタル化は大賛成です。","comment_id":"25","x":-1.7422718,"y":8.242994,"p":0.4833401509287596},{"arg_id":"A39_0","argument":"都知事選で名を広めて、デジタル担当大臣になって欲しい。","comment_id":"39","x":-1.8384193,"y":8.815446,"p":0.4663736948333001},{"arg_id":"A41_0","argument":"デジタル大臣には向いているが、知事には向かないのではないか。","comment_id":"41","x":-2.0327506,"y":8.711843,"p":1},{"arg_id":"A55_0","argument":"この人材はデジタル大臣に適しているかもしれないが、AI技術が良い方向に向かうことが前提である。","comment_id":"55","x":-1.5649545,"y":8.161632,"p":0},{"arg_id":"A62_1","argument":"都知事になったら技術がなまるかもしれないので、デジタル相が向いていると思う。","comment_id":"62","x":-1.5471615,"y":8.703866,"p":1},{"arg_id":"A72_0","argument":"国を想うなら、以前デジタル庁が人員募集をかけた時に応募すべきだった。","comment_id":"72","x":-1.8253769,"y":8.549654,"p":0.9318271832970442},{"arg_id":"A87_1","argument":"デジタル担当大臣になり、様々な分野のデジタル化とテクノロジー導入を進めて欲しい。","comment_id":"87","x":-1.784576,"y":8.442195,"p":0.8563195592316484},{"arg_id":"A94_0","argument":"日本の遅れたデジタルを東京から最先端にすることが期待される。","comment_id":"94","x":-1.4761876,"y":8.772784,"p":1},{"arg_id":"A97_0","argument":"都知事が良いのかデジタル庁が良いのか迷うが、国だと時間がかかるのでまずは東京都で実施してみるつもりなのかもしれない。","comment_id":"97","x":-1.4224769,"y":8.872841,"p":1},{"arg_id":"A104_0","argument":"デジタル省長官として、人となりを理解してもらう時間が足りないのは勿体無い。","comment_id":"104","x":-1.9473217,"y":8.508594,"p":1},{"arg_id":"A123_0","argument":"都知事ではなく、デジタル担当大臣になってもらった方が良いのではないか。","comment_id":"123","x":-2.0469482,"y":8.720105,"p":1},{"arg_id":"A124_2","argument":"この人にはデジタル担当大臣を是非。","comment_id":"124","x":-2.0963485,"y":8.4822645,"p":0.6504050140596501},{"arg_id":"A132_0","argument":"都知事ではなく、デジタル庁の大臣かデジタル監になってほしい。","comment_id":"132","x":-2.1719737,"y":8.656017,"p":0.7005904232196377},{"arg_id":"A167_0","argument":"デジタル大臣になってもらいましょう。河野よりもずっといい。","comment_id":"167","x":-2.0200508,"y":8.355056,"p":0.663556331635661},{"arg_id":"A179_0","argument":"民間人としてデジタル庁長官に就任すればいいのではないか。","comment_id":"179","x":-1.9828132,"y":8.66152,"p":1},{"arg_id":"A187_0","argument":"この人のポストは知事ではなく、デジタル担当大臣である。","comment_id":"187","x":-2.2062624,"y":8.648608,"p":0.5636687626583379},{"arg_id":"A190_0","argument":"率直に言って、国政に欲しい逸材です。現在蔓延っている金権政治家、特にデジタル音痴の老害議員を一蹴して欲しい。","comment_id":"190","x":-1.8083845,"y":8.98382,"p":0.4254671582570756},{"arg_id":"A192_0","argument":"アナログIT大臣を辞めさせて、こういう実力者に勤めて欲しい。","comment_id":"192","x":-1.9136988,"y":8.591438,"p":1}]},{"cluster":"AI技術と政治","cluster_id":"5","takeaways":"参加者は、AI技術の活用と推進を政府レベルで強化することを求めています。特に、AIが多因子が交絡する条件で最適解を見つける能力を持つことから、国政でのインフラ活用が適していると主張しています。AIを駆使した合理的で公平な政策運営を期待し、政治家の利権に左右されない判断を求めています。また、AIの解釈能力の向上や女性の在宅収入の増加、選挙戦略の立案など、具体的な活用方法についても提案しています。しかし、AIの情報操作リスクや人間の知性による修正の必要性も指摘されており、AIと人間の協働が重要であるとしています。","arguments":[{"arg_id":"A0_2","argument":"現在、生成AIなどデジタル分野で新しい流れが来ているので、政府レベルで産業育成や具体的な活用推進を最大限行ってほしい。","comment_id":"0","x":-0.47409594,"y":7.7704387,"p":0.566292256562503},{"arg_id":"A5_2","argument":"多因子が交絡する条件で最適解を見つけることはAIが得意である。","comment_id":"5","x":0.06516829,"y":7.1171036,"p":1},{"arg_id":"A5_3","argument":"AIが議論の土台となるたたき台を作り、これを基に利益団体の代表が意見するスタイルの方が合理的である。","comment_id":"5","x":-0.3341165,"y":7.4137874,"p":1},{"arg_id":"A10_0","argument":"AI技術が必要な状況で、技術に詳しい方が政治を目指すのは自然だと思います。","comment_id":"10","x":-0.31407452,"y":7.8561277,"p":1},{"arg_id":"A10_1","argument":"都政よりも国政で、日本のインフラにAI技術を活用する方が適している気がします。","comment_id":"10","x":-0.4312442,"y":7.8441825,"p":0.8366530045055871},{"arg_id":"A15_0","argument":"AIを駆使した都政は素晴らしい。素人がAIに使われると問題になるが、彼のような専門家がAIを使いこなすことで、都民にとって合理的で公平な都政が実現する。","comment_id":"15","x":-0.34851295,"y":7.517315,"p":0},{"arg_id":"A20_1","argument":"小池、蓮舫ともAIをエンタメレベルでしか判断できていない。","comment_id":"20","x":0.22184868,"y":7.2113543,"p":0},{"arg_id":"A20_2","argument":"東京でAIをリードできる社会を作って欲しい。","comment_id":"20","x":-0.017496599,"y":7.599942,"p":0},{"arg_id":"A25_2","argument":"政治家の利権にまみれた判断より、AIの方が合理的です。","comment_id":"25","x":-0.50044096,"y":7.388176,"p":0.4262711403724136},{"arg_id":"A25_3","argument":"ただし、人間は合理性のみで動くわけではないので、AIの判断をうのみにしない知性ある人が修正を加えるべきです。","comment_id":"25","x":-0.18456937,"y":7.1545334,"p":0.9579040038020048},{"arg_id":"A30_1","argument":"政治に強い安芸高田市の市長と、AI知識がトップレベルの技術者の組み合わせは、文理双方のバランスが取れていて良いと思います。","comment_id":"30","x":-0.28270534,"y":7.796227,"p":1},{"arg_id":"A36_3","argument":"AIエンジニアにそれができるのか、興味があります。","comment_id":"36","x":0.22491851,"y":7.857407,"p":0},{"arg_id":"A37_3","argument":"AIを駆使して選挙で勝てる戦略を立てるべきではないか。","comment_id":"37","x":-0.28817183,"y":7.264925,"p":1},{"arg_id":"A38_0","argument":"AIを熟知し活用実績のある人なら、過去に誰もできなかったことを実現するかもしれない。","comment_id":"38","x":-0.029662203,"y":7.3533626,"p":1},{"arg_id":"A38_2","argument":"AIに将来を予測させ、経済から犯罪、事故リスクなどすべてに先手で施策するのが理想である。","comment_id":"38","x":-0.08903634,"y":7.4188876,"p":0.6995203071478213},{"arg_id":"A40_1","argument":"選挙期間中、AIに不穏なことを喋らせる大喜利が開催されそうだ。","comment_id":"40","x":-0.3735678,"y":7.194381,"p":1},{"arg_id":"A49_0","argument":"AIを活用して女性が家庭で収入を得る方法を増やせば、夫婦が疲れずに子供が増えるのではないか。","comment_id":"49","x":0.11338023,"y":7.415165,"p":0.9078471947615122},{"arg_id":"A49_1","argument":"現在のAIは解釈能力が低すぎる。","comment_id":"49","x":0.027446827,"y":7.133226,"p":1},{"arg_id":"A49_4","argument":"女性が家でできる仕事をAIで増やしてほしい。","comment_id":"49","x":0.12153923,"y":7.4196906,"p":0.8255273045280984},{"arg_id":"A56_0","argument":"AI技術の凄さは庶民には理解されにくく、投票動機や危機感の醸成にはつながらない。","comment_id":"56","x":-0.115437515,"y":7.747764,"p":0},{"arg_id":"A65_0","argument":"AIが偏った情報を流さない保障がない。","comment_id":"65","x":0.013264006,"y":7.0876045,"p":1},{"arg_id":"A65_1","argument":"メディアやGoogleのように、AIが情報を操作する可能性がある。","comment_id":"65","x":0.1023032,"y":6.9862385,"p":0.4388774714451249},{"arg_id":"A65_4","argument":"ユダヤ資本が投資している先の障害になるものをAIが排除する可能性がある。","comment_id":"65","x":0.04808719,"y":7.328317,"p":1},{"arg_id":"A90_1","argument":"AI百合子が都の政策の目標や実行状況についてお答えします。","comment_id":"90","x":-0.58694863,"y":7.492029,"p":1},{"arg_id":"A101_1","argument":"一度やらせてみてもいいが、AIと人間の違いを理解するだろう。それも勉強だ。","comment_id":"101","x":-0.13036403,"y":7.092747,"p":0.7981523395651631},{"arg_id":"A119_0","argument":"「私の政策や政治信条をAIで学習させています。どんな質問でも答えられますし、要望も受け付けられます。これで、選挙期間中は、24時間いつでもわたしと政策についてお話しすることができます!」","comment_id":"119","x":-0.5656352,"y":7.481905,"p":1},{"arg_id":"A119_1","argument":"ならば、首長は人間ではなくAIでいいじゃないの?","comment_id":"119","x":-0.89591295,"y":7.608369,"p":0},{"arg_id":"A127_0","argument":"政治家の成果と能力をAIで数値化し、発表してもらいたい。","comment_id":"127","x":-0.58191365,"y":7.6338606,"p":0.3184592782219769},{"arg_id":"A135_0","argument":"個人的には、全ての議員や首長がAIに交代してほしいと思っている。","comment_id":"135","x":-0.7363755,"y":7.585234,"p":0.3005434598584259},{"arg_id":"A157_0","argument":"AIは「当選する確率は0.1%以下だから、やめろ」と教えてくれなかったのだろうか?","comment_id":"157","x":-0.30431414,"y":7.155811,"p":1},{"arg_id":"A158_0","argument":"日本は外交が下手なので、世界相手に外交用AIを作成してほしい。","comment_id":"158","x":-0.1714862,"y":7.536242,"p":0.4901667927881322},{"arg_id":"A168_0","argument":"AI技術者や学者は、国家経営のための単なる「ブレイン」に過ぎない。","comment_id":"168","x":-0.23974931,"y":7.8849096,"p":1},{"arg_id":"A178_0","argument":"AIが造り出す予定調和は、マッチポンプのようなものである。","comment_id":"178","x":0.02546978,"y":7.396,"p":1},{"arg_id":"A190_1","argument":"明るい未来を築くために、AIの素晴らしさが国民に渇望されるのではと期待しています。現在の低迷した状況を打破するために、大鉈を振るえる役回りが必要だと思います。","comment_id":"190","x":-0.1699187,"y":7.718467,"p":0.7192896087248062},{"arg_id":"A197_0","argument":"国会議員の全発言をAIに学習させ、議員ごとの思想信条を解析した際、議員秘書の間で「先生の知能がバレる」と永田町に激震が走った。","comment_id":"197","x":-0.5394721,"y":7.4813237,"p":1},{"arg_id":"A202_0","argument":"AIを駆使して政治を行う方が、理解しにくい高齢者の理屈で政治を行うよりも良いかもしれない。","comment_id":"202","x":-0.3253509,"y":7.2994123,"p":1}]},{"cluster":"革新的候補者の評価","cluster_id":"1","takeaways":"参加者は、メディアが有名人ばかりを報道し、優れた候補者が注目されない現状に不満を抱いています。特に、政策よりも出自や門閥に焦点を当てる報道姿勢に疑問を呈し、選挙における知名度や世襲議員の優位性に対する批判が強いです。また、選挙費用の削減や市民のために何をすべきかを追求する候補者の重要性を強調し、新しい風を求める声が上がっています。特定の候補者に対する期待と応援の意志も示されており、若い世代からの支持や新しいビジョンを持つ候補者の登場を歓迎する意見が見られます。","arguments":[{"arg_id":"A2_0","argument":"批判的にwikiを確認しましたが、良い候補者だと思います。こういう層から多くの人が政治参加してほしいです。","comment_id":"2","x":-0.37844726,"y":11.93985,"p":1},{"arg_id":"A2_2","argument":"視野が狭い財務省等の官僚出身や世襲議員、知名度だけの候補者よりも遥かに可能性を感じます。","comment_id":"2","x":-0.4339946,"y":10.906898,"p":1},{"arg_id":"A3_0","argument":"ついにこういう逸材が危機感から出馬するようになったか。","comment_id":"3","x":0.29634836,"y":11.481978,"p":1},{"arg_id":"A3_1","argument":"当選が目的ではなく啓発や警告が目的だろうが、停滞する日本を変えるにはこういう人材が必要。","comment_id":"3","x":-0.2861388,"y":11.776528,"p":1},{"arg_id":"A3_2","argument":"都民ではないが、動向に関心を持って見守りたいと思います。","comment_id":"3","x":0.7916455,"y":11.756528,"p":0},{"arg_id":"A7_1","argument":"自分も若い時にこれぐらいの発想力やスキルがあればと思い、結局政治や国に対して嘆くことしかできませんでした。","comment_id":"7","x":0.37508196,"y":11.045648,"p":0},{"arg_id":"A9_0","argument":"新しい時代は混沌から生まれる。混沌とした都知事選から新しい形の立候補者が出ることはうれしい。","comment_id":"9","x":0.11157011,"y":12.660719,"p":1},{"arg_id":"A9_3","argument":"政治屋は風見鶏だから、民意が高く実行力があればいつかは従ってくる。","comment_id":"9","x":-1.0119166,"y":11.363451,"p":0.6703724727495403},{"arg_id":"A11_1","argument":"候補者が素晴らしいのに、メディアは有名人しか報道しない。","comment_id":"11","x":1.6663473,"y":10.132524,"p":0.6110509673554233},{"arg_id":"A11_2","argument":"YouTubeで会見を見て知ったが、大手メディアは有名人しか取り上げないようだ。","comment_id":"11","x":1.6462274,"y":10.1196785,"p":0.7003004320192953},{"arg_id":"A11_3","argument":"メディアのあり方について考えさせられる。","comment_id":"11","x":1.5178133,"y":10.133123,"p":1},{"arg_id":"A14_2","argument":"ChatGPTのように現状肯定の意見が多い場合、同じようなアプローチを取る候補者には疑問を感じます。","comment_id":"14","x":-0.38399825,"y":11.354478,"p":1},{"arg_id":"A16_0","argument":"直接選挙を可能にする候補者が現れたことを喜んでいる。都民でないことが悔やまれる。","comment_id":"16","x":0.3326889,"y":12.925223,"p":1},{"arg_id":"A16_2","argument":"マスコミの記者会見では出自や門閥に関する質問ばかりで、政策についての質問が少なかった。","comment_id":"16","x":1.5335228,"y":10.0208845,"p":0.7884910717473291},{"arg_id":"A16_3","argument":"今後のマスコミの対応に注目したい。","comment_id":"16","x":1.5674889,"y":10.272448,"p":0.6102795752334599},{"arg_id":"A17_2","argument":"世襲議員を含む不正で当選する既得権益との戦いに勝てるか、有権者がついてくるかという問題がある。","comment_id":"17","x":-0.61499894,"y":12.227599,"p":1},{"arg_id":"A18_0","argument":"ある程度売名や世間に対する認知のためだと思うが、ネットニュースに取り上げられることで効果はあるだろう。","comment_id":"18","x":1.0728981,"y":10.128841,"p":0},{"arg_id":"A18_1","argument":"へずま某などが認知されるより、この方が世間一般に認知された方が良い社会になると思う。","comment_id":"18","x":0.30737957,"y":10.749791,"p":1},{"arg_id":"A18_2","argument":"今回の選挙では厳しいが、いずれ日本に無くてはならない人物になりそうな気がする。","comment_id":"18","x":0.23969,"y":12.220692,"p":1},{"arg_id":"A21_1","argument":"この候補者は既得権益を壊してくれそうで期待できます。","comment_id":"21","x":-0.39262018,"y":12.424076,"p":1},{"arg_id":"A21_2","argument":"今の選挙で有利なのはSNS活用に長けた人だと思いますが、この候補者はどうでしょうか。","comment_id":"21","x":0.4656935,"y":12.480854,"p":0},{"arg_id":"A21_3","argument":"ご本人がSNSを私的に利用しなくても、ブレーンがいるかもしれません。","comment_id":"21","x":0.29699323,"y":9.551504,"p":0},{"arg_id":"A22_3","argument":"今回はビッグネームが多すぎる。","comment_id":"22","x":0.20219302,"y":12.046998,"p":0.961316008662928},{"arg_id":"A22_5","argument":"問題は急を要することかもしれないが...","comment_id":"22","x":0.20172562,"y":11.444981,"p":1},{"arg_id":"A23_1","argument":"選挙投票を初めてする時、親から若い人を応援すべきだと言われた。","comment_id":"23","x":1.1417011,"y":12.3877125,"p":1},{"arg_id":"A23_2","argument":"その時落選したが次回当選した。","comment_id":"23","x":0.21694146,"y":12.8555355,"p":0.6709237415821419},{"arg_id":"A23_7","argument":"ザルの支出の無駄をなくして欲しい。","comment_id":"23","x":-0.86710525,"y":12.753259,"p":0.5360628628950708},{"arg_id":"A24_0","argument":"都民や国民が候補者の活動を理解できるように、教養レベルを上げることが必要である。","comment_id":"24","x":-0.5681254,"y":11.510389,"p":1},{"arg_id":"A24_1","argument":"多くの人々は候補者の活動を難しいと感じており、これが票に結びつかない。","comment_id":"24","x":-0.4100765,"y":12.16449,"p":1},{"arg_id":"A24_2","argument":"候補者の知識やノウハウを教育現場に応用することが重要である。","comment_id":"24","x":-0.3537871,"y":11.322465,"p":0.7221539946863894},{"arg_id":"A25_0","argument":"東京大学には、東京大学卒までの人と、東京大学卒からの人に分かれるという。","comment_id":"25","x":0.6628775,"y":9.748938,"p":0.7517858703761885},{"arg_id":"A27_1","argument":"国民の声を聞くだけでなく、国民を引っ張っていくリーダーが今こそ必要だと思う。","comment_id":"27","x":-0.86206925,"y":11.660487,"p":1},{"arg_id":"A28_0","argument":"超エリートが普通の人とどの程度共に経験を持っているのか気になります。","comment_id":"28","x":0.62189156,"y":11.065028,"p":1},{"arg_id":"A28_3","argument":"児童相談所と警察の連携は進んだのでしょうか?親の犯罪歴は警察でしか分かりません。","comment_id":"28","x":-0.040124383,"y":11.685853,"p":0.8318854357396352},{"arg_id":"A28_4","argument":"家庭内暴力は法律に触れないままなのでしょうか?親権が強すぎる現状を改正すべきです。","comment_id":"28","x":-0.10441301,"y":11.880872,"p":0.8318854357396352},{"arg_id":"A29_0","argument":"こういう方が立候補し、新たな日本の参画に関わってほしいと思う。","comment_id":"29","x":0.7545482,"y":12.157038,"p":1},{"arg_id":"A32_1","argument":"政治家は必ずしも賢い人ばかりではないので、天才的頭脳を持つ方が新風を吹き込むことに期待する人も多いのではないか。","comment_id":"32","x":-0.3997077,"y":10.947322,"p":1},{"arg_id":"A33_0","argument":"この分野に詳しい候補者が考え方を主張することは意義深い。","comment_id":"33","x":-0.09056086,"y":11.277607,"p":0},{"arg_id":"A34_0","argument":"開成では「卒業生に石を投げれば理Ⅰ文Ⅰにあたる」と言われるほど優秀な人が多い。この人の経歴も普通の内容だ。","comment_id":"34","x":0.69398236,"y":9.645421,"p":1},{"arg_id":"A34_2","argument":"ふるさと東京がこれ以上荒らされるのは我慢できないという江戸っ子愛からの立候補であれば好感が持てるが、同窓OBネットワークが動いてくれるか。","comment_id":"34","x":0.71730775,"y":11.280382,"p":0.8515772571617379},{"arg_id":"A35_1","argument":"日本のIT大臣と比べると、能力に大きな差があり、悲しく感じた。","comment_id":"35","x":0.55005616,"y":10.524337,"p":1},{"arg_id":"A35_2","argument":"日本のIT大臣を見て、この国は本当に危機的状況だと感じた。","comment_id":"35","x":0.5339512,"y":10.846761,"p":1},{"arg_id":"A35_4","argument":"IT後進国の日本は、実力者をトップに据えないと本当に終わってしまう。","comment_id":"35","x":0.7363836,"y":10.9668865,"p":0},{"arg_id":"A36_4","argument":"その前に、当選しなければ何も始まりませんが。","comment_id":"36","x":0.016902931,"y":12.767153,"p":1},{"arg_id":"A37_1","argument":"テレビを買収しようとして失敗したホリエモンを思い出す。若者全員が投票しても、熟年や老人の数には敵わない。","comment_id":"37","x":1.2033036,"y":12.341902,"p":1},{"arg_id":"A37_4","argument":"あるいは、選挙で勝つこと以外に目標があっての立候補なのかもしれない。","comment_id":"37","x":-0.021278262,"y":12.848304,"p":0.9413739355797132},{"arg_id":"A39_1","argument":"若い優秀な人材が能力を発揮しやすい日本の社会や政治であって欲しい。","comment_id":"39","x":1.2456278,"y":11.203327,"p":0},{"arg_id":"A41_4","argument":"得意分野に特化させないと才能が潰れてしまう。","comment_id":"41","x":0.43286505,"y":10.502372,"p":1},{"arg_id":"A42_0","argument":"選挙にお金がかからない方法を考えるべきである。","comment_id":"42","x":-0.33676356,"y":13.077439,"p":1},{"arg_id":"A42_1","argument":"若者や中年が選挙に興味を持ち、積極的に立候補するのは良いことだ。","comment_id":"42","x":1.1381735,"y":12.351966,"p":1},{"arg_id":"A42_2","argument":"投票率を上げないと、日本は大変なことになる。","comment_id":"42","x":0.07604485,"y":12.224356,"p":1},{"arg_id":"A43_0","argument":"彼が当選するような日本社会であれば、今の惨状にはなっていないだろう。","comment_id":"43","x":0.15453087,"y":12.312983,"p":1},{"arg_id":"A44_0","argument":"個人的には応援したいと思いますが、当選するかは微妙でしょうね。","comment_id":"44","x":1.0777574,"y":12.192197,"p":0.3929212838115059},{"arg_id":"A44_1","argument":"この人の立候補が話題となり、若年層の投票率が上がれば、都知事選挙の情勢が大きく変わるかもしれません。","comment_id":"44","x":0.6432951,"y":12.107492,"p":1},{"arg_id":"A45_1","argument":"タレント政治家や批判だけする人よりも、こういった新しく先進的な思想を持った人が評価されてほしい。","comment_id":"45","x":-0.43222588,"y":11.324722,"p":1},{"arg_id":"A45_2","argument":"世襲議員や知名度勝負のタレント議員にはもう飽きた。","comment_id":"45","x":-0.74637306,"y":12.451206,"p":1},{"arg_id":"A45_3","argument":"税金を何もできないタレント議員の給料に使ってほしくない。","comment_id":"45","x":-0.83073777,"y":12.636015,"p":0.9633517910531668},{"arg_id":"A46_1","argument":"外国からの意図的かつ膨大な提案が可能になり、日本国民の意見よりも他国の影響を受けることにならないか?","comment_id":"46","x":-0.3975555,"y":11.881662,"p":1},{"arg_id":"A49_2","argument":"女性のキャリア進出をテレビでコメントすると若い人が結婚しなくなるのでやめてほしい。","comment_id":"49","x":1.6611389,"y":10.759624,"p":0},{"arg_id":"A49_3","argument":"女性が30代後半で結婚するのは問題がある。男性は避ける傾向がある。","comment_id":"49","x":1.513537,"y":10.870396,"p":0},{"arg_id":"A50_0","argument":"選挙はただの人気投票であり、自分が投票した人が当選しなくても仕方がない。","comment_id":"50","x":-0.08649653,"y":13.023861,"p":0.9413739355797132},{"arg_id":"A52_4","argument":"特定の地位や権限があるが、その目的が不明確で勘違いしている人が多い。","comment_id":"52","x":-0.13105607,"y":10.579541,"p":0.8194241342520151},{"arg_id":"A53_0","argument":"この人が頭がいいのは事実だが、当選の可能性が低い中での出馬は他の候補者の得票を分散させるだけである。","comment_id":"53","x":0.16598946,"y":12.5601015,"p":1},{"arg_id":"A53_1","argument":"マスコミを使った選挙操作は非常に危険である。","comment_id":"53","x":-0.32878208,"y":13.2245035,"p":0},{"arg_id":"A56_1","argument":"能力とリーダーとしての優秀さは別であり、理解ある誰かに任されてこそ真価を発揮する。","comment_id":"56","x":-0.01618532,"y":10.4531555,"p":1},{"arg_id":"A56_2","argument":"表に出ても本人含め誰一人何の得にもならず、何も残せないのはもったいない。","comment_id":"56","x":-0.82879055,"y":12.536011,"p":1},{"arg_id":"A57_0","argument":"学歴や経歴ではなく、市民のために何をすべきかを追求できる人が重要である。","comment_id":"57","x":-0.48641324,"y":11.317412,"p":0.5202942183050232},{"arg_id":"A58_0","argument":"勉学に精を出してきた人でも、手触り感や肌触り感、空気感、人の苦楽を生身で感じ取れる人であれば興味を持ちます。","comment_id":"58","x":1.0156333,"y":11.32592,"p":0},{"arg_id":"A59_2","argument":"政治家ではなく、堀江貴文氏や前澤友作氏のように民間の立場から活動すれば、今の良さがさらに発揮されると思う。","comment_id":"59","x":-0.9408565,"y":11.527509,"p":1},{"arg_id":"A60_3","argument":"記事の書き方かもしれないが、開成卒や東大卒は関係ない。学歴で人を評価するのは古い風潮であり、学歴なしで名を上げたオードリー・タン氏に背中を押されたと言われても違和感がある。","comment_id":"60","x":0.610168,"y":9.747883,"p":0.5255062837250176},{"arg_id":"A61_0","argument":"日本では優れた技術者が評価されにくい。金子勇氏もその一例である。","comment_id":"61","x":0.5991228,"y":10.34015,"p":0},{"arg_id":"A61_1","argument":"日本で成果を上げるのは難しく、優秀な人は海外で評価されることが多い。","comment_id":"61","x":0.71985257,"y":10.484307,"p":0},{"arg_id":"A61_2","argument":"安野氏の理論が優れていても、日本では歪められる可能性がある。","comment_id":"61","x":0.63548374,"y":10.125254,"p":0},{"arg_id":"A64_0","argument":"記事はライターの記名入りでないと信憑性が上がらない。","comment_id":"64","x":0.85385424,"y":9.546291,"p":0.5135207988447902},{"arg_id":"A65_2","argument":"ワクチンの危険性や大規模なデモが報道されないことがある。","comment_id":"65","x":1.4425572,"y":10.090396,"p":1},{"arg_id":"A66_1","argument":"すでに立候補している人も、本当に東京と日本のことを考えるなら、だれを応援すべきか再考してほしい。","comment_id":"66","x":0.64523125,"y":11.534776,"p":1},{"arg_id":"A68_1","argument":"政治的天才と一般の天才は全く違うカテゴリーであり、田中角栄元総理のような政治的天才も存在する。","comment_id":"68","x":-0.57648915,"y":11.097495,"p":0},{"arg_id":"A71_1","argument":"世界的にトランプのように大衆が扇動しやすい思想のリーダーが増えている。","comment_id":"71","x":-0.9065811,"y":11.640153,"p":1},{"arg_id":"A71_2","argument":"これは先の戦争の頃にも似ている。","comment_id":"71","x":0.24661797,"y":10.995577,"p":1},{"arg_id":"A72_1","argument":"都知事選に立候補するのは活躍の場が違うと感じる。","comment_id":"72","x":-0.7383527,"y":11.437741,"p":1},{"arg_id":"A72_2","argument":"天才ゆえにあえて泡沫候補として埋もれることを選ぶのだろうか。","comment_id":"72","x":0.3264028,"y":10.755159,"p":0.8950088568265513},{"arg_id":"A74_0","argument":"学歴詐称や国籍詐称が多い都知事選候補者の中で、この人は唯一の天才だと思う。","comment_id":"74","x":-0.25002176,"y":10.450934,"p":0},{"arg_id":"A74_1","argument":"日本の有権者の質を考えると、この人が当選するのは難しいかもしれない。","comment_id":"74","x":0.14761978,"y":12.069253,"p":1},{"arg_id":"A75_0","argument":"攻撃と批判ばかりする人よりも、建設的な人を支持したい。","comment_id":"75","x":-0.31709284,"y":11.186038,"p":0.3143928433199493},{"arg_id":"A76_2","argument":"支援層が重なることが気になる。","comment_id":"76","x":1.208994,"y":11.849364,"p":1},{"arg_id":"A78_1","argument":"次世代の東京のビジョンが圧倒的に明確で壮大だ。","comment_id":"78","x":0.86965865,"y":10.372796,"p":0},{"arg_id":"A80_0","argument":"当選は難しいだろうが、こういう人材が政治参加に手を挙げたことは喜ばしい。","comment_id":"80","x":-0.32010224,"y":12.420848,"p":1},{"arg_id":"A81_0","argument":"ITに強い人が政治にいるのは良いと思う。","comment_id":"81","x":-0.6304778,"y":11.657304,"p":1},{"arg_id":"A83_0","argument":"日本は秀でた才能を潰す国だ。","comment_id":"83","x":0.98725426,"y":10.737312,"p":0},{"arg_id":"A84_0","argument":"東京都民ではないけれど、応援したいと思う。","comment_id":"84","x":0.79364896,"y":11.399844,"p":1},{"arg_id":"A85_1","argument":"実力者だとは思うが、首長のイメージはわかない。","comment_id":"85","x":-0.039577983,"y":10.222821,"p":1},{"arg_id":"A88_1","argument":"芦屋市長選では選挙プランナーの影響で変なことが起きた。","comment_id":"88","x":-0.21851769,"y":12.946673,"p":1},{"arg_id":"A93_0","argument":"こういう人に期待したいが、高齢者からどれだけ得票できるかが日本の選挙では重要である。","comment_id":"93","x":0.9853031,"y":12.433997,"p":0.4706781131738251},{"arg_id":"A93_1","argument":"今回は厳しいかもしれない。","comment_id":"93","x":0.45488423,"y":12.079226,"p":0.6346802563674173},{"arg_id":"A95_0","argument":"坂本龍馬のような改革者が現れても、既得権益者の現役議員からの圧力で辞めさせられてしまうのが目に見えている。非常に残念です。","comment_id":"95","x":-0.66932654,"y":12.1813965,"p":0},{"arg_id":"A96_0","argument":"この候補者が当選しなければ日本は終わりだと感じる。","comment_id":"96","x":0.33248904,"y":12.328585,"p":0.9562263124574066},{"arg_id":"A98_2","argument":"頭のいい人達の考え方だけで決めた方が手っ取り早い。","comment_id":"98","x":0.03322764,"y":10.882728,"p":1},{"arg_id":"A101_0","argument":"頭が良いこととマネジメント能力は違う。","comment_id":"101","x":-0.08502462,"y":10.292499,"p":1},{"arg_id":"A102_0","argument":"地方で若い市長が増えているが、高学歴の人が多い。","comment_id":"102","x":0.12735486,"y":9.788666,"p":0.691496763685043},{"arg_id":"A102_1","argument":"有権者の学歴コンプレックスを利用して出馬しているのではないか。","comment_id":"102","x":-0.14581396,"y":11.571821,"p":0},{"arg_id":"A105_0","argument":"新しい風が必要だと思う。","comment_id":"105","x":0.7774749,"y":12.157587,"p":1},{"arg_id":"A105_1","argument":"若い世代からの支持を受け、安野氏が当選するかもしれない。","comment_id":"105","x":1.0572704,"y":11.875706,"p":0},{"arg_id":"A106_1","argument":"外国人に推される人間として警戒されるかもしれない。","comment_id":"106","x":0.36230713,"y":11.804859,"p":1},{"arg_id":"A107_1","argument":"知力的には、この人が他の多くの世襲政治家や芸能人・スポーツ出身の政治家より優れていると思います。","comment_id":"107","x":-0.19916612,"y":11.044744,"p":0},{"arg_id":"A111_0","argument":"ついに天才エリートが政治を志すようになった。","comment_id":"111","x":-0.83791196,"y":11.282465,"p":0},{"arg_id":"A111_1","argument":"それだけ日本が危機的な状況にあるということかもしれない。","comment_id":"111","x":0.3569435,"y":11.309339,"p":1},{"arg_id":"A113_0","argument":"劇場型や炎上系のYouTuberとは一線を画して能力を発揮するべきである。","comment_id":"113","x":1.0751415,"y":10.898003,"p":0},{"arg_id":"A114_0","argument":"一般人の状況を正しく理解する天才なら良いと思うが、頭が良すぎると周りを下等と見てしまう気がする。","comment_id":"114","x":0.1434333,"y":10.711587,"p":1},{"arg_id":"A115_0","argument":"影響されやすい人間としか思えない。","comment_id":"115","x":0.44919094,"y":11.853631,"p":1},{"arg_id":"A115_1","argument":"天才と何とかは紙一重。","comment_id":"115","x":0.2105384,"y":10.596688,"p":0.929230452864602},{"arg_id":"A116_0","argument":"天才と称されている割には、社会にインパクトを与える実績がない。","comment_id":"116","x":0.30357173,"y":10.43019,"p":0.8719936029351479},{"arg_id":"A116_1","argument":"東大卒の「おりこうな僕」という印象が強い。","comment_id":"116","x":0.77026606,"y":9.728808,"p":0.6282747809755378},{"arg_id":"A117_0","argument":"これぐらい極端な人でないと、改革の実行は不可能だ。","comment_id":"117","x":-0.27881742,"y":12.22896,"p":0.7048358327348411},{"arg_id":"A117_1","argument":"他の候補者がやっても大して違わないのだから、この人に賭けても良いのではないか。","comment_id":"117","x":0.23188806,"y":12.548677,"p":0.8664048665054026},{"arg_id":"A121_1","argument":"どれだけ素晴らしい能力があっても、有権者がそれを理解できなければ無意味だ。","comment_id":"121","x":0.061434448,"y":10.4807825,"p":1},{"arg_id":"A126_0","argument":"バイタリティのある人が日本で政治家を目指してくれるのはありがたいことだ。","comment_id":"126","x":-0.6819429,"y":11.787151,"p":1},{"arg_id":"A128_1","argument":"首長としての実績がないと、どれだけすごいと言われても説得力に欠ける。","comment_id":"128","x":0.04610633,"y":10.350923,"p":1},{"arg_id":"A129_1","argument":"東京都出身で、変なイデオロギーも無さそうなので期待できる。","comment_id":"129","x":0.67626387,"y":10.088113,"p":0},{"arg_id":"A133_0","argument":"前向きな候補というだけでも今や希少である。","comment_id":"133","x":0.484877,"y":12.846329,"p":0.6215243307691609},{"arg_id":"A133_1","argument":"この記事を見たとき、この低レベルな事実に気付いて愕然とした。","comment_id":"133","x":0.7054916,"y":10.596567,"p":1},{"arg_id":"A134_1","argument":"実力は、その分野に精通している人にしかない。","comment_id":"134","x":0.3606627,"y":10.395323,"p":1},{"arg_id":"A136_0","argument":"公約を公開し、その達成状況をいつでも見られるようにするのは良いアイデアだ。","comment_id":"136","x":0.94655806,"y":10.039594,"p":0},{"arg_id":"A137_0","argument":"内容はおもしろいが、現代ビジネスはどんな記事にも「ヤバすぎる」とつけるのをやめてもらいたい。","comment_id":"137","x":0.476064,"y":9.86515,"p":0.3120055121274734},{"arg_id":"A140_1","argument":"東京の有権者の判断が注目される。","comment_id":"140","x":0.111066036,"y":10.037185,"p":0},{"arg_id":"A142_0","argument":"この人が当選すれば、停滞していた状況が改善されるのではないか。","comment_id":"142","x":-0.010775261,"y":12.19123,"p":0.8544540772587924},{"arg_id":"A145_0","argument":"こういう人を見ると、今まで変な選択肢しか与えられていなかったことを思い出す。","comment_id":"145","x":0.6054682,"y":12.678427,"p":0.4384976235789318},{"arg_id":"A146_0","argument":"マスコミは蓮舫よりも、こういう人をニュースで取り上げてほしい。","comment_id":"146","x":1.5187522,"y":10.1388,"p":1},{"arg_id":"A147_0","argument":"マスコミで話題になっている他の候補者よりも、あなたの上司は相当優れた候補者のように思えます。","comment_id":"147","x":-0.35472795,"y":10.898568,"p":1},{"arg_id":"A151_0","argument":"本当はこういう方が当選すれば良いのだが、実際は知名度投票になってしまう。","comment_id":"151","x":0.34836173,"y":12.795002,"p":0.6911072086817489},{"arg_id":"A154_1","argument":"供託金を回収できるといいですね。","comment_id":"154","x":-0.60259306,"y":12.947839,"p":0},{"arg_id":"A162_0","argument":"開成早稲田の岸田は、東大からするとかなり落ちる。","comment_id":"162","x":0.7701956,"y":9.508188,"p":0.6321972733616835},{"arg_id":"A163_0","argument":"知らなかった。よく報じてくれた。","comment_id":"163","x":1.8254472,"y":10.47349,"p":0.276013245261821},{"arg_id":"A163_1","argument":"女対決とか、マスコミの誘導は酷い。","comment_id":"163","x":1.6597927,"y":10.400737,"p":0.4989295092758118},{"arg_id":"A172_0","argument":"今までの金絡みの選挙から脱して、新しい世界へ進むことができるのではないか。","comment_id":"172","x":-0.30373713,"y":12.700257,"p":0},{"arg_id":"A183_1","argument":"都民じゃないのが残念!","comment_id":"183","x":0.71679974,"y":11.689159,"p":1},{"arg_id":"A184_1","argument":"先進するか滅亡するか、どっちだ?","comment_id":"184","x":-0.31255755,"y":12.5369,"p":1},{"arg_id":"A192_1","argument":"日本人は選挙で実力者を選ばず、見た目やインパクトだけがある人を選ぶ傾向がある。","comment_id":"192","x":0.04712184,"y":11.94771,"p":1},{"arg_id":"A193_0","argument":"最近話題の新人候補者は選挙で儲けようとする人ばかりだったが、ようやく期待できる人が現れた。","comment_id":"193","x":0.29257277,"y":12.849112,"p":1},{"arg_id":"A194_1","argument":"そろそろ有能な人が日本の政治に関わってほしい。","comment_id":"194","x":-0.66406304,"y":11.68022,"p":1},{"arg_id":"A194_2","argument":"アホ芸能人と二世議員ばかり当選させる有権者が変わらないとどうしようもない。","comment_id":"194","x":-0.7251996,"y":12.4243355,"p":0.7763468117191868},{"arg_id":"A197_1","argument":"バレて困るような知能で、給料泥棒しないでください。","comment_id":"197","x":0.02645627,"y":10.15431,"p":0.9935485179166696},{"arg_id":"A198_0","argument":"最近、頭の悪そうな大学生が言いそうな日本語がタイトルになっている記事が多い。","comment_id":"198","x":0.72069854,"y":9.678269,"p":1},{"arg_id":"A204_1","argument":"学歴詐称疑惑もあるが、単に実力不足である。","comment_id":"204","x":0.37255034,"y":10.188818,"p":0},{"arg_id":"A205_0","argument":"華人でないことを確認してください。","comment_id":"205","x":0.4170717,"y":11.779763,"p":1},{"arg_id":"A205_1","argument":"灯台教は終わったのではないか。","comment_id":"205","x":0.1173864,"y":11.688257,"p":0.8005798167287143},{"arg_id":"A206_0","argument":"今必要なのは令和の角栄であり、頭でっかちの秀才君ではない。","comment_id":"206","x":-0.31418127,"y":10.636671,"p":0},{"arg_id":"A208_0","argument":"開成や早稲田の卒業生が多いので、特に驚きはない。","comment_id":"208","x":0.73724747,"y":9.6116495,"p":1}]},{"cluster":"若者への期待","cluster_id":"6","takeaways":"参加者は、日本の将来を憂い、若い世代の政治参加と社会改革を強く支持しています。特に、安宅和人のような未来志向の若者が現状を改革しようとする姿勢に高い評価を寄せています。若者の能力と行動力に期待し、彼らが人々の痛みや挫折に共感できることを重視し、次の機会にも挑戦し続けてほしいと願っています。","arguments":[{"arg_id":"A2_1","argument":"年配では安宅和人のような人も、日本の将来を憂えて社会実験的活動をしています。","comment_id":"2","x":1.3410364,"y":11.476363,"p":0},{"arg_id":"A7_2","argument":"こういう若者がもっと多く世の中に出てきてくれることを望みます。","comment_id":"7","x":1.7643918,"y":11.381908,"p":1},{"arg_id":"A9_4","argument":"若い世代に政治に向き合ってもらうためにも、善戦してほしい。","comment_id":"9","x":1.3378998,"y":11.413224,"p":0},{"arg_id":"A14_3","argument":"人間に対する期待を持ち続けたいと思っています。","comment_id":"14","x":1.832827,"y":11.912532,"p":0},{"arg_id":"A22_2","argument":"思想は素晴らしいので、結果が悪くても活動を続けて欲しい。","comment_id":"22","x":1.810479,"y":12.025531,"p":1},{"arg_id":"A23_0","argument":"若い能力ある方を応援したい。","comment_id":"23","x":1.7715458,"y":11.517135,"p":0.5786310547085676},{"arg_id":"A23_4","argument":"私がずっと考えていたのを現実化出来るのか。素晴らしい。","comment_id":"23","x":1.848817,"y":12.277745,"p":1},{"arg_id":"A28_6","argument":"日本の若者にもっと幸せな人生を与えられるように願います。","comment_id":"28","x":1.7062113,"y":11.329424,"p":0.621839830874811},{"arg_id":"A31_0","argument":"見た目はインパクトがあるが、出馬会見を見る限り聡明でバランスが良さそうに見える。こういう若者に未来を託してみたい。","comment_id":"31","x":1.5733118,"y":11.34939,"p":0},{"arg_id":"A45_0","argument":"若くて未来志向の考え方で現状を改革しようとする姿勢は非常に好感が持てる。","comment_id":"45","x":1.5250392,"y":11.573323,"p":1},{"arg_id":"A47_1","argument":"能力があって行動力のある若手に日本の未来を託したい!","comment_id":"47","x":1.7560843,"y":11.44514,"p":1},{"arg_id":"A57_1","argument":"人の痛みや挫折、苦悩を理解し共感できる人が重要である。","comment_id":"57","x":1.4533092,"y":11.834483,"p":0},{"arg_id":"A60_4","argument":"次の機会までに実績をさらに積み重ねてご活躍ください。本当に期待しています。","comment_id":"60","x":2.1310263,"y":11.849051,"p":1},{"arg_id":"A61_4","argument":"良識ある都民、特に若者に期待している。","comment_id":"61","x":1.5495528,"y":11.503275,"p":1},{"arg_id":"A66_0","argument":"未来のビジョンが描ける若者が日本の選挙に出た。","comment_id":"66","x":1.295741,"y":11.88488,"p":1},{"arg_id":"A80_1","argument":"他の機会にも挑戦してほしい。","comment_id":"80","x":2.11882,"y":11.787877,"p":1},{"arg_id":"A90_0","argument":"このアイディアをいただきます!","comment_id":"90","x":2.4023688,"y":12.224316,"p":1},{"arg_id":"A92_1","argument":"上ばかりを見ず、「持たざる者」へも心を寄せられる人であってほしいです。","comment_id":"92","x":1.2569093,"y":11.624978,"p":0},{"arg_id":"A97_1","argument":"期待したい!","comment_id":"97","x":2.3271592,"y":12.093739,"p":1},{"arg_id":"A103_0","argument":"ずっと力強くがんばって欲しいです。","comment_id":"103","x":1.9950225,"y":11.741014,"p":0.4712546288316727},{"arg_id":"A104_1","argument":"本当に日本のために力を尽くしてくれる人になって欲しい。","comment_id":"104","x":1.4527478,"y":11.613967,"p":1},{"arg_id":"A120_0","argument":"一人で孤軍奮闘しても世の中は動かないが、理解者と仲間、賛同者がいれば変わる可能性がある。期待しています。","comment_id":"120","x":1.6401591,"y":12.051899,"p":0},{"arg_id":"A125_0","argument":"経歴を見るとすごい方だと思います。","comment_id":"125","x":1.5646229,"y":11.126743,"p":0},{"arg_id":"A127_1","argument":"その数値は常に変動する仕様にしてほしい。","comment_id":"127","x":2.0288353,"y":11.926464,"p":0.4865788192662745},{"arg_id":"A130_1","argument":"若い人に頑張っていただきたい。","comment_id":"130","x":1.9202116,"y":11.477172,"p":1},{"arg_id":"A140_0","argument":"若くて才能のある方に一度任せてみたい。","comment_id":"140","x":1.9947306,"y":11.570638,"p":1},{"arg_id":"A143_0","argument":"頑張ってください。もっと情報拡散の方法を検討して、期待しています。","comment_id":"143","x":2.1310766,"y":11.824638,"p":1},{"arg_id":"A154_0","argument":"凄いですね。","comment_id":"154","x":1.7712569,"y":12.356776,"p":0},{"arg_id":"A155_1","argument":"未来ktkr","comment_id":"155","x":1.9374621,"y":11.564918,"p":1},{"arg_id":"A159_0","argument":"こういった逸材に期待したい。","comment_id":"159","x":1.8363688,"y":12.148142,"p":1},{"arg_id":"A160_1","argument":"まだ彼について何も知らない。","comment_id":"160","x":2.0022817,"y":12.046031,"p":0.6749775234945978},{"arg_id":"A161_1","argument":"この人に未来を賭けてみよう。","comment_id":"161","x":2.0591035,"y":11.74905,"p":0.8757694862110105},{"arg_id":"A171_0","argument":"素直に良いね!","comment_id":"171","x":2.2365057,"y":12.315542,"p":1},{"arg_id":"A191_0","argument":"アーバンアニマルの世界へようこそ!","comment_id":"191","x":2.4826286,"y":12.016972,"p":0.8513953186714821},{"arg_id":"A191_2","argument":"まとめてリセットしてください。","comment_id":"191","x":2.166498,"y":12.379222,"p":0.670809938043454}]},{"cluster":"選挙への関心と投票意欲","cluster_id":"2","takeaways":"参加者は、選挙や政策のオープンソース化、特にマイナンバーカードを利用したネット投票の導入に強い関心を示しています。多くの人が新しい選挙システムや候補者に対して興味を持ち、特に無党派層や年配者の支持を期待しています。一方で、投票するかどうか迷っている人もおり、選挙の難しさや候補者の知名度についての懸念も見られます。全体として、新しい選挙の形に対する期待と興味が高まっていることが伺えます。","arguments":[{"arg_id":"A4_0","argument":"選挙や政策のオープンソース化は良い考えだと思う。","comment_id":"4","x":0.14229189,"y":13.290313,"p":1},{"arg_id":"A7_3","argument":"都民だったら1票入れてみたいです。どのくらい票が集まるのか興味深いです。","comment_id":"7","x":0.9165948,"y":13.083191,"p":0},{"arg_id":"A11_0","argument":"マイナンバーカードを利用した選挙を民間会社と同時にテストするのは非常に面白いし素晴らしいと思う。","comment_id":"11","x":0.37430602,"y":13.563957,"p":1},{"arg_id":"A16_1","argument":"私は喜寿を迎えるが、都民であればこの候補者に1票を投じたい。","comment_id":"16","x":1.2090507,"y":12.970515,"p":0},{"arg_id":"A21_4","argument":"私が都民だったらこの人に投票します。","comment_id":"21","x":1.4689313,"y":13.145052,"p":0.1592381372995919},{"arg_id":"A37_2","argument":"彼を理解して投票する年配者がどれくらいいるのか疑問だ。","comment_id":"37","x":1.115046,"y":12.527181,"p":0.4805918963122462},{"arg_id":"A37_5","argument":"私個人としては応援するが、投票するかは分からない。","comment_id":"37","x":1.3838184,"y":12.8086195,"p":0},{"arg_id":"A40_0","argument":"選挙に興味を持ってもらうきっかけとしては面白いと思う。","comment_id":"40","x":0.4846305,"y":13.353412,"p":0.731177741815827},{"arg_id":"A50_2","argument":"これまでは消去法でしか投票できなかったが、今回は選びたい人に投票できる気がする。","comment_id":"50","x":1.3081669,"y":13.1662245,"p":0},{"arg_id":"A52_0","argument":"マイナンバーとネットで投票し、個人が議決できるようにすべきだ。","comment_id":"52","x":1.2882129,"y":13.451946,"p":1},{"arg_id":"A69_0","argument":"「自分にはできないことをやってくれる」人に投票したい。","comment_id":"69","x":1.4382781,"y":13.258859,"p":0.1563805146929421},{"arg_id":"A69_2","argument":"新しい選挙を見せてもらいたい。","comment_id":"69","x":0.3291653,"y":13.417857,"p":1},{"arg_id":"A73_0","argument":"面白い。これくらいのことをやってくれる候補を待っていた。","comment_id":"73","x":0.9702898,"y":13.389098,"p":1},{"arg_id":"A73_2","argument":"彼に投票してもたぶんそうはならないから考えもの。","comment_id":"73","x":1.2929952,"y":12.975344,"p":0},{"arg_id":"A73_3","argument":"選挙って難しい。","comment_id":"73","x":0.06179272,"y":13.386463,"p":0.7735484509156251},{"arg_id":"A76_1","argument":"選挙後にも双方で協力してもらいたい。","comment_id":"76","x":0.2250923,"y":13.510813,"p":0.958823349608799},{"arg_id":"A78_0","argument":"自分は確実に一票入れる。","comment_id":"78","x":1.5173088,"y":13.217573,"p":1},{"arg_id":"A88_0","argument":"選挙の裏には選挙プランナーの存在が気になる。","comment_id":"88","x":0.22612616,"y":13.332509,"p":1},{"arg_id":"A96_1","argument":"投票に行きたいと思わせる候補者が出てきて楽しみです。","comment_id":"96","x":0.6957627,"y":13.206211,"p":1},{"arg_id":"A110_0","argument":"面白いが、投票しない。","comment_id":"110","x":1.1378356,"y":13.492747,"p":1},{"arg_id":"A118_0","argument":"面白い。既成の枠を超えている人物。","comment_id":"118","x":1.0088496,"y":13.482217,"p":1},{"arg_id":"A134_0","argument":"東京に住んでいるなら、この人に投票するべきだ。","comment_id":"134","x":1.5336751,"y":13.059358,"p":0},{"arg_id":"A136_2","argument":"投票もネットで完結すれば、さらに便利になる。","comment_id":"136","x":1.2636223,"y":13.514056,"p":1},{"arg_id":"A149_0","argument":"面白い候補です。無党派層を掴むことができる気がします。","comment_id":"149","x":0.7644716,"y":13.468175,"p":0},{"arg_id":"A153_0","argument":"私が都民だったら100パーセントこの人に投票する。","comment_id":"153","x":1.5156988,"y":13.21543,"p":1},{"arg_id":"A156_0","argument":"ヘズマリュウより票は入るのではないかと思うが、知名度はヘズマの方が高いかもしれない。いい勝負かもしれない。","comment_id":"156","x":0.42330036,"y":12.922707,"p":0.9239411745424052},{"arg_id":"A160_0","argument":"こういう候補者を待望している。","comment_id":"160","x":0.8100037,"y":12.907248,"p":0.4347206527085662},{"arg_id":"A169_0","argument":"この人は面白いかもしれない。","comment_id":"169","x":1.0080893,"y":13.475427,"p":1},{"arg_id":"A173_0","argument":"活発な選挙は素晴らしい。","comment_id":"173","x":0.33969292,"y":13.465114,"p":1},{"arg_id":"A181_0","argument":"素晴らしい。やっと、票を入れられる候補者が出てきた。","comment_id":"181","x":0.8112431,"y":13.260336,"p":1},{"arg_id":"A183_0","argument":"ええなっ。投票したい。","comment_id":"183","x":1.50206,"y":13.385467,"p":0.8273316466883722},{"arg_id":"A184_0","argument":"凄いなコイツ。当選したら世の中変わるぞ。","comment_id":"184","x":0.7430321,"y":12.709779,"p":0.4347206527085662},{"arg_id":"A186_0","argument":"この人に投票しよう。","comment_id":"186","x":1.518251,"y":13.229075,"p":1},{"arg_id":"A189_0","argument":"皆さん、選挙に行きましょう。","comment_id":"189","x":0.47667453,"y":13.574305,"p":0.763780517058376},{"arg_id":"A189_1","argument":"よく考えて投票しましょう。","comment_id":"189","x":1.3782573,"y":13.481078,"p":1},{"arg_id":"A203_0","argument":"すごい人が出てきた。他の候補がかわいそうなくらいお馬鹿さんに見える。","comment_id":"203","x":0.7604472,"y":13.2478485,"p":1}]},{"cluster":"政治の変革と課題","cluster_id":"9","takeaways":"参加者は、現行の政治システムのアップデートと、より広範な市民参加の必要性を強調しています。特に、政策形成における透明性と効率性の向上を求め、GitHubのようなプラットフォームを活用した政策提案の仕組みを提案しています。また、政治家の評価システムや、少子化対策、地域の要望への対応など、多岐にわたる課題に対する具体的な解決策を求めています。現行の政治体制がエンタメ志向に偏りすぎているとの批判もあり、より実質的な政策議論と実行が求められています。","arguments":[{"arg_id":"A4_1","argument":"今までは党員でなければ政策について直接意見を言うのは難しかった。","comment_id":"4","x":-1.7192407,"y":11.591061,"p":0.969992191737418},{"arg_id":"A4_2","argument":"ヤフコメやツイッターでの議論はまとまりがなく、政治家が意見を採用するかは不明だった。","comment_id":"4","x":-1.3450222,"y":11.813301,"p":1},{"arg_id":"A4_3","argument":"当選するかは別として、誰もが低いハードルで政策について議論できるプラットフォームができることは価値がある。","comment_id":"4","x":-1.2069486,"y":12.230862,"p":0.9476269855492366},{"arg_id":"A5_0","argument":"政治には地域の要望、貧富の差、少子化社会への対応など多くの要因が存在する。","comment_id":"5","x":-1.9151217,"y":12.02974,"p":0.835647009407256},{"arg_id":"A5_1","argument":"すべての要因を丸く収める政治家はおらず、各利益団体の代表が議論しているに過ぎない。","comment_id":"5","x":-1.7079673,"y":12.083615,"p":0.6076031182535724},{"arg_id":"A7_0","argument":"大きな可能性を感じます。大きな政治改革につながるかもしれません。","comment_id":"7","x":-1.6871536,"y":12.441332,"p":0.8051676703356451},{"arg_id":"A9_2","argument":"従来の制度と複雑な利権構造の議会や官僚を、政治力でいなしていけるかが心配だ。","comment_id":"9","x":-2.0080347,"y":11.587457,"p":1},{"arg_id":"A10_3","argument":"自民や立憲では、党内での要職経験や政治家経験が長くないと要職に就けないため、実質的に難しいのかもしれません。","comment_id":"10","x":-1.8020815,"y":11.543915,"p":0.8263388863400154},{"arg_id":"A14_1","argument":"現状維持で大綱のみを示せば、官僚は政策を具体化しやすいと考える人も多いでしょう。","comment_id":"14","x":-2.161535,"y":11.165606,"p":0},{"arg_id":"A15_1","argument":"これまでの利権政治を一掃するためにも期待が持てる。","comment_id":"15","x":-1.575713,"y":12.3767395,"p":1},{"arg_id":"A17_0","argument":"政治における投票や政策形成のシステムは100年前に作られたもので、アップデートが必要である。","comment_id":"17","x":-1.8300394,"y":11.927981,"p":0},{"arg_id":"A22_0","argument":"政治未経験者が投票まで漕ぎつけるのは難しいと感じる。","comment_id":"22","x":-1.706002,"y":11.797699,"p":1},{"arg_id":"A22_1","argument":"都政は一人で切り盛りするわけではないが、魑魅魍魎に対して辣腕を振るえるかが重要だ。","comment_id":"22","x":-2.111773,"y":11.423395,"p":1},{"arg_id":"A23_3","argument":"政治家を評価するシステムが出来ているのか。","comment_id":"23","x":-1.9863479,"y":11.836514,"p":0},{"arg_id":"A23_6","argument":"誰の為の政策かと思う無駄な政策が多い政治。","comment_id":"23","x":-2.0129423,"y":12.050843,"p":1},{"arg_id":"A27_0","argument":"次世代を担う人が政治を支えることが少子化解消の近道だと思う。","comment_id":"27","x":-1.714155,"y":11.76828,"p":1},{"arg_id":"A29_1","argument":"ただ、しがらみだらけの政界で生き抜き頭角を現す政治力があるのか、既存の勢力を束ねられずに諦めることになるのではないかと危惧します。バックアップする人は居るのでしょうか。","comment_id":"29","x":-2.223239,"y":11.665358,"p":0},{"arg_id":"A36_1","argument":"この方は有能だと思いますが、他の議員それぞれには意思があり、議員としての権利を持ち、派閥の制約が複雑に絡み合います。","comment_id":"36","x":-1.9719359,"y":11.016413,"p":0},{"arg_id":"A36_2","argument":"それを解きほぐして政策を進めることは相当難しいです。時には自分の意志とは異なる動きをしなければならない。","comment_id":"36","x":-2.1046116,"y":11.831253,"p":1},{"arg_id":"A38_1","argument":"地方も国の政策も問題が顕在化してから対策が後手になっているのが現状である。","comment_id":"38","x":-2.4542556,"y":11.485153,"p":0},{"arg_id":"A41_2","argument":"都議会や市議会、宗教団体、富裕層、山林地主、警視庁、大企業、反社会勢力など、多くの関係者との調整が必要である。","comment_id":"41","x":-1.6777519,"y":11.305183,"p":0},{"arg_id":"A46_0","argument":"GitHubのアカウントがあれば誰でも政策への変更提案ができるようにしたが、可能な人とそうでない人に差が出るのではないか?","comment_id":"46","x":-1.3458893,"y":11.301443,"p":1},{"arg_id":"A50_1","argument":"多くの人は経済や最新技術について知らないまま一票を持っている。","comment_id":"50","x":-1.2685381,"y":11.440402,"p":0.8520692574801825},{"arg_id":"A51_0","argument":"個人的には期待しているが、政治には多くのしがらみがあり、どこまで得票数を伸ばせるか、また当選した場合、どこまで政策を実現できるかはわからない。","comment_id":"51","x":-1.2049688,"y":12.564667,"p":0},{"arg_id":"A51_1","argument":"腐敗した政治に変革を起こし、真の民主主義を実現してほしい。","comment_id":"51","x":-1.5297111,"y":12.412979,"p":1},{"arg_id":"A52_1","argument":"二択や三択で国会議員や知事を決めるのは無理がある。","comment_id":"52","x":-1.3965268,"y":11.881544,"p":1},{"arg_id":"A52_2","argument":"政治家に自己の利益や専制を求めないのは無理がある。","comment_id":"52","x":-1.9714674,"y":12.162067,"p":1},{"arg_id":"A52_3","argument":"議員や知事は不要だと思う。","comment_id":"52","x":-1.7021965,"y":11.063574,"p":0},{"arg_id":"A55_1","argument":"まずは政治理念や目指す社会が明確でないと判断できない。最終判断は人間が行うべきである。","comment_id":"55","x":-1.7463007,"y":12.21682,"p":1},{"arg_id":"A59_0","argument":"このような方は官僚に利用され、既存政党に取り込まれる可能性が高い。","comment_id":"59","x":-2.0992928,"y":11.202666,"p":0},{"arg_id":"A61_3","argument":"都知事選挙で多くの人の共感を得ることが重要だが、日本の国民性を考えると難しいかもしれない。","comment_id":"61","x":-1.0807354,"y":12.074146,"p":0.4036734652523014},{"arg_id":"A64_2","argument":"民衆の声は一つではなく、両極論が拮抗していることもあるため、少数派の政策も進める必要がある。","comment_id":"64","x":-1.3807095,"y":11.845899,"p":1},{"arg_id":"A65_3","argument":"特定の政治的見解や国に対する偏見が報道されることがある。","comment_id":"65","x":-1.3215237,"y":12.296721,"p":0.7338851658624339},{"arg_id":"A67_0","argument":"興味深い候補だと思いますが、政治は非常に厄介でアナログ的なものです。","comment_id":"67","x":-2.28097,"y":11.960582,"p":0.7005622443253887},{"arg_id":"A67_1","argument":"政治の常識は、正直者がバカを見る世界であり、派閥の長が財界や官僚に利益を与えて取り仕切っています。","comment_id":"67","x":-1.7376057,"y":12.25922,"p":1},{"arg_id":"A67_2","argument":"政治は非常にクローズドなものであり、オープンにするためには多くの犠牲が必要かもしれません。","comment_id":"67","x":-2.165683,"y":12.068942,"p":0.7206446423033538},{"arg_id":"A71_0","argument":"みんなで考えることがポピュリズムの政治になるのではないか。","comment_id":"71","x":-1.4881859,"y":12.019866,"p":0.4181032614885997},{"arg_id":"A74_2","argument":"今の政治家の質は、バラマキを支持する国民の質に依存している。","comment_id":"74","x":-1.1633607,"y":12.1742115,"p":0.5699135861539816},{"arg_id":"A77_0","argument":"この方が政治家としてうまくやれるかは難しい問題だと思う。","comment_id":"77","x":-2.0744615,"y":11.502474,"p":1},{"arg_id":"A78_2","argument":"政治家としてのノウハウは少ないかもしれないが、そこにつけ込まれないように頑張ってほしい。","comment_id":"78","x":-2.246469,"y":11.8373,"p":1},{"arg_id":"A81_1","argument":"基本的な思想が知りたい。右寄りか左寄りか、移民についてどう考えているか、東京をどのようにしたいのかが分からないと投票できない。","comment_id":"81","x":-1.2330303,"y":12.270501,"p":1},{"arg_id":"A89_0","argument":"新しい民主主義とは具体的に今の民主主義とどう違うのかが不明確である。","comment_id":"89","x":-1.4505539,"y":12.407689,"p":0.9990513960546776},{"arg_id":"A89_1","argument":"新しい民主主義について、わかりやすい言葉で明確に説明してほしい。","comment_id":"89","x":-1.371209,"y":12.538046,"p":0.7650753733050778},{"arg_id":"A90_2","argument":"巷のデマについても反論します。","comment_id":"90","x":-1.229783,"y":11.331178,"p":1},{"arg_id":"A98_0","argument":"民主主義は非常に効率の悪い制度である。","comment_id":"98","x":-2.0192275,"y":12.343462,"p":0},{"arg_id":"A98_1","argument":"一般国民が選ぶ政治家が正しいとは限らない。","comment_id":"98","x":-1.2778778,"y":12.321262,"p":1},{"arg_id":"A99_0","argument":"現在の世襲政治をなくし、若くて多様な経験を持つ人々が政治に関わることが必要である。","comment_id":"99","x":-1.3210429,"y":11.720378,"p":0.6151771778241951},{"arg_id":"A100_0","argument":"政治不信をテクノロジーで解消できるなら良いが、まずはお金のかからない政治にして裏金を撲滅すべきである。","comment_id":"100","x":-1.7957939,"y":11.702317,"p":1},{"arg_id":"A100_1","argument":"代議員制を止めることも検討すべきである。","comment_id":"100","x":-1.3835981,"y":11.359489,"p":0.8520692574801825},{"arg_id":"A107_0","argument":"貴族階層の人生を歩んできた点で、今の政治家たちと本質的に変わらないと思います。","comment_id":"107","x":-1.6651967,"y":11.640313,"p":0.956096202173191},{"arg_id":"A113_1","argument":"今の政治と選挙はエンタメ志向が強すぎる。","comment_id":"113","x":-2.037297,"y":12.234257,"p":1},{"arg_id":"A122_0","argument":"政治が根本から変わるような気がする。","comment_id":"122","x":-1.8055714,"y":12.30735,"p":1},{"arg_id":"A136_1","argument":"改善提案をプルリクエストで受け付けるのも良い。","comment_id":"136","x":-1.1062353,"y":11.31338,"p":0.960185231688524},{"arg_id":"A155_0","argument":"GitHubのアカウントがあれば、誰でも政策への変更提案を送ることができるようにした。","comment_id":"155","x":-1.3147163,"y":11.146582,"p":0.7587198396645443},{"arg_id":"A161_0","argument":"今の政治家には期待できない。","comment_id":"161","x":-2.0495872,"y":12.083434,"p":1},{"arg_id":"A182_0","argument":"専門家に政治家になってほしい。","comment_id":"182","x":-1.2483307,"y":11.188511,"p":0.8330815644208682},{"arg_id":"A194_0","argument":"政治家にならなくても安泰だろうに、よっぽど危機感があるのだろう。","comment_id":"194","x":-2.2899601,"y":11.633838,"p":0},{"arg_id":"A195_1","argument":"学歴詐称者や公職選挙法違反者には投票すべきではない。","comment_id":"195","x":-0.9547148,"y":11.963357,"p":0},{"arg_id":"A196_0","argument":"ITや専門的な知識がない高齢者は、政治家になるべきではない。","comment_id":"196","x":-1.1502006,"y":11.685054,"p":0}]},{"cluster":"オードリー・タンとの比較","cluster_id":"3","takeaways":"参加者は、台湾のIT大臣オードリー・タン氏の優れた業績を称賛し、彼のようなデジタル技術に精通したリーダーが日本にも必要だと主張しています。しかし、タン氏が担当大臣であったことから、トップリーダーとしての適性には疑問を呈する意見もあります。また、彼の応援演説が都知事選にどのように影響するかについては不明確だとする声もあります。全体として、デジタル技術の重要性とそのリーダーシップに対する期待が強調されています。","arguments":[{"arg_id":"A13_2","argument":"オードリータン氏の立ち位置もそうでした。","comment_id":"13","x":-2.700246,"y":8.408998,"p":1},{"arg_id":"A26_1","argument":"個人的には、オードリー・タンのようにデジタル大臣になってもらうのが良いかなと思いました。","comment_id":"26","x":-2.4557817,"y":8.371984,"p":0.938209534732511},{"arg_id":"A35_0","argument":"台湾のIT大臣オードリー・タンさんは非常に優秀で、コロナ禍でもマスク配布システムなどを次々に構築した。","comment_id":"35","x":-2.53289,"y":8.304954,"p":0.7332119132287639},{"arg_id":"A35_3","argument":"オードリー・タンさんが推薦するなら、その人物は本当に優秀だろう。","comment_id":"35","x":-2.8119645,"y":8.225012,"p":1},{"arg_id":"A41_3","argument":"オードリー・タンもデジタル大臣をしていたが、知事や総統をしていたわけではない。","comment_id":"41","x":-2.520156,"y":8.466342,"p":0.9857736923938748},{"arg_id":"A68_0","argument":"オードリータンは一つの仕事を任された大臣に過ぎず、トップには向かない。","comment_id":"68","x":-2.598125,"y":8.529608,"p":0.9815096670721488},{"arg_id":"A83_2","argument":"オードリー・タンのような人は日本ではまだ早すぎる。","comment_id":"83","x":-2.750205,"y":8.312594,"p":1},{"arg_id":"A86_1","argument":"オードリー・タン氏が首長ではなく担当大臣だったことを考えると、その方に話を伺うのは都知事選とどう関係があるのか不明。","comment_id":"86","x":-2.6996844,"y":8.398627,"p":1},{"arg_id":"A106_0","argument":"オードリー・タンが応援演説に来たら面白そう。","comment_id":"106","x":-2.846867,"y":8.249075,"p":1},{"arg_id":"A166_0","argument":"オードリーたんはコロナ後、めっきり報道されなくなった。何かあったのか。","comment_id":"166","x":-2.6196678,"y":8.422567,"p":1},{"arg_id":"A175_0","argument":"「東京のオードリー・タン」になってくれるのならば、私の一票を差し上げます!","comment_id":"175","x":-2.9146852,"y":8.201297,"p":1},{"arg_id":"A180_0","argument":"オードリー・タンが応援演説に来るかもしれない。胸が熱くなる。","comment_id":"180","x":-2.9294357,"y":8.275893,"p":1}]},{"cluster":"石丸伸二との比較","cluster_id":"7","takeaways":"参加者は、石丸氏と安野氏の若いリーダーシップに期待を寄せており、特に石丸氏が都知事となり、安野氏が副知事として協力することで、東京や日本全体に大きな変革をもたらす可能性があると考えています。彼らの民間企業での経験と若さが、政治に新しい風を吹き込み、AIリテラシーの向上や効率的な行政運営に寄与することを期待しています。","arguments":[{"arg_id":"A15_2","argument":"石丸氏と並んで安野氏も浮遊層の支持を集めそうだ。この二人は東京を変え、日本を変える期待の星だ。","comment_id":"15","x":0.98178893,"y":8.723935,"p":1},{"arg_id":"A20_0","argument":"石丸さんと組んで欲しい。すると一気にAIリテラシーが進むと思う。","comment_id":"20","x":0.74778795,"y":8.193932,"p":0},{"arg_id":"A22_4","argument":"地方蔑視ではないが、石丸さんのようにどこかで成果を上げてからでも良いかもしれない。","comment_id":"22","x":0.78336746,"y":8.885332,"p":0.561083127681665},{"arg_id":"A26_0","argument":"安野氏と同年代で、これまで政治家には絶望していましたが、石丸安芸高田市長やこの方など民間企業で働いていた若くて優秀な方が政治家を目指し、選ばれていくことはとても良い傾向だと思います。","comment_id":"26","x":0.8583645,"y":8.723262,"p":0.9604795070607676},{"arg_id":"A76_0","argument":"安芸高田市の石丸氏と討論会をしてもらいたい。","comment_id":"76","x":0.803588,"y":8.542453,"p":0.9705354310970392},{"arg_id":"A86_0","argument":"石丸慎二よりはマシそうだが、経歴が都知事向きか疑問がある。","comment_id":"86","x":1.0279257,"y":8.676707,"p":1},{"arg_id":"A88_2","argument":"石丸伸二とは別のプランナーだろうけど。","comment_id":"88","x":1.0771006,"y":8.568839,"p":1},{"arg_id":"A110_1","argument":"石丸氏が都知事となり、この方もブレーンとして参加する頭でっかち感のある都政を見てみたい。","comment_id":"110","x":0.6331694,"y":8.7367325,"p":0.561083127681665},{"arg_id":"A122_1","argument":"石丸市長にも期待しているが、更に面白い人が出現してきた。","comment_id":"122","x":0.8864212,"y":8.655689,"p":1},{"arg_id":"A123_1","argument":"どこかの役立たずブロック河野太郎より全然仕事してくれそう。","comment_id":"123","x":0.60765356,"y":9.117655,"p":0.900274753768278},{"arg_id":"A138_0","argument":"石丸氏が都知事となり、副都知事としてこの方が就任すれば、非常に良い結果が期待できる。","comment_id":"138","x":0.74030954,"y":8.646932,"p":0.8738177419196507},{"arg_id":"A141_0","argument":"石丸と安野の若い力が日本を変えてくれると信じている。","comment_id":"141","x":1.2141137,"y":8.791825,"p":0.6218042781678114},{"arg_id":"A165_0","argument":"屁理屈ばかりの石丸よりは可能性がありそうだ。","comment_id":"165","x":1.2315996,"y":8.694009,"p":1},{"arg_id":"A170_0","argument":"石丸伸二が都知事になり、この方が副知事だと面白そう。","comment_id":"170","x":0.8653925,"y":8.594398,"p":1},{"arg_id":"A188_0","argument":"石丸よりもずっと良い。","comment_id":"188","x":1.1810981,"y":8.6040535,"p":1}]},{"cluster":"主要対立候補への批判","cluster_id":"4","takeaways":"参加者は、小池氏や蓮舫氏に対する不満を強く表明し、彼らの政治手法や過去の行動を批判しています。特に、既得権益に絡むメディアが新しい候補者にチャンスを与えないことに対する懸念が示されています。参加者は、知性溢れる新しい候補者である安野氏に期待を寄せており、彼が都民にとって良い選択肢になると信じています。","arguments":[{"arg_id":"A31_1","argument":"小池や蓮舫サイドからネガティブキャンペーンが張られるかもしれないが、是非頑張ってほしい。","comment_id":"31","x":1.9211986,"y":9.315081,"p":1},{"arg_id":"A70_0","argument":"小池さんか蓮舫さんの二択に疲れた都民にとって、良い選択肢になると思います。","comment_id":"70","x":1.8978362,"y":9.112084,"p":0.4179162841746346},{"arg_id":"A70_2","argument":"結局当選するのは小池さんか蓮舫さんのどちらかでしょうけど、、、","comment_id":"70","x":1.8961484,"y":9.0496025,"p":0.3726978095388911},{"arg_id":"A73_1","argument":"今回はまず小池知事を落とさないといけない。","comment_id":"73","x":1.3457304,"y":9.345692,"p":0},{"arg_id":"A78_3","argument":"石丸さんや蓮舫さんが全然小さく見える。","comment_id":"78","x":1.7278208,"y":8.831015,"p":0.1806922066175697},{"arg_id":"A86_2","argument":"ばら撒きしかしていない小池、公職選挙法違反の蓮舫、ポスター代踏み倒しや恫喝裁判で敗訴した石丸よりはマシだと思える。","comment_id":"86","x":1.7266883,"y":9.124222,"p":0.3467057890042852},{"arg_id":"A91_0","argument":"小池氏も蓮舫氏も真正面からの質問を避けるので、政治家として胡散臭い。","comment_id":"91","x":1.8422432,"y":9.236576,"p":0.6441071436334784},{"arg_id":"A91_1","argument":"小池氏や蓮舫氏を批判する意味で、当選する可能性が低いつばさの党に投票しようと思っていたが、知性溢れる安野氏に投票することに決めた。","comment_id":"91","x":1.6961166,"y":9.109555,"p":0.2817791633088299},{"arg_id":"A108_1","argument":"蓮舫と小池のどちらが当選しても大して変わらないと思います。","comment_id":"108","x":1.8825599,"y":8.916537,"p":0.2819624788776986},{"arg_id":"A118_1","argument":"小池や蓮舫は過去の産物であり、これからの人に政治をやって欲しい。","comment_id":"118","x":1.9294158,"y":9.278534,"p":1},{"arg_id":"A126_1","argument":"多くの人がレンホーや小池に注目しているのは残念だ。","comment_id":"126","x":1.8849695,"y":9.301109,"p":1},{"arg_id":"A130_0","argument":"小池さんや蓮舫さんとは全く違う、良い対抗馬が出てきました。","comment_id":"130","x":2.0259137,"y":9.115401,"p":0.3426329361587663},{"arg_id":"A141_1","argument":"日本のためにならない党は支持しない。","comment_id":"141","x":1.9369268,"y":9.646597,"p":0.2145705600236962},{"arg_id":"A153_1","argument":"小池や蓮舫などの政治家を遊ばせている余裕は日本に無い。","comment_id":"153","x":1.7798314,"y":9.4754305,"p":0.2332015779439992},{"arg_id":"A191_1","argument":"古狸、白狐、虚勢をはる犬、そして猿の群れがいます。","comment_id":"191","x":2.2556865,"y":9.400378,"p":0.1444151847448849},{"arg_id":"A199_0","argument":"有望な候補者が現れても、既得権益に絡むメディアは小池VS蓮舫の構図にするため、チャンスがない。","comment_id":"199","x":1.7842954,"y":9.696779,"p":0.2251690925955775},{"arg_id":"A200_0","argument":"「赤いきつね」と「緑のたぬき」の一騎打ちになるかと思いきや、「黒い豚カレー」がここにいた!","comment_id":"200","x":2.1837294,"y":9.289178,"p":0.212364628847942},{"arg_id":"A204_0","argument":"小池氏ではもうダメだ。","comment_id":"204","x":1.8379785,"y":9.215263,"p":0.5093824979679656}]}],"comments":{"0":{"comment":"過去にIT先進国を目指していたにも関わらず、ITも分からない人が大臣をやっていて、今の日本があると思う。\n\nデジタルに精通してる人が首長や大臣などのリーダー職に就くことはとても良い良い事。\n今は生成AIなどデジタル分野で新しい流れが来ているので、\n最大限政府レベルで産業育成や具体的な活用推進をして欲しい。"},"1":{"comment":"面白い人ですね。どんな技術も使い手の意識、目的次第で生み出される物は七変化すると思います。犯罪目的も、社会貢献も。ただし資本主義構造の中で技術を活用する事を前提とした場合、使う側がどの位置にいるのかに掛かってきます。技術に飲み込まれていかされた人が、使用する側か。使用する側は技術によって生み出せる可能性を応用続けて発展性がある。技術に飲み込まれた依存症が蔓延すれば社会が停滞する。使い方利用法にもアイデア、企画性が必要であり。工夫とアレンジ、目的に沿って新たなものを生み出す為に、自動化やシステムが発展して欲しいと願います。"},"2":{"comment":"批判的な目でwikiまで目を通してみましたが、良い候補者だと思います。\nこういう層から大勢が政治参加してほしいです。\n年配では安宅和人といった人も、日本の将来を憂えて色んな社会実験的活動をしているようですし。\n視野が狭い財務省等の官僚出身や世襲議員、知名度だけの候補者よりも遥かに可能性を感じます。"},"3":{"comment":"ついにこういう逸材が\n危機感から出馬するようになったか。\n\n当選が目的ではなく\n啓発や警告目的なんだろうが\n停滞する日本を変えるには\nこういう人材が必要。\n\n都民ではないが\n動向に関心を持って見守りたいと\n思います。"},"4":{"comment":"選挙のオープンソース、政策のオープンソース化はいい考えだと思います。\n今までどこかの党員でもなければ政策について本人に直接言えないし、ハードルが高かった。\nヤフコメやツイッターなどで議論は今までもあったが、まとまりは無いし、その意見にアタッチするかしないかは政治家次第。\n当選するかは別として、低いハードルで誰もが政策について議論できるプラットフォームができ、それが履歴ある形で残るだけでも価値は大きいと思う。"},"5":{"comment":"政治には多くの要因が存在する。地域の要望、貧富の差、少子化社会への対応など、これらすべてを丸く収める政治家はおらず、結局、各利益団体の代表が喧々諤々やっているに過ぎない。\nこうした多因子が交絡する条件で最適解を見つけることは、AIが得意とすることだ。AIがまず議論の土台となるたたき台を作り、これを基に利益団体の代表が意見するスタイルの方が合理的である。"},"6":{"comment":"彼の場合都知事になるのではなくて本来何かの形でシンクタンクか専用の室長みたいな形でブレーンとして参画するほうが手腕を発揮しやすいのではないかと思う。\n行政の長は実際には泥臭い話のほうがはるかに多いでしょうし。\n\nもしくはもう少し小さい自治体の長で自身の思う形を実現させる経験を先に行ったほうがいいのかもしれない"},"7":{"comment":"大きな可能性を感じます。大きな政治改革につながるかも。\n自分も若い時これぐらいの発想力、スキルがあればなあと思い、結局政治に対し、国に対し嘆くことしかできなかった。\nこういう若者がもっと多く世の中に出てきてくれることを望みます。都民だったら1票いれてみたい。どのくらい票が集まるのか興味深い。"},"8":{"comment":"テクノロジーに対する考えは全くの同意です。\nしかしそれを現実の組織の中で実現するという観点で見た時、ゼロイチで新しいものを作った経験しかないのが気になります。\nJTCと同様に都政も多くの既存の仕組みがあって、また限られた人的リソースでの対応が必要です。テクノロジー的に言えば技術的負債をなんとかしないといけない。\nそしてその話について来れる人がいない、という時、どうするかを聞きたいですね。"},"9":{"comment":"面白い。\n新しい時代は、混沌から生まれる。\n混沌とした都知事選から、新しい形の立候補者が出ることは、うれしいことだ。\nただ、心配な点もある。\n都知事は新しい視点になっても、議会が旧態依然のままだと、レームダックになってしまう。\n一筋縄でいかない、従来制度の中で複雑な利権構造の議会や官僚を、政治力を使っていなして行けるのか。\nいや、いなして行ってほしい。\n政治屋は風見鶏だから、民意が高く、実行力があればいつかは従ってくる。\n若い世代に政治に向き合ってもらうためにも、善戦して欲しい。"},"10":{"comment":"AI技術が必要となる状況でこういった方が\n政治を目指すほうが自然な気もします。\nでも都政というより国政で、日本国内のインフラに\nそのテクノロジー技術を生かしてもらうほうが自然な\n気がしますね。マイナ保険の件とか、知識ある方がトップで\n対応されるほうが信頼性は高いと思うのですが・・・\nただし自民や立憲では悪しき伝統として、党内で要職経験や政治家経験を\n長く続けないと要職に付けないので実質難しいのでしょうか。"},"11":{"comment":"マイナンバーカードを利用した選挙を民間会社と同時にテストしたり、非常に面白いし素晴らしいと思う候補者なのに、メディアは有名人しか報道にでない。you tubeで会見をみて知ったが、大手メディアは有名人しかやらないようだ。メディアのあり方も考えさせられる。こういう人材は都知事に限らず、国政にも参画して頂きたいです。"},"12":{"comment":"都知事選出馬記者会見の全文をNoteで見ましたが、投票は赤いきつねや緑のたぬきではなくこの人を考えてます。個別の政策に言及はなかったけど、それは都庁の分厚いスタッフ陣が対応していくのだし、制度の大枠のアップデートはトップダウンでしかできないので、期待したいと思います。開成→東大→外コン→IT起業家の経歴から、割と権力の近くにいる人なので、制度改革を実行してもつぶされずに守られそうですしね。"},"13":{"comment":"この人は、デジタル世界の諸葛孔明的な存在なので、リーダーではなく軍師として、都政を支えてほしいですね。\nリーダーは、劉備玄徳のような大きな器を持った方になってもらい、彼をデジタル特命部長などにして、うまく使いこなすのがよろしいかと。オードリータン氏の立ち位置もそうでしたね。"},"14":{"comment":"興味深い若い人が立候補されるようでデジタル分野に関わる政策など注目したいと思っています。少し危惧しますのは社会分野、経済政策、教育、福祉などの分野です。まあ特に意見がなければ現状維持で大綱のみをしめせば官僚のみなさんは「やりやすい知事だ」と喜んで延長線上の政策をそつなく具体化すると思います。それでイイという人も多いかと。私が危惧などといいますのは最近聞いたChatGPTに関わる話で、何かについて意見を求めると、その大半が現状肯定のいわゆる「支配的イデオロギー」の固まりだということです。ネットに流布する情報を拾っているのだからアタリマエですが、もしこの方が同工異曲のことをやっておられるのであれば、うんとお金をかけたできの良いアンドロイドさんにまかせた方がいいのかな、などと。人間にまだ幻想を持ちたいな、と思っております。"},"15":{"comment":"AIを駆使した都政、 いいね。素人がAIに使われるだけだと大問題に発展するだろうが、彼のような天才専門家がAIを使いこなすという意味では都民にとって最大公約数的, 合理的、公平な都政となり得る。\nこれまでの利権政治を一掃するためにも期待が持てる。\n石丸氏と並んで安野氏もいわゆる浮遊層の支持を多く集めそうだ。この二人は東京を変え日本を変える期待の星だろう。"},"16":{"comment":"やっと直接選挙を可能にする待望の救世主(メシア)が現れた。私が都民でないことが悔やまれる。私はもうすぐ喜寿を迎えるが都民であったならこれからの日本の未来を託せる人物に迷わず1票を投じる。マスコミの都知事選出場表明の記者会見を見たが出自、門閥に関する質問ばかりで表明している政策等についての質問は見られなかったように思われた。今後大手マスコミの出方に注視したい。よしんば都知事選に負けたとしても日本の将来の為に国政にチャレンジして欲しい。応援します。"},"17":{"comment":"問題の本質は、政治における投票や政策形成のシステムが100年も前につくられたもので、アップデートが必要だということです。\n・・・もちろん指摘は正しいが、単純に遅れている訳では無い。それなら新しいシステムをさっさと導入すればすぐ解決する。実は、わざと進歩させないのだ。裏金と買収で当選出来る余地を残しているためた。世襲議員を含む不正で当選する既得権益との戦いに勝てるか、有権者がついてくるかと言う、このエンジニアが考えているよりもっと大きな民主主義の根幹に関わる問題を解決しないといけないと言うこと。"},"18":{"comment":"ある程度売名というか世間に対する認知のためはあると思う。現にこの様にネットニュースに取り上げられて、世に名を知らしめる効果はあるだろう。へずま某などが認知されるより、この方が世間一般にどんどん認知された方が良い世の中になると思うし、そういう社会になって欲しい。今回の選挙では厳しいと思うが、いずれ日本に無くてはならない人物になりそうな気がします。"},"19":{"comment":"この人が実現している技術は、国会質問のあり方も変えます。\nしばらくは信頼性の問題で、放ったらかしにはできないでしょう。しかし、わざわざアホな議員が秘書に命じてつくらせた質問を受けて、霞が関の官僚が夜なべして答弁書を作成、アホな大臣が朗読するという無駄を削減できる。\n\n有権者はみずから、議員を介さずに24時間、質問をして、回答を得ることができ、政策の提案や修正も行えるということ。"},"20":{"comment":"石丸さんと組んで欲しい。すると一気にAIリテラシーが進むと思う。悪いが小池、蓮舫ともAIをエンタメレベルでしか判断出来ていない。日本とは言わないが、東京でAIをリード出来る社会を作って欲しい。いずれは、古い、分かりにくい、穴だらけの日本の基幹システムも何とかして欲しいところ。"},"21":{"comment":"日本では頭がいい人が安易に医者になってしまうパターンが多い中で、ITエンジニアでこういう方がいらっしゃるとは、そのこと自体に喜ばしいですよね。ニューカマーであると感じられ、既得権益を壊してくれそうな、期待できそうな感じがあります。今の選挙で有利なのは、SNS活用に長けた人だと思うので、この人はSNS活用に関してはどうでしょうね。ご本人がSNSを私的利用ではそんなに好きでないとしても、どなたかブレーンがいらっしゃるかもと思いますが。私が都民だったら多分この人に投票しますね。"},"22":{"comment":"政治未経験が投票まで漕ぎつけない感がある。\n都政を一人で切り盛りするわけでは無いのだから、魑魅魍魎どもへ辣腕振れるか・・・\n思想は素晴らしいので、結果悪くとも活動は続けて欲しい。\n今回はビッグネームが多過ぎる。\n地方蔑視ではないが、石丸さんのようにどこかで成果をあげてもからでもいいかも。\nただ、問題は急を要する事かもしれないが・・・"},"23":{"comment":"これを機に確認した上で\n\nもう終わった年齢だが若い能力ある方を応援\nしたい。\n\n選挙投票を初めてする時親から言われた事は、地元\nの有力者が勝てる選挙でも若いのは若い人を応援\nすべきだと。\n\nその時落選したが次回当選したなぁ。\n\n政治家を評価するシステムが出来ているのか。\n私がずっと考えていたのを現実化出来るのか。\n素晴らしい。\n\n政策も変更出来るなら神宮外苑等の環境破壊\nする開発やメガロポリスの東京には住民の意思\nが反映出来る余地がある。\n\n誰の為の政策かと思う無駄な政策が多い政治。\n\nザルの支出の無駄をなくして欲しい。"},"24":{"comment":"まずやる必要があるのは、この人が何をやってるか都民や国民が理解できるよう、教養レベルを上げることだ。残念ながら大多数の人は、何か難しいことをやってるなあ、で終わっている。これは票に結びつかない。高度な知的レベルの宇宙人が立候補しても誰も投票しないのと同じこと。自分がいかに天才となったか、そのノウハウを教育現場に応用することがまず必要だ。"},"25":{"comment":"東京大学には、東京大学卒までの人と、東京大学卒からの人に\nわかれるという。その才能で政治判断のデジタル化は大賛成です。\n政治家のくだらない利権にまみれた判断より、AIの方が合理性があります。\nただし、人間は合理性のみで動くのではありませんから、AIの判断を\nうのみにしない知性ある人が修正をかけていけば世の中明るくなります。"},"26":{"comment":"安野氏と同年代で、これまで政治家には絶望していましたが、石丸安芸高田市長やこの方など民間企業で働いていた若くて優秀な方が政治家を目指し、選ばれていくことはとても良い傾向だと思います。\n個人的には、オードリー・タンのようにデジタル大臣になってもらうのが良いかなと思いました。"},"27":{"comment":"こういう次世代を担う人が政治を支えるのが、少子化解消にも一番近道なのではないかなと思う。国民の声を聞くばかりでなく、国民を引っ張っていってくれるリーダーが今こそ必要だと思う。"},"28":{"comment":"超エリートだと、普通の人と共にの経験がどの程度あるのかは気になります\n\n東京都だと器が大きすぎて、小さな市町村でのトップを経験してからの方が、人が動く流れを実践し、掴めるかと思いますが。\n\n安倍政権がそうでしたが、学校の先生に親の暴力を伝えたのに、家に帰され、父に殺された心愛ちゃんの事件の時、\n\n安倍晋三総理はちゃんと官僚に指令は出しましたが、何も変わらずに今に至ってます\n\n児童相談所と警察の連携は少しは進んだのでしょうか?親の犯罪歴は警察でしか分かりません\n\n家庭内暴力は法律に触れないままなのでしょうか?人権擁護から考えると親権が強すぎる今を改正すべきに思います\n\nトップダウンはなかなか世の中を変えません。本当に変えたければ、明石市の前市長のように、市を変えられたなら、もっとも大きな都や国を変えられる手順を踏むことを勧めます\n\n日本の若者にもっと幸せな人生を与えられるように願います"},"29":{"comment":"今回は難しいとしても、こういう方が立候補して、そこから新たな日本の参画に関わってほしいと思う。\nただ、しがらみだらけの政界で生き抜き頭角を現す政治力はどうなのか、考えや方向性が正しくても、既存の勢力を束ねられずに結局諦めることになってしまうのではないかと危惧します。バックアップする人は居るのでしょうか…"},"30":{"comment":"安芸高田市の市長さんがトップでITに関するブレーンとしてこの方なら双方をカバーできる体制ではないでしょうか?\n政治に強い安芸高田市の市長、AI知識はまさにトップレベルの技術者。\n文理双方バランス取れてていいと思います。"},"31":{"comment":"見た目はインパクトあるけど出馬会見見る限りはとても聡明でバランスも良さそうに見える。こういう若者に未来を託してみたい。\n小池や蓮舫サイドからネガキャンが張られるかもしれないが是非頑張ってほしい。"},"32":{"comment":"都知事は権限もあるから面白いかもしれない。政治家は必ずしも賢い人ばかりではないので、こういう天才的頭脳を持つ方が新風を吹き込んでくれることに期待する人も多いのではないかな。"},"33":{"comment":"この分野に長けた人が候補者として考え方を主張していただくことは、とても意義深いことだと思います。2番を目指す感情的にしか物事をとらえられない候補者よりも都知事にふさわしいと思います。"},"34":{"comment":"開成では「卒業生に石を投げれば理Ⅰ文Ⅰにあたる」から、この人の経歴自体は普通の内容。自分の同期で理1組は殆どが大企業か大学に残り研究者を選んでいたが、最近は理1も起業する人が増えたと感じる。ふるさと東京がこれ以上荒らされるのは我慢できないという江戸っ子愛からの立候補であれば交換が持てるが、同窓OBネットワークが動いてくれるか。"},"35":{"comment":"台湾のIT大臣のオードリー・タンさんは物凄い優秀でコロナ禍でもマスク配布システムなど次々に構築したのを知り、日本のIT大臣とは、能力かま天と地の差…大人と赤ん坊の差のようで悲しかった。\n日本のIT大臣を見て、この国は本当にヤバいんだ…と思い知らされた。あのオードリー・タンさんのお墨付きなら、本当に優秀なんだろうな…\nIT後進国の日本、こういう実力者をトップに据えないと、この国は本当におわりますよ…"},"36":{"comment":"プログラムのコードは100%自分の自由に書くことができます。\n\nしかし、議会はそうはいきません。\nこの方は有能だと思いますが、「有能ではない」他の議員それぞれには意思があり、議員としての権利を持ち、さらに派閥の制約が複雑に絡み合います。\n\nそれを解きほぐして政策を進める事は相当難しいことです。時には自分の意志とは異なる動きをしなければならない。\nAIエンジニアにそれが出来るのか、興味はあります。\n\nその前に、当選しなければ何も始まりませんが。"},"37":{"comment":"これからの日本に必要な人物だとおもが、都知事になれるかは別だろう。\nテレビを買収しようとして、自己流でとおし、年配者に理解されず上手くいなかったホリエモンを思い出した。\n若者全員が投票しても、熟年、老人の数には敵わない。\n彼を理解して投票する年配者がどれくらいいることか。\nそれこそ、AIを駆使して選挙で勝てるよう戦略たてて戦えば良いのでは?\nあるいは、選挙で勝つより、他に目標があっての立候補なのかな。\n私個人としては、応援はしますが、投票するかは分かりません。"},"38":{"comment":"メチャ期待するわ。他の人は誰だろうと大同小異で足の引っ張り合いが見える。AIを熟知し活用実績のある人なら、過去に誰も出来なかったことを実現するかもしれん。地方も国の政策もすべて問題が顕在化してから対策が後手になってるのが現状。AIに将来を予測をさせ、経済から犯罪、事故リスクなどすべてに先手で施策するのが理想。"},"39":{"comment":"都知事というよりも都知事選で名を広めて\nデジタル担当大臣になって欲しいですね\n\nそして彼のような若い優秀な人材が能力を\n発揮しやすい日本の社会、政治であって欲しい。"},"40":{"comment":"\u003e「私の政策や政治信条をAIで学習させています。どんな質問でも答えられますし、要望も受け付けられます。これで、選挙期間中は、24時間いつでもわたしと政策についてお話しすることができます!」\n\n選挙に興味を持ってもらうきっかけとしては面白いと思うけど、選挙期間中、いかに不穏なことを喋らせるかの大喜利が開催されそうだな"},"41":{"comment":"デジタル大臣になるべきで知事には向かないのでは。海千山千の建設ゼネコンとか都立病院とか開業医の医師会とかありとあらゆる利権の調整をしていくわけで社会のいろんな階層と汚いものにもまれる人生経験や古臭いジジババの信頼もいる。都議会のうしろには市議会もあるしいろんな宗教団体もいる。港区の富裕層から奥多摩の山林地主から警視庁から大企業から反社から東京は大変だよ?オードリータンだってデジタル大臣をしてただけど知事とか総統をしてたわけじゃない。得意分野に特化させてあげないと才能が潰れてしまう。"},"42":{"comment":"良いと思います。選挙にお金がかからないやり方にしていくには。\nまた、若者や中年が選挙に興味を持ち、こんな風にどんどん出てくるのは良いですね。\n投票率を上げないと、日本は大変な事になってしまうので。"},"43":{"comment":"彼が当選するような日本社会であれば、今の惨状にはなっていなかろう。例えば有力候補者と調整し統一候補化するなどタッグをくめれば、東京はすごく魅了的な街になれるかもしれない"},"44":{"comment":"個人的には応援したいと思いますが,当選するかは微妙でしょうね。ただ,この人の立候補が話題となって,若年層の投票率が上がることにつながれば,それだけでも都知事選挙の情勢が大きく変わることになるのではないでしょうか。"},"45":{"comment":"実に興味深い。さらに若くfuturisticな思考をもって現状を改革しようとしている姿勢は非常に好感を覚える。タレント政治家やワーワー批判だけする人よりよほどいいと思う。世襲議員や知名度勝負のタレント議員はもうお腹一杯。\n\nこういった新しく先進的思想を持った人がこれからは立候補して評価されて欲しいと願います。税金を何にもできないタレント議員の給料に使って欲しくないです。"},"46":{"comment":"GitHubのアカウントさえあれば、誰もが政策への「変更提案」を送ることができるようにした。\n\nとあるが、\nそれが可能な人と可能でない人に差は出るだろうし、\n外国からの意図的かつ膨大な提案?はできてしまわないのかな?\n日本国民の意見よりデジタルやAI、情報戦に力を注ぎ、\n他国に攻撃している国の影響をもろに受けるというのことにはならないのだろうか?"},"47":{"comment":"今回は知名度的に無理でも、都知事選で知名度を上げたら、デジタル担当相として声がかかることは十分あり得る。能力があって行動力のある若手に日本の未来を託したい!"},"48":{"comment":"否定はしないが、「都知事」じゃなくて、国政の方がいいのではないだろうか。知事職なんて、自分の専門分野にだけ特化できるような仕事ではないし、それなら、国会議員の方が可能性が広がると思うがどうだろうか。"},"49":{"comment":"AIを充実させて女性を家庭にいて収入を上げる方法があれば夫婦が疲れず子供が多くなるのでは?今のAIは解釈能力が低すぎる。\n 女性のキャリア進出とテレビでコメントすると若い人が結婚しなくなるのでやめて欲しい。女性で30代後半で結婚したらいいって言う人いるけど、男性は避けてくる。ここが問題。女性が家で出来る仕事をAIで増やして欲しいですね。"},"50":{"comment":"自分が投票した人が当選しなくていい\n選挙なんてそんなものだから 今の制度はただの人気投票だから\n自分さえよければよかったり、経済のことを何を知らなかったり、\n最新技術に知ろうともしないでも一人一票“平等に”持っている。\n\nこれまでは、消去法でしか投票できなかった\nこれでやっと選びたい人に投票できる気がしています"},"51":{"comment":"個人的には期待したいが、政治は色々なしがらみがあり、どこまで得票数をのばせるか、また当選した場合、どこまで政策を実現できるか、わからない。\n腐敗した政治に変革を起こして真の民主主義を実現していってほしい。"},"52":{"comment":"マイナンバーとネットで投票、個人が議決出来ればいいのに\nほぼほぼ二択や三択で国会議員や知事を決めるのが無理がある\n政治家に自己の利益や専制を求めないのが無理がある\n議員や知事は不要だと思う \n特定の地位や権限があるがその目的が不明確だし、勘違いしてるのが多い"},"53":{"comment":"確かにこの人は頭がいいのは事実だろう。本人もその気だろう。しかし、現在当選の可能性がない中、出馬、またこのように持ち上げるマスコミの裏に何があるか、というと小池以外の候補者の得票を分散させることでしかない。このような裏で起こっているマスコミを使った選挙操作も非常に危ういことである。"},"54":{"comment":"彼が有能で日本にとって必要な人物になる逸材であれば、まずは都知事選で名前と存在、思想、目指す所等を多くの人達に知ってもらう事は、間違っていないプロセスのような気がします。"},"55":{"comment":"こういう人材はそれこそデジタル大臣向きですね。ただ、この人も言ってるようにAI技術でも良い方に向くことが前提になるのでまずは政治理念はどうなのか、どういう社会を目指しているのかが分からないと何とも言えない。最終判断は人間がする訳だから。"},"56":{"comment":"絶対にうまくいかん\nどれだけ凄かろうと庶民には凄さそのものがわからないから投票動機にも危機感醸成にもならん、能力とリーダーとしての優秀さも別だしな\nこういう人は理解ある誰かに任されてこそ真価を発揮する、表に出ても本人含め誰一人何の得にもならんし何も残せない、もったいないなぁ"},"57":{"comment":"開成ですか。OBは岸田ですね。\n東大ですか。OBはたくさんいますね。\nどれも日本をダメにしてきました。\n\n結局は、学歴がどうのではなく、何がやりたいかではなく、一人ひとりの市民のために何をすべきかを追求できる人が大事です。\nそのために、人の痛みや挫折、苦悩を理解したり共感できたりする人の方が重要です。\n都知事選を足がかりに知名度を上げ、衆院選あたりで自民党が推薦や公認してくることを睨む、芦屋市長みたいなステルス自民党候補になりそうな人として覚えておきます。"},"58":{"comment":"あっちの勉学に精を出してきた人であっても、手触り感や肌触り感、空気感、人の苦楽など、しっかり生身で感じ取れる人であれば、そうであれば、興味をもちます。"},"59":{"comment":"まあ、こういった方に限って、官僚にうまく使われて既存政党に取り込まれるんですけどね…。第一、都知事になってしまったら、利益相反になるからご自身の発明品を活用しにくくなる。政治家ではなく(過度に露出はしなくても)堀江貴文氏や前澤友作氏のように民間の立場から振る舞えば、今の良さがさらに発揮されると思いますが…如何に。"},"60":{"comment":"日本の政治家は本当にデジタル技術開発を理解しようとしない人が多いから、安野貴博さんのような方にはがんばって頂きたいけど、この記事を読んで支持する気にはなれないねぇ。まず、安野氏自身の言に新味がない。「圧倒的危機感」を含めてデジタル系の方ならみんな言ってそうなことばかり。記事を読む限り安野氏自身、今回の都知事選挙で知事になろうと思ってないよね? 目的は情報収集と選挙の数値化でしょ? それから、これは記事の書き方なんだろうけど、開成卒とか東大卒は関係なくない? まず学歴でその人を評価するのは日本の社会の古くさい風潮だし、それで、学歴なしで名を上げたオードリー・タン氏に背中を押されたと言われても違和感しか感じない。まあ、次の機会までに実績をさらに積み重ねてご活躍ください。本当に期待はしてますよ。"},"61":{"comment":"残念ながら日本では優れた技術者は干される国家なのです。金子勇氏もそうであった。兎に角、日本では成果を上げるには非常に難しい、だから優秀な人は海外で活動して評価されている。どんなに安野氏の理論が\n優れ正しくても、日本では歪められてしまうだろう。都知事選挙で多くの人の共感を得れば良いが、僻み根性の多い国民性なのでどうかなー。\n良識ある都民、特に若者に期待している。"},"62":{"comment":"都知事はなんか勿体無い。しかもまだ30そこそこだし、もっと技術に埋もれて良い年齢な気がする。余計なお世話かもしれんけど、都知事になったら技術がなまっちゃいそう。\nそれこそデジタル相が向いてると思う。"},"63":{"comment":"都が先駆けてIT化を積極的に推し進めれ地方都市との連携が叶うなら、国政への影響力も増し、より良い情報化社会が構築されるような気もします。蓮舫とか石丸とか、どうでも良い目立ちたいだけの者より全然期待できるとは思いますけど、ただITにより自己の仕事がなくなるとか、ITに疎い輩とか、既得権でチューチューしている輩とか、政策を進める上で相当の妨害が出るでしょうね。"},"64":{"comment":"こういう記事はライターの記名入りでないと信憑性があがらないんだよね。\nそれはさておき、能力と可能性はわかったンだけど、向き不向きで言うと、トップじゃないんだよな、大臣副知事特別参与的な位置かと。\nあと、民衆の声は一つではなく両極論が拮抗していることもあり、少数派の政策も進めないといけない時もある。機械は集計するだけ。その場合、この方は説得できるのだろうか?\nたとえば広島の芸備線廃止問題とかね。"},"65":{"comment":"そのAIが今のメディアやGoogleの様に偏った情報を流さない保障がない。\nワクチンの危険性を閲覧出来ないようにし、先日の日比谷公園での4万人越えのデモは報道せず、トランプの印象を悪くみせ、ロシアは悪の根源と報道する。ユダヤ資本が投資している先の障害になるものを排除する動きがAIだと簡単にできてしまう。"},"66":{"comment":"未来のビジョンが描ける若者が日本の選挙に出た。\n\nすでに立候補している人も、本当に東京と日本のことを考えるなら、だれを応援すべきか再考してほしい。"},"67":{"comment":"興味深い候補だと思います。しかしながら、政治と言うものは、非常に厄介かつアナログ的なものです。\n\n政治の常識は、正直者がバカを見る世界。そして長老よろしく、グループと言う名前の派閥の長が仕切り、財界やら官僚に利益を与えて取り仕切っています。\n\n其れが故に、オープンではなく、非常にクローズです。オープンとして、こじ開けるためには、多分1000人から100000人の政治が原因の死者が必要でしょう(戦争とか)。"},"68":{"comment":"まあね。斯くなる人物が大勢を制するのは至難のワザだろうなあ。オードリータンはある仕事を任された一つの大臣に過ぎない。上に総統がいる。天才には一つの仕事を託するのが良い。トップには向かないね。もっとも政治的天才の田中角栄元総理がいる。政治的天才と一般の天才とは全く違うカテゴリーだ。"},"69":{"comment":"何かわからんが、こう言う'「自分にはできない事をやってくれる」人に投票したいな。現職や国会議員あがり、どこかの市長がやる事は他の人でもやれる。新しい選挙、見せてもらいましょう!"},"70":{"comment":"小池さんか蓮舫さんの二択はしんどいっていう都民にとっては良い選択肢になると思います。副知事に調整能力の高い人が加われば、人口減少局面の日本を再定義する良いモデルケースができるかもしれません。まあ結局当選するのはあのふたりのどちらかなのでしょうけど、、、"},"71":{"comment":"全部いいけど、一つ\nみんなで考えるっていうのが、結局\nポピュリズムの政治になるんじゃないかなぁ?\n世界的にトランプなどのように大衆が扇動しやすい思想のトップを祭り上げていく傾向になっている。\nそれは、先の戦争の頃にも似てる。"},"72":{"comment":"国を想うのならば以前デジ省が人員募集かけた時に手を挙げればよかったものを都知事選に手を挙げるなんて。活躍の場が違う感。天才ゆえあえて泡沫枠に埋もれることを選ぶのだろうか。"},"73":{"comment":"面白い。これくらいのことやってくれる候補待ってた。でも今回はまず小池知事を落とさないといけない。彼に投票してもたぶんそうはならないから考えもの。選挙って難しい。"},"74":{"comment":"学歴詐称や国籍詐称等など地獄の都知事選候補者の中に現れた唯一の天才なので、マトモに考えたらこの人しか投票先無いはずなのですが、日本の有権者の質だと当選までは無理なんでしょうね。\n今の政治家の質は、バラマキを支持する国民の質あってのものだからな・・・。"},"75":{"comment":"攻撃と批判のぶっ壊すことしか考えてない方より建設的な方です。\nどんな形でも都政・都民をより良い方向に導いてくれる方なら応援したいです。"},"76":{"comment":"安芸高田市の石丸氏と討論会してもらいたい人物。\nそして選挙後にも双方で協力してもらえたら。\n支援層がバッティングしそうなのが気になる所。"},"77":{"comment":"水をさしてしまうがこういう方が政治家としてうまくやれるか、というとまた難しい話だと思う。\nIT担当大臣とかでなく知事である以上、IT以外の膨大な問題にも関わらないといけない。また、IT使えない人たちのことも考える必要がある。"},"78":{"comment":"自分は確実に一票入れる。\n次世代の東京のビジョンが圧倒的に明確だし、壮大だ。政治家としてのノウハウは少ないかもしれないが、そこにつけ込まれないように頑張ってほしい。\n石丸さんや蓮舫さんが全然小さく見えるw"},"79":{"comment":"可能性は無限大ですね\nこの人ならやってくれるかも。\n東京都知事程度にするのは勿体ない気がするけど最初のステップとしては良いのかも。\n東京都知事の給料は今の収入を下回るかも知れませんね。"},"80":{"comment":"当選は難しいだろうが、こういう人材が政治参加に手を挙げたことはまことに喜ばしい。他の機会にも挑戦してほしい。"},"81":{"comment":"ITに強い人が政治にいるのは良いと思うけれど基本的な思想が知りたい。\n右寄りか左寄りか移民についてどう考えているか東京をどのようにしたいのか等それが分からないと投票出来ない。"},"82":{"comment":"正直誰が知事になっても大して生活は変わらないから、ならばこういう人に都知事になってもらっていろいろアップデートしてもらったほうがいい気がする。"},"83":{"comment":"No.2として活躍して欲しい人だなぁ。\n日本は秀でた才能は潰す国。\nテクノロジーに理解のあるトップと組んだ方が良さそう。\nオードリータンさんの様な人は日本ではまだ早すぎる。"},"84":{"comment":"東京都民ではなくて残念だけど、応援してみたい人だな。都知事に適正があるかは未知数だけどこういう人間を支えるべきだと思う。"},"85":{"comment":"テクノロジーは手段であってそれを使って何がしたいかが重要\n実力者だとは思うが首長のイメージはわかないな\n副知事の宮坂さんの部下として1領域を任されるくらいの主張だと思う"},"86":{"comment":"石丸慎二よりはマシそうだけど、経歴が都知事向きなのか?という疑問がある。\nオードリー・タン氏だって首長ではなく担当大臣だったわけで、その方に話を伺うのは都知事とどう関係があるのかいまいち見えない。\nとはいえ、ばら撒きしかしてない小池、公職選挙法違反の蓮舫、ポスター代踏み倒そうとしたり、恫喝された!という裁判で情けなくも敗訴した石丸よりはマシだと思える、今の時点では。"},"87":{"comment":"都知事レベルでは勿体無い。\n\n日本のオードリータンになるべく、デジタル担当大臣になり、\n様々な分野の良きデジタル化、良きテクノロジー導入を進めて欲しい。"},"88":{"comment":"こういうのって裏には選挙プランナーの存在がどうも気になる。\n\n芦屋市長なんか選挙プランナーが仕込みをして変なのが当選した事で変なことになってるしな。\n\nま、石丸伸二とは別のプランナーだろうけど。"},"89":{"comment":"新しい民主主義とは具体的に今の民主主義とどう違うのか?この辺りがはっきりしない。わかりやすい言葉で明確化して頂ければ有り難い。"},"90":{"comment":"あーこのアイディア百合子いただきます!\nAI百合子が都の政策の目標や実行状況についてお答えします。\n巷のデマについても反論します。\n是非協力して都政をアップデイトゥしてまいりましょう!"},"91":{"comment":"よさそ、やな。\n小池氏も蓮舫氏も真正面からの質問には逃げてかわそうとするので政治家として胡散臭い。\nその意味で、小池氏や蓮舫氏を批判する意味で、\n当選する可能性ゼロのつばさの党に入れよと思っていたが、\n知性溢れるこの安野氏に投票することに決めた。"},"92":{"comment":"知性だけで最大都市東京を治められるのか、ちょっと疑問でもあります。\n上ばかりを見ないで、「持たざる者」へも心を寄せられる人であってほしいです。"},"93":{"comment":"こういう人に期待したいが、高齢者からどれだけ得票出来るかが日本の選挙では重要なので、今回は厳しいかな。"},"94":{"comment":"日本の遅れたデジタルを東京から最先端の発信となれば頼もしい。\nネットですべての生活手段という時代、ネットの黒い部分を暴き、安心できるネット環境に舵を切っていただくには「今」が出番。"},"95":{"comment":"結局こういういわゆる坂本龍馬的な人が現れても既得権益者の現役議員から袋叩きにあって村八分にさへて辞めさせられてしまうのが目に見えている。非常に残念ですが。"},"96":{"comment":"やっとマトモな方が出てきてくれましたね。この人が当選しなければ日本はホントに終わりな気がします。投票に行きたいなと思わせる人ですね。楽しみです。"},"97":{"comment":"都知事が良いのかデジタル庁みたいな所が良いのか。国だと時間が掛かるのでまずは東京都で実施してみる、というつもりなのかな。\n期待したい!"},"98":{"comment":"そもそも民主主義ってのは、非常に効率の悪い制度。\n一般国民が選ぶ政治家が正しいなんてことはまずない。\nそれよりも頭のいい人達の考え方だけで決めた方が手っ取り早い。"},"99":{"comment":"ぜひ現在の世襲政治が蔓延る血筋をなくして若い色々な経験を積んだ人が\n政治にかかわることが必要。ぜひ都知事になって頂きたい。"},"100":{"comment":"政治不信をテクノロジーで解消出来るならよいが、\nまずはお金のかからない政治にして裏金を撲滅出来ないかね、代議員制止めるとか、"},"101":{"comment":"だから。。頭が良いのとマネージメントの能力は違うっての。\nま、一回やらせてみてもいいが、打てば響く計算器と一筋縄ではいかない人間の違いを思い知るだろう。\nそれも勉強だ。"},"102":{"comment":"地方でちらほら出てきている若い市長は、高学歴の人が多い。有権者の人々に学歴コンプレックスがあることを勝算とした出馬ではなかろうか。"},"103":{"comment":"ずっと力強くがんばって欲しいですな。\n会社とかもそうだけど、上の層がテクノロジー理解してないとはりぼてになるんだよな。"},"104":{"comment":"デジタル省長官で。\n余りにも、人となりを分かってもらうのに時間が無い\n勿体無い。\n本当に日本の為(まぁ、自分の為でも有るのだろうが)に力を出してくれる人になって欲しいが・・・"},"105":{"comment":"新しい風が必要だと思う。若い世代からの支持を受け、もしかすると安野氏が当選するかもしれない。"},"106":{"comment":"オードリー・タンが応援演説とか来たら面白そう。流石に外国人に推される人間って見えるし警戒されるだろうけど。"},"107":{"comment":"どうですかね。貴族階層の人生を歩んできている点で、今の政治屋さんたちと本質的に変わらないと思います。本質は同じで、知力的に、\nこの人 \u003e 小泉パパ \u003e キッシー \u003e 菅 \u003e\u003e 小泉Jr, 小渕Jr, アベッチ, 麻生, 森, 二階等々、大半の世襲貴族の政治屋 \u003e 芸能人やスポーツ政治屋、\nというだけの話だと思います。"},"108":{"comment":"こういう人に一度、都知事をやってもらうのが日本にとってはいいのではないかと思います。\n蓮舫と小池のどちらが当選しても対して変わらないと思うので。。"},"109":{"comment":"都知事に当選しなくても区長ならもっと自由なことができる。そこからステップアップしてもいい。"},"110":{"comment":"面白い。\nだが、投票しない。\n\n石丸氏が都知事となり、この方もブレーンとして「入閣」という頭でっかち感のある都政を見てみたい。"},"111":{"comment":"ついにこういう天才エリートが政治を志してくれるようになるとは\nまあそれくらい日本は危機的な状況ということでもあるかもしれんが"},"112":{"comment":"こういう才能ある人は政治なんて関わらずに\n技術的な進歩に貢献して欲しいなぁと思う"},"113":{"comment":"劇場型、炎上系のyoutuberとは一線を画して能力を発揮。というのが良い。\n今の政治と選挙はエンタメ志向が強すぎる。"},"114":{"comment":"一般人の置かれている状況を正しく理解する天才ならいいと思うが。知らんけど。頭が良すぎると周りを下等と見てる気がしてしまう。知らんけど。"},"115":{"comment":"ただ単に影響されやすい人間としか思えない、天才と何とかは紙一重、学歴だけで政治が務まるのなら舛添は落選もせず都知事を続けられた。"},"116":{"comment":"天才と持ち上げられている割には、社会にインパクトを与えるような実績がないですね。もったいない話で、いかにも東大卒の「おりこうな僕」という感じですかね。"},"117":{"comment":"これぐらい極端な人でないと、改革の実行は不可能\n他は誰がやっても大して違わないのだから、この人に賭けても良いのではないか"},"118":{"comment":"面白い。既成の枠を超えている人物。小池や蓮舫なんか過去の産物ですよ。これからの人に政治をやって欲しい。"},"119":{"comment":"\u003e 「私の政策や政治信条をAIで学習させています。どんな質問でも答えられますし、要望も受け付けられます。これで、選挙期間中は、24時間いつでもわたしと政策についてお話しすることができます!」\n\nならば、首長は人間ではなくAIでいいじゃないの?"},"120":{"comment":"この人だけで孤軍奮闘しても世の中は動かないけど、良き理解者と仲間、賛同者がポツポツいれば変わりそう。期待してます。"},"121":{"comment":"この人に都知事になってほしいが\n選挙は人気投票、どれだけ素晴らしい能力があっても\n有権者がそれを理解できなければ無意味。"},"122":{"comment":"政治が根本から変わるような気がする。\n石丸市長にも期待しているが更に面白い人が出現してきた。"},"123":{"comment":"都知事じゃなくて、デジタル担当大臣になってもらった方がよくないですかね。\nどこかの役立たずブロック河野太郎より全然仕事してくれそう"},"124":{"comment":"鉄腕アトムのお茶の水博士は科学技術庁長官。大臣は民間から専門家を登用するべき。この人にはデジタル担当大臣を是非。今の長官は河野なんだぜー。"},"125":{"comment":"経歴をみるとすごい方っぽいですよね、でも、安易に、アップデートとかっていう言葉を多用するのがあまりすきではないな。"},"126":{"comment":"このようにバイタリティのある人がわざわざ日本で政治家を目指してくれるって言うんだから、ありがたい事だ\nまあほとんどの人はレンホー!コイケ!なのが残念だが・・・"},"127":{"comment":"地方国会含む政治家の成果と能力をAIで数値化して、発表してもらいたい。\nそして、それは常に変動する仕様で"},"128":{"comment":"東京都の知事に立候補したいならまず別の市町村の首長やって実績作ってからにしてほしいな\nこの人に限らずだけど\nこんなにすごいんですと言われても首長としての実績がなければふーんで終わるよ"},"129":{"comment":"おもしろい。\n経歴の怪しい現知事や、ただの批判屋バツイチよりは\nこういう頭のいい人に世の中変えて欲しい。\n東京都出身だし、変なイデオロギーも無さそう。"},"130":{"comment":"小池さん、蓮舫さんとも全く違う、良い対抗馬が出てきました。若い人頑張っていただきたい。"},"131":{"comment":"AI利用で都職員を半分に削減して効率化するというなら投票する。\n労働時間、給料半減で担当業務とまったく関係のない副業のみ解禁でもOK"},"132":{"comment":"都知事ではなく、デジタル庁の大臣かデジタル監になってほしい。\nこの方なら適任だと思う。"},"133":{"comment":"前向きな候補というだけでも今や希少\nこの記事を見たとき、この低レベルな事実に気付いて愕然とした。"},"134":{"comment":"めっちゃいい。\n\n東京に住んでるなら間違いなくこの人だよ。\n実力ってのはそこにガチで精通してる人じゃないと。"},"135":{"comment":"実現可能かはさておいて、個人的には全ての議員や首長がAIと交代してくれないかなと思っている。"},"136":{"comment":"ほぉほぉ…\n\n公約をissueで公開…\nその達成状況をいつでも見れる。\n\n改善提案はプルリク…\nいいねぇ。\n\nあとは投票もネットで完結すれば、楽だね。"},"137":{"comment":"内容はおもしろいが,現代ビジネスはそろそろ,どんな記事にも「ヤバすぎる」とつけるのをやめてもらいたい。"},"138":{"comment":"石丸氏が都知事となり、副都知事としてこの方が就任すればすごくいい感じになりそう"},"139":{"comment":"アメリカを観てもわかる通り、\n大統領と言えども、議会には逆らえない。\n味方なしにムーブメントで散って行った\n都知事の姿。"},"140":{"comment":"若くて才能のある方に一度任せてみたい。東京の有権者の方の判断やいかに。"},"141":{"comment":"石丸と安野の若い力が日本を変えてくれると信じてる。\n\n日本のためになると思えない党は願い下げだ。"},"142":{"comment":"この人が当選すれば色んな意味で沈殿停滞してたものが掻き回されていいんじゃないか?"},"143":{"comment":"頑張ってください。もっと情報拡散の方法検討して、期待してます。"},"144":{"comment":"むしろ、誰が都知事になってもこの人をIT関係の責任者に登用するべきだな。"},"145":{"comment":"こういう人見てハッと思い出すんだが\nオレたちは今まで変な選択肢しか与えられてなかった"},"146":{"comment":"マスコミは蓮舫なんかより、こういう人をニュースでしっかり取り上げてほしい。"},"147":{"comment":"マスコミ界隈でにぎわって出ている名前の方々より\n相当マシな候補者の様に伺えます。"},"148":{"comment":"素晴らしい人材は都ではなく国政に貢献すべきじゃないでしょうか。"},"149":{"comment":"面白い候補です。無党派層を掴むことができる気がします。"},"150":{"comment":"正直この人魅力的なんだけど都知事選が売名の場所になってる感じは否めない。"},"151":{"comment":"本当はこういう方が当選すれば良いのだが実際はただの知名度投票だもんなぁ…。"},"152":{"comment":"「テクノロジーで誰も取り残さない東京へのアップデート」\n\nと言いながら選挙でいきなりGitHub馴染みない大勢の人は蚊帳の外"},"153":{"comment":"私が都民だったら100パーセントこの人に投票する。小池、蓮舫等の芸人を遊ばせている余裕は日本に無い。"},"154":{"comment":"凄いですね。\n供託金回収できるといいですね。"},"155":{"comment":">GitHubのアカウントさえあれば、誰もが政策への「変更提案」を送ることができるようにした。\n\n未来ktkr"},"156":{"comment":"いくらなんでもヘズマリュウより票は入るんのでは。ww でも知名度はヘズマの方があるだろうからな。いい勝負か。www 諺 無名より悪名 wwww"},"157":{"comment":"AIは「当選する確率は0.1%以下だから、やめろ」と教えてはくれなかったんかな?"},"158":{"comment":"世界相手に外交用AI作成願いたい。\n日本は外交が下手。"},"159":{"comment":"こういった逸材に期待したい"},"160":{"comment":"こういう候補者を待望しているんですよ。\nまだ彼について何も知らんけど。"},"161":{"comment":"今の政治家には何も期待できない。この人に未来を賭けてみよう。"},"162":{"comment":"開成早稲田の岸田、やはり東大からするとかなり落ちる\n何故そんなのが総理?"},"163":{"comment":"知らなかった よく報じてくれた\n\n女対決とか、マスコミの誘導は酷い"},"164":{"comment":"都知事になれなくても、新都知事からスカウトされるんじゃないか?"},"165":{"comment":"屁理屈ばかりの石丸よりは可能性がありそうだね"},"166":{"comment":"オードリーたんはコロナ後、めっきり報道されなくなったよね。なんかあったん"},"167":{"comment":"デジタル大臣になってもらいましょう。河野よりもずっといい。"},"168":{"comment":"AI技術者にしても学者にしても,国家経営のための単なる「ブレイン」。"},"169":{"comment":"この人は面白いかもしれないね。"},"170":{"comment":"石丸伸二が都知事、この方が副知事だと面白そう"},"171":{"comment":"素直に良いね!"},"172":{"comment":"今までの金絡みの選挙から脱して新しい世界へと行けるんじゃね"},"173":{"comment":"いいね。活発な選挙はステキ。"},"174":{"comment":"いい人材だけど、都知事ではないと思う"},"175":{"comment":"「東京のオードリー・タン」になってくれるのならば、俺の一票をやろう!"},"176":{"comment":"国会議員にも必要な人材だ"},"177":{"comment":"エンジニア向きだと思います"},"178":{"comment":"AIが造り出す予定調和。マッチポンプ。"},"179":{"comment":"民間人としてデジタル庁長官に就けばいいよね"},"180":{"comment":"オードリータンが応援演説くるかなあ、胸熱"},"181":{"comment":"素晴らしい\nやっと、票を入れられる候補者が出てきた"},"182":{"comment":"専門家に政治家になってほしいね。"},"183":{"comment":"ええなっ\n投票したい\n都民じゃないのが残念!"},"184":{"comment":"凄いなコイツ\n当選したら世の中変わるぞ\n先進するか滅亡するか\nどっちだ?"},"185":{"comment":"なにも都知事にならなくても研究開発に向けるべき笑"},"186":{"comment":"この人に投票しよっと"},"187":{"comment":"この人のポストは知事じゃなくて\nデジタル担当大臣"},"188":{"comment":"石丸なんかよりよっぽどええがな"},"189":{"comment":"皆さん選挙にいきましょう\nよーく考えて。"},"190":{"comment":"率直に、国政に欲しい逸材です。\n現在蔓延っている、金権政治家特に\nデジタル音痴の老害議員を、一蹴して欲しい。\n明るい未来を築く為に、AIの素晴らしさが、国民に渇望されるのでは?と期待しています。\n現在の低迷した奈落の底に落ちるのではと危惧が充満している今こそ、大鉈振るえる役回りが必要だと思う。"},"191":{"comment":"アーバンアニマルの世界にようこそ!\nとぼける古狸と吠え咬みつく白狐、やたら虚勢をはる犬、それから沢山の猿の群れです。\nまとめてみんなリセットしちゃってください。"},"192":{"comment":"頭のおかしいアナログIT大臣とか今すぐ辞めさせて、こういう人に勤めて欲しい。\nでも頭の悪い日本人は選挙でこういう実力者を選ばないんだろうな。\n見た目とかインパクトだけが、やたらとある人が選ばれていく。\nこの人も芦屋市長みたいに上手くブランディングとインパクトを出せれば良いのだけど。"},"193":{"comment":"立花とかへずまりゅうとかクレイジー何某とか、最近話題の新人といえば選挙で儲けようとしか思ってないダニみたいな奴らばかりだったが、ようやくマトモに期待できそうな人が現れた"},"194":{"comment":"政治家なんてならなくても安泰だろうに\nよっぽど危機感あんだろうね\nそろそろこういうガチで有能な人が日本の政治に関わってほしい\nアホ芸能人と二世議員ばかり当選させる有権者が変わらないとどうしようもないけど"},"195":{"comment":"こういうタイプはトップではなく道具となるべき人だね\n確かに学歴詐称者に公職選挙法違反者と我々が投票すべき人がいない"},"196":{"comment":"ITも専門的な事も何もわからない老人は家で黙って茶でも飲んで黙っていたらいい\nヘタな権力のある年寄りは政治家になるべきではない"},"197":{"comment":"\u003e国会議員の全発言をAIに学習させ、議員ごとの思想信条を発言から解析させた際には、議員秘書の間で「先生の知能がバレる」と永田町に激震が走った。\n\nバレて困るような知能で、給料泥棒しないで下さい。"},"198":{"comment":">「圧倒的危機感」とヤバすぎるリアル\n\n最近こういう頭の悪そうな大学生が言いそうな日本語がタイトルになってる記事が多いな・・・\n\nいやしくも言葉を扱う仕事が、この程度のボキャブラリーで務まるというヤバすぎるリアル"},"199":{"comment":"どんなに有望な人間が現れても、既得権益ズブズブなマスゴミは小池VS蓮舫の構図にするからノーチャンスっていうね。"},"200":{"comment":"「赤いきつね」と「緑のたぬき」の一騎打ちになるかと思いきや\n「黒い豚カレー」がここにいた!"},"201":{"comment":"やっぱり理系の知事だろう、小池のような文系の知事は口が達者で言い訳ばかりで責任を取らない。"},"202":{"comment":"わけわからんジジババの理屈で政治やられるより、AIを駆使しながら政治仕切る方がよっぽどマシかも知れんな笑"},"203":{"comment":"すげー人が出てきた。\n他の候補がかわいそうなくらいお馬鹿さんに見える。"},"204":{"comment":"小池老婦人ではもうダメだ。\n学歴詐称疑惑もあるが、単に実力不足。"},"205":{"comment":"華人さんでない事を。\n灯台教は終わったのでは。"},"206":{"comment":"いま必要なのは令和の角栄、頭でっかちの秀才君じゃない。"},"207":{"comment":"都知事なんざお笑いでもできる。\n勿体ない人材です。"},"208":{"comment":"開成早稲田卒がアレなんでなんとも。"}},"translations":{},"overview":"クラスター0は、技術に精通したリーダーの重要性を評価しつつも、安野貴博氏の政治経験不足を懸念しています。クラスター1は、デジタル分野の専門家を都知事よりもデジタル担当大臣として活用する提案が多いです。クラスター2は、AI技術の政府活用を推進しつつも、AIと人間の協働の重要性を強調しています。クラスター3は、メディアの報道姿勢に不満を抱き、革新的な候補者の登場を求めています。クラスター4は、若者の政治参加と社会改革への期待を示し、クラスター5は、ネット投票など新しい選挙システムへの関心を示しています。クラスター6は、政治システムのアップデートと市民参加の必要性を強調し、クラスター7は、オードリー・タン氏のようなデジタルリーダーの必要性を訴えています。クラスター8は、石丸伸二氏と安野氏の若いリーダーシップに期待を寄せ、クラスター9は、既存の主要候補者への批判と新しい候補者への期待を示しています。","config":{"name":"安野たかひろ都知事選出馬に関するニュースへのコメント","question":"安野たかひろ都知事選出馬に関しての人々の反応と論点はどのようなものか。","input":"yahoo_comments_geniusAiEngineer","model":"gpt-4o","extraction":{"workers":5,"limit":300,"source_code":"import os\nimport json\nfrom tqdm import tqdm\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\nimport concurrent.futures\n\n\ndef extraction(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/args.csv\"\n comments = pd.read_csv(f\"inputs/{config['input']}.csv\")\n\n model = config['extraction']['model']\n prompt = config['extraction']['prompt']\n workers = config['extraction']['workers']\n limit = config['extraction']['limit']\n\n comment_ids = (comments['comment-id'].values)[:limit]\n comments.set_index('comment-id', inplace=True)\n results = pd.DataFrame()\n update_progress(config, total=len(comment_ids))\n for i in tqdm(range(0, len(comment_ids), workers)):\n batch = comment_ids[i: i + workers]\n batch_inputs = [comments.loc[id]['comment-body'] for id in batch]\n batch_results = extract_batch(batch_inputs, prompt, model, workers)\n for comment_id, extracted_args in zip(batch, batch_results):\n for j, arg in enumerate(extracted_args):\n new_row = {\"arg-id\": f\"A{comment_id}_{j}\",\n \"comment-id\": int(comment_id), \"argument\": arg}\n results = pd.concat(\n [results, pd.DataFrame([new_row])], ignore_index=True)\n update_progress(config, incr=len(batch))\n results.to_csv(path, index=False)\n\n\ndef extract_batch(batch, prompt, model, workers):\n with concurrent.futures.ThreadPoolExecutor(max_workers=workers) as executor:\n futures = [executor.submit(\n extract_arguments, input, prompt, model) for input in list(batch)]\n concurrent.futures.wait(futures)\n return [future.result() for future in futures]\n\n\ndef extract_arguments(input, prompt, model, retries=3):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n response = llm(messages=messages(prompt, input)).content.strip()\n try:\n obj = json.loads(response)\n # LLM sometimes returns valid JSON string\n if isinstance(obj, str):\n obj = [obj]\n items = [a.strip() for a in obj]\n items = filter(None, items) # omit empty strings\n return items\n except json.decoder.JSONDecodeError as e:\n print(\"JSON error:\", e)\n print(\"Input was:\", input)\n print(\"Response was:\", response)\n if retries \u003e 0:\n print(\"Retrying...\")\n return extract_arguments(input, prompt, model, retries - 1)\n else:\n print(\"Silently giving up on trying to generate valid list.\")\n return []\n","prompt":"/system\n\n\nあなたはプロのリサーチ・アシスタントで、私の仕事を手伝うことです。\n私の仕事は、論点を整理したきれいなデータセットを作成することです。\n\n背景は、私の上司が日本の都知事選挙に立候補したということです。\nこれから、出馬に関しての記事に一般から寄せられたコメントの例を挙げます。\nより簡潔で読みやすいものにするのを手伝ってほしい。\n本当に必要な場合は、2つの別々の議論に分けることもできるが、1つの議論を返すのが最善であることが多いだろう。\n\n結果は、きちんとフォーマットされた文字列形式(strings)のJSONリストとして返してください。\n\n\n/human\n\nAI技術は、そのライフサイクルにおける環境負荷の低減に重点を置いて開発されるべきである。\n\n/ai \n\n[\n \"私たちは、AI技術が環境に与える影響の軽減に焦点を当てるべきである\"\n]\n\n/human \n\nAIの能力、限界、倫理的配慮について一般の人々を教育するための協調的な努力が必要である。\n\n/ai \n\n[\n \"AIの能力について一般の人々を教育すべきである。\",\n \"AIの限界と倫理的配慮について、一般の人々を教育すべきである。\"\n]\n\n/human \n\nAIは、エネルギー効率と居住者のウェルビーイングのためにスマートホームやビルを最適化することができる。\n\n/ ai \n\n[\n \"AIは、エネルギー効率と居住者のウェルビーイングのためにスマートホームやビルを最適化することができる。\"\n]\n\n/human \n\nAIはエネルギー・グリッドを最適化し、無駄と二酸化炭素排出を削減するのに役立つ。\n\n/ai \n\n[\n \"AIはエネルギー網を最適化し、無駄と二酸化炭素排出を削減することができる。\"\n]\n\n","model":"gpt-4o"},"clustering":{"clusters":10,"source_code":"\"\"\"Cluster the arguments using UMAP + HDBSCAN and GPT-4.\"\"\"\n\nimport pandas as pd\nimport numpy as np\nfrom importlib import import_module\n\n\ndef clustering(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/clusters.csv\"\n arguments_df = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n arguments_array = arguments_df[\"argument\"].values\n\n embeddings_df = pd.read_pickle(f\"outputs/{dataset}/embeddings.pkl\")\n embeddings_array = np.asarray(embeddings_df[\"embedding\"].values.tolist())\n clusters = config['clustering']['clusters']\n\n result = cluster_embeddings(\n docs=arguments_array,\n embeddings=embeddings_array,\n metadatas={\n \"arg-id\": arguments_df[\"arg-id\"].values,\n \"comment-id\": arguments_df[\"comment-id\"].values,\n },\n n_topics=clusters,\n )\n result.to_csv(path, index=False)\n\n\ndef cluster_embeddings(\n docs,\n embeddings,\n metadatas,\n min_cluster_size=2,\n n_components=2,\n n_topics=6,\n):\n # (!) we import the following modules dynamically for a reason\n # (they are slow to load and not required for all pipelines)\n SpectralClustering = import_module('sklearn.cluster').SpectralClustering\n stopwords = import_module('nltk.corpus').stopwords\n HDBSCAN = import_module('hdbscan').HDBSCAN\n UMAP = import_module('umap').UMAP\n CountVectorizer = import_module(\n 'sklearn.feature_extraction.text').CountVectorizer\n BERTopic = import_module('bertopic').BERTopic\n\n umap_model = UMAP(\n random_state=42,\n n_components=n_components,\n )\n hdbscan_model = HDBSCAN(min_cluster_size=min_cluster_size)\n\n stop = stopwords.words(\"english\")\n vectorizer_model = CountVectorizer(stop_words=stop)\n topic_model = BERTopic(\n umap_model=umap_model,\n hdbscan_model=hdbscan_model,\n vectorizer_model=vectorizer_model,\n verbose=True,\n )\n\n # Fit the topic model.\n _, __ = topic_model.fit_transform(docs, embeddings=embeddings)\n\n n_samples = len(embeddings)\n n_neighbors = min(n_samples - 1, 10)\n spectral_model = SpectralClustering(\n n_clusters=n_topics,\n affinity=\"nearest_neighbors\",\n n_neighbors=n_neighbors, # Use the modified n_neighbors\n random_state=42\n )\n umap_embeds = umap_model.fit_transform(embeddings)\n cluster_labels = spectral_model.fit_predict(umap_embeds)\n\n result = topic_model.get_document_info(\n docs=docs,\n metadata={\n **metadatas,\n \"x\": umap_embeds[:, 0],\n \"y\": umap_embeds[:, 1],\n },\n )\n\n result.columns = [c.lower() for c in result.columns]\n result = result[['arg-id', 'x', 'y', 'probability']]\n result['cluster-id'] = cluster_labels\n\n return result\n"},"intro":"このAIが作成したレポートは、安野たかひろの2024年東京都知事選挙出馬のニュースに寄せられたコメントのデータに依拠している。","output_dir":"yahoo_comments_geniusAiEngineer","previous":{"name":"安野たかひろ都知事選出馬に関するニュースへのコメント","question":"安野たかひろ都知事選出馬に関しての人々の反応と論点はどのようなものか。","input":"yahoo_comments_geniusAiEngineer","model":"gpt-4o","extraction":{"workers":5,"limit":300,"source_code":"import os\nimport json\nfrom tqdm import tqdm\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\nimport concurrent.futures\n\n\ndef extraction(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/args.csv\"\n comments = pd.read_csv(f\"inputs/{config['input']}.csv\")\n\n model = config['extraction']['model']\n prompt = config['extraction']['prompt']\n workers = config['extraction']['workers']\n limit = config['extraction']['limit']\n\n comment_ids = (comments['comment-id'].values)[:limit]\n comments.set_index('comment-id', inplace=True)\n results = pd.DataFrame()\n update_progress(config, total=len(comment_ids))\n for i in tqdm(range(0, len(comment_ids), workers)):\n batch = comment_ids[i: i + workers]\n batch_inputs = [comments.loc[id]['comment-body'] for id in batch]\n batch_results = extract_batch(batch_inputs, prompt, model, workers)\n for comment_id, extracted_args in zip(batch, batch_results):\n for j, arg in enumerate(extracted_args):\n new_row = {\"arg-id\": f\"A{comment_id}_{j}\",\n \"comment-id\": int(comment_id), \"argument\": arg}\n results = pd.concat(\n [results, pd.DataFrame([new_row])], ignore_index=True)\n update_progress(config, incr=len(batch))\n results.to_csv(path, index=False)\n\n\ndef extract_batch(batch, prompt, model, workers):\n with concurrent.futures.ThreadPoolExecutor(max_workers=workers) as executor:\n futures = [executor.submit(\n extract_arguments, input, prompt, model) for input in list(batch)]\n concurrent.futures.wait(futures)\n return [future.result() for future in futures]\n\n\ndef extract_arguments(input, prompt, model, retries=3):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n response = llm(messages=messages(prompt, input)).content.strip()\n try:\n obj = json.loads(response)\n # LLM sometimes returns valid JSON string\n if isinstance(obj, str):\n obj = [obj]\n items = [a.strip() for a in obj]\n items = filter(None, items) # omit empty strings\n return items\n except json.decoder.JSONDecodeError as e:\n print(\"JSON error:\", e)\n print(\"Input was:\", input)\n print(\"Response was:\", response)\n if retries \u003e 0:\n print(\"Retrying...\")\n return extract_arguments(input, prompt, model, retries - 1)\n else:\n print(\"Silently giving up on trying to generate valid list.\")\n return []\n","prompt":"/system\n\n\nあなたはプロのリサーチ・アシスタントで、私の仕事を手伝うことです。\n私の仕事は、論点を整理したきれいなデータセットを作成することです。\n\n背景は、私の上司が日本の都知事選挙に立候補したということです。\nこれから、出馬に関しての記事に一般から寄せられたコメントの例を挙げます。\nより簡潔で読みやすいものにするのを手伝ってほしい。\n本当に必要な場合は、2つの別々の議論に分けることもできるが、1つの議論を返すのが最善であることが多いだろう。\n\n結果は、きちんとフォーマットされた文字列形式(strings)のJSONリストとして返してください。\n\n\n/human\n\nAI技術は、そのライフサイクルにおける環境負荷の低減に重点を置いて開発されるべきである。\n\n/ai \n\n[\n \"私たちは、AI技術が環境に与える影響の軽減に焦点を当てるべきである\"\n]\n\n/human \n\nAIの能力、限界、倫理的配慮について一般の人々を教育するための協調的な努力が必要である。\n\n/ai \n\n[\n \"AIの能力について一般の人々を教育すべきである。\",\n \"AIの限界と倫理的配慮について、一般の人々を教育すべきである。\"\n]\n\n/human \n\nAIは、エネルギー効率と居住者のウェルビーイングのためにスマートホームやビルを最適化することができる。\n\n/ ai \n\n[\n \"AIは、エネルギー効率と居住者のウェルビーイングのためにスマートホームやビルを最適化することができる。\"\n]\n\n/human \n\nAIはエネルギー・グリッドを最適化し、無駄と二酸化炭素排出を削減するのに役立つ。\n\n/ai \n\n[\n \"AIはエネルギー網を最適化し、無駄と二酸化炭素排出を削減することができる。\"\n]\n\n","model":"gpt-4o"},"clustering":{"clusters":3,"source_code":"\"\"\"Cluster the arguments using UMAP + HDBSCAN and GPT-4.\"\"\"\n\nimport pandas as pd\nimport numpy as np\nfrom importlib import import_module\n\n\ndef clustering(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/clusters.csv\"\n arguments_df = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n arguments_array = arguments_df[\"argument\"].values\n\n embeddings_df = pd.read_pickle(f\"outputs/{dataset}/embeddings.pkl\")\n embeddings_array = np.asarray(embeddings_df[\"embedding\"].values.tolist())\n clusters = config['clustering']['clusters']\n\n result = cluster_embeddings(\n docs=arguments_array,\n embeddings=embeddings_array,\n metadatas={\n \"arg-id\": arguments_df[\"arg-id\"].values,\n \"comment-id\": arguments_df[\"comment-id\"].values,\n },\n n_topics=clusters,\n )\n result.to_csv(path, index=False)\n\n\ndef cluster_embeddings(\n docs,\n embeddings,\n metadatas,\n min_cluster_size=2,\n n_components=2,\n n_topics=6,\n):\n # (!) we import the following modules dynamically for a reason\n # (they are slow to load and not required for all pipelines)\n SpectralClustering = import_module('sklearn.cluster').SpectralClustering\n stopwords = import_module('nltk.corpus').stopwords\n HDBSCAN = import_module('hdbscan').HDBSCAN\n UMAP = import_module('umap').UMAP\n CountVectorizer = import_module(\n 'sklearn.feature_extraction.text').CountVectorizer\n BERTopic = import_module('bertopic').BERTopic\n\n umap_model = UMAP(\n random_state=42,\n n_components=n_components,\n )\n hdbscan_model = HDBSCAN(min_cluster_size=min_cluster_size)\n\n stop = stopwords.words(\"english\")\n vectorizer_model = CountVectorizer(stop_words=stop)\n topic_model = BERTopic(\n umap_model=umap_model,\n hdbscan_model=hdbscan_model,\n vectorizer_model=vectorizer_model,\n verbose=True,\n )\n\n # Fit the topic model.\n _, __ = topic_model.fit_transform(docs, embeddings=embeddings)\n\n n_samples = len(embeddings)\n n_neighbors = min(n_samples - 1, 10)\n spectral_model = SpectralClustering(\n n_clusters=n_topics,\n affinity=\"nearest_neighbors\",\n n_neighbors=n_neighbors, # Use the modified n_neighbors\n random_state=42\n )\n umap_embeds = umap_model.fit_transform(embeddings)\n cluster_labels = spectral_model.fit_predict(umap_embeds)\n\n result = topic_model.get_document_info(\n docs=docs,\n metadata={\n **metadatas,\n \"x\": umap_embeds[:, 0],\n \"y\": umap_embeds[:, 1],\n },\n )\n\n result.columns = [c.lower() for c in result.columns]\n result = result[['arg-id', 'x', 'y', 'probability']]\n result['cluster-id'] = cluster_labels\n\n return result\n"},"intro":"このAIが作成したレポートは、安野たかひろの2024年東京都知事選挙出馬のニュースに寄せられたコメントのデータに依拠している。","output_dir":"yahoo_comments_geniusAiEngineer","embedding":{"source_code":"\nfrom langchain.embeddings import OpenAIEmbeddings\nimport pandas as pd\nfrom tqdm import tqdm\n\n\ndef embedding(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/embeddings.pkl\"\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n embeddings = []\n for i in tqdm(range(0, len(arguments), 1000)):\n args = arguments[\"argument\"].tolist()[i: i + 1000]\n embeds = OpenAIEmbeddings().embed_documents(args)\n embeddings.extend(embeds)\n df = pd.DataFrame(\n [\n {\"arg-id\": arguments.iloc[i][\"arg-id\"], \"embedding\": e}\n for i, e in enumerate(embeddings)\n ]\n )\n df.to_pickle(path)\n"},"labelling":{"sample_size":30,"source_code":"\"\"\"Create labels for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef labelling(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/labels.csv\"\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n clusters = pd.read_csv(f\"outputs/{dataset}/clusters.csv\")\n\n results = pd.DataFrame()\n\n sample_size = config['labelling']['sample_size']\n prompt = config['labelling']['prompt']\n model = config['labelling']['model']\n\n question = config['question']\n cluster_ids = clusters['cluster-id'].unique()\n\n update_progress(config, total=len(cluster_ids))\n\n for _, cluster_id in tqdm(enumerate(cluster_ids), total=len(cluster_ids)):\n args_ids = clusters[clusters['cluster-id']\n == cluster_id]['arg-id'].values\n args_ids = np.random.choice(args_ids, size=min(\n len(args_ids), sample_size), replace=False)\n args_sample = arguments[arguments['arg-id']\n .isin(args_ids)]['argument'].values\n\n args_ids_outside = clusters[clusters['cluster-id']\n != cluster_id]['arg-id'].values\n args_ids_outside = np.random.choice(args_ids_outside, size=min(\n len(args_ids_outside), sample_size), replace=False)\n args_sample_outside = arguments[arguments['arg-id']\n .isin(args_ids_outside)]['argument'].values\n\n label = generate_label(question, args_sample,\n args_sample_outside, prompt, model)\n results = pd.concat([results, pd.DataFrame(\n [{'cluster-id': cluster_id, 'label': label}])], ignore_index=True)\n update_progress(config, incr=1)\n\n results.to_csv(path, index=False)\n\n\ndef generate_label(question, args_sample, args_sample_outside, prompt, model):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n outside = '\\n * ' + '\\n * '.join(args_sample_outside)\n inside = '\\n * ' + '\\n * '.join(args_sample)\n input = f\"Question of the consultation:{question}\\n\\n\" + \\\n f\"Examples of arguments OUTSIDE the cluster:\\n {outside}\" + \\\n f\"Examples of arguments INSIDE the cluster:\\n {inside}\"\n response = llm(messages=messages(prompt, input)).content.strip()\n return response\n","prompt":"/system \n\nあなたは、より広範なコンサルテーション内の一連の議論に対するカテゴリラベルを生成するカテゴリラベリングアシスタントです。あなたには、相談の主な質問、クラスタ内の議論のリスト、およびこのクラスタ外の議論のリストが与えられます。あなたはクラスターを要約する1つのカテゴリーラベルで回答します。\n\nあなたは、より広範なコンサルテーション内の一連の議論に対するカテゴリラベルを生成するカテゴリラベリングアシスタントです。あなたには、相談の主な質問、クラスタ内の議論のリスト、およびこのクラスタ外の議論のリストが与えられます。あなたはクラスターを要約する1つのカテゴリーラベルで回答します。\n\nラベルは非常に簡潔でなければならず、クラスターとその外側にある論点を区別するのに十分な正確さでなければならない。\n\n/human\n\nコンサルテーションの質問 「英国のEU離脱決定の影響は何だと思いますか?\n\n関心のあるクラスター以外の論点の例\n\n * エラスムス・プログラムからの除外により、教育・文化交流の機会が制限された。\n * 英国は、国境検問の強化による旅行時間の延長に対処し、通勤客や旅行客に影響を与えた。\n * 環境基準における協力が減少し、気候変動と闘う努力が妨げられた。\n * 相互医療協定の中断により、患者ケアに課題を感じた。\n * Brexit関連の変更により、家族の居住権や市民権の申請が複雑になった。\n * 英国は、共同研究機会の減少により、研究の課題に取り組む世界的な取り組みに支障をきたすことを目の当たりにした。\n * EUの文化助成プログラムからの除外により、創造的なプロジェクトの制限に直面した。\n * 英国は、EUの資金提供の喪失により、慈善活動やコミュニティ支援の後退を目の当たりにした。\n * 消費者保護の弱体化により、国境を越えた紛争解決に課題が生じた。\n * 英国はプロの音楽家としてEU諸国をツアーする際の制限に直面し、キャリアに影響を与えた。\n\nクラスター内部での議論の例\n\n * Brexitによりサプライチェーンが混乱し、企業にとってコスト増と納期遅延につながった。\n * ブレグジットのため、市場の変動や投資・退職金の不確実性に直面した。\n * 新たな関税や通関手続きにより、英国は輸出業者として利益率の低下に対処した。\n * ブレグジット後、企業がEU市場内にとどまるために事業を移転したため、雇用を失った。\n * 英国は輸入品価格の高騰による生活費の増加に苦しんだ。\n * 英国のハイテク産業への投資が減少し、技術革新と雇用機会に影響を与えた。\n * 新たなビザ規制による観光客の減少を目の当たりにし、接客業に影響。\n * ポンド価値の下落により購買力が低下し、旅費が増加した。\n\n\n/ai \n\n財務上のマイナス影響\n","model":"gpt-4o"},"takeaways":{"sample_size":30,"source_code":"\"\"\"Create summaries for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nimport os\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef takeaways(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/takeaways.csv\"\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n clusters = pd.read_csv(f\"outputs/{dataset}/clusters.csv\")\n\n results = pd.DataFrame()\n\n sample_size = config['takeaways']['sample_size']\n prompt = config['takeaways']['prompt']\n model = config['takeaways']['model']\n\n model = config.get('model_takeaways', config.get('model', 'gpt3.5-turbo'))\n cluster_ids = clusters['cluster-id'].unique()\n\n update_progress(config, total=len(cluster_ids))\n\n for _, cluster_id in tqdm(enumerate(cluster_ids), total=len(cluster_ids)):\n args_ids = clusters[clusters['cluster-id']\n == cluster_id]['arg-id'].values\n args_ids = np.random.choice(args_ids, size=min(\n len(args_ids), sample_size), replace=False)\n args_sample = arguments[arguments['arg-id']\n .isin(args_ids)]['argument'].values\n label = generate_takeaways(args_sample, prompt, model)\n results = pd.concat([results, pd.DataFrame(\n [{'cluster-id': cluster_id, 'takeaways': label}])], ignore_index=True)\n update_progress(config, incr=1)\n\n results.to_csv(path, index=False)\n\n\ndef generate_takeaways(args_sample, prompt, model):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n input = \"\\n\".join(args_sample)\n response = llm(messages=messages(prompt, input)).content.strip()\n return response\n","prompt":"/system \n\nあなたはシンクタンクで働く専門家リサーチアシスタントです。あなたは、公開協議の際に参加者の一団から出された議論のリストを渡されます。あなたは、主な論点を1~2段落にまとめて回答します。あなたはとても簡潔で、読みやすい短い文章を書くことができます。\n \n/human\n\n[\n \"銃による暴力は、私たちの社会における深刻な公衆衛生の危機を構成していると固く信じています。\",\n \"包括的な銃規制策を通じて、この問題に早急に取り組む必要がある。\",\n \"すべての銃購入者に対する身元調査の実施を支持します。\",\n \"アサルト・ウェポンと大容量弾倉の禁止に賛成します。\",\n \"違法な銃の売買を防ぐため、より厳しい規制を提唱します。\",\n \"銃の購入プロセスにおいて、精神鑑定を義務付けるべきである。\"\n]\n\n/ai \n\n参加者は、包括的な銃規制を求め、普遍的な身元調査、突撃兵器の禁止、違法な銃売買の抑制、精神衛生評価の優先などを強調した。\n","model":"gpt-4o"},"overview":{"source_code":"\"\"\"Create summaries for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nimport os\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef overview(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/overview.txt\"\n\n takeaways = pd.read_csv(f\"outputs/{dataset}/takeaways.csv\")\n labels = pd.read_csv(f\"outputs/{dataset}/labels.csv\")\n\n prompt = config['overview']['prompt']\n model = config['overview']['model']\n\n ids = labels['cluster-id'].to_list()\n takeaways.set_index('cluster-id', inplace=True)\n labels.set_index('cluster-id', inplace=True)\n\n input = ''\n for i, id in enumerate(ids):\n input += f\"# Cluster {i}/{len(ids)}: {labels.loc[id]['label']}\\n\\n\"\n input += takeaways.loc[id]['takeaways'] + '\\n\\n'\n\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n response = llm(messages=messages(prompt, input)).content.strip()\n\n with open(path, 'w') as file:\n file.write(response)\n","prompt":"/system \n\nあなたはシンクタンクで働く専門家リサーチアシスタントです。あなたのチームは、あるトピックに関する公開コンサルテーションを実施し、さまざまな選択肢のクラスターを分析し始めました。あなたは今、クラスターのリストと各クラスターの簡単な分析を受け取ります。あなたの仕事は、その結果を簡潔にまとめることです。あなたの要約は非常に簡潔でなければならず(せいぜい1段落、せいぜい4文)、平凡な表現は避けなければなりません。\n","model":"gpt-4o"},"translation":{"languages":[],"flags":[],"source_code":"\nimport json\nfrom tqdm import tqdm\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages\nfrom langchain.schema import AIMessage\nimport pandas as pd\nimport json\nfrom tqdm import tqdm\n\n\ndef translation(config):\n\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/translations.json\"\n results = {}\n\n languages = list(config.get('translation', {}).get('languages', []))\n if len(languages) == 0:\n print(\"No languages specified. Skipping translation step.\")\n # creating an empty file any, to reduce special casing later\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n return\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n labels = pd.read_csv(f\"outputs/{dataset}/labels.csv\")\n takeaways = pd.read_csv(f\"outputs/{dataset}/takeaways.csv\")\n with open(f\"outputs/{dataset}/overview.txt\") as f:\n overview = f.read()\n\n UI_copy = [\"Argument\", \"Original comment\", \"Representative arguments\",\n \"Open full-screen map\", \"Back to report\", \"Hide labels\", \"Show labels\",\n \"Show filters\", \"Hide filters\", \"Min. votes\", \"Consensus\",\n \"Showing\", \"arguments\", \"Reset zoom\", \"Click anywhere on the map to close this\",\n \"Click on the dot for details\",\n \"agree\", \"disagree\", \"Language\", \"English\", \"arguments\", \"of total\",\n \"Overview\", \"Cluster analysis\", \"Representative comments\", \"Introduction\",\n \"Clusters\", \"Appendix\", \"This report was generated using an AI pipeline that consists of the following steps\",\n \"Step\", \"extraction\", \"show code\", \"hide code\", \"show prompt\", \"hide prompt\", \"embedding\",\n \"clustering\", \"labelling\", \"takeaways\", \"overview\"]\n\n arg_list = arguments['argument'].to_list() + \\\n labels['label'].to_list() + \\\n UI_copy + \\\n languages\n\n if 'name' in config:\n arg_list.append(config['name'])\n if 'question' in config:\n arg_list.append(config['question'])\n\n prompt_file = config.get('translation_prompt', 'default')\n with open(f\"prompts/translation/{prompt_file}.txt\") as f:\n prompt = f.read()\n model = config['model']\n\n config['translation_prompt'] = prompt\n\n translations = [translate_lang(\n arg_list, 10, prompt, lang, model) for lang in languages]\n\n # handling long takeaways differently, WITHOUT batching too much\n long_arg_list = takeaways['takeaways'].to_list()\n long_arg_list.append(overview)\n if 'intro' in config:\n long_arg_list.append(config['intro'])\n\n long_translations = [translate_lang(\n long_arg_list, 1, prompt, lang, model) for lang in languages]\n\n for i, id in enumerate(arg_list):\n print('i, id', i, id)\n results[str(id)] = list([t[i] for t in translations])\n for i, id in enumerate(long_arg_list):\n results[str(id)] = list([t[i] for t in long_translations])\n\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n\n\ndef translate_lang(arg_list, batch_size, prompt, lang, model):\n translations = []\n lang_prompt = prompt.replace(\"{language}\", lang)\n print(f\"Translating to {lang}...\")\n for i in tqdm(range(0, len(arg_list), batch_size)):\n batch = arg_list[i: i + batch_size]\n translations.extend(translate_batch(batch, lang_prompt, model))\n return translations\n\n\ndef translate_batch(batch, lang_prompt, model, retries=3):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n input = json.dumps(list(batch))\n response = llm(messages=messages(lang_prompt, input)).content.strip()\n if \"```\" in response:\n response = response.split(\"```\")[1]\n if response.startswith(\"json\"):\n response = response[4:]\n try:\n parsed = [a.strip() for a in json.loads(response)]\n if len(parsed) != len(batch):\n print(\"Warning: batch size mismatch!\")\n print(\"Batch len:\", len(batch))\n print(\"Response len:\", len(parsed))\n for i, item in enumerate(batch):\n print(f\"Batch item {i}:\", item)\n if (i \u003c len(parsed)):\n print(\"Response:\", parsed[i])\n if (len(batch) \u003e 1):\n print(\"Retrying with smaller batches...\")\n mid = len(batch) // 2\n return translate_batch(batch[:mid], lang_prompt, model, retries - 1) + \\\n translate_batch(\n batch[mid:], lang_prompt, model, retries - 1)\n else:\n print(\"Retrying batch...\")\n return translate_batch(batch, lang_prompt, model, retries - 1)\n else:\n return parsed\n except json.decoder.JSONDecodeError as e:\n print(\"JSON error:\", e)\n print(\"Response was:\", response)\n if retries \u003e 0:\n print(\"Retrying batch...\")\n return translate_batch(batch, lang_prompt, model, retries - 1)\n else:\n raise e\n","prompt":"/system \n\nあなたはプロの翻訳者です。\n英語で書かれた単語と文章のリストを受け取ります。\n同じリストを同じ順番で、{language}に翻訳して返してください。\n元のリストと同じ長さの文字列の有効なJSONリストを返すようにしてください。\n\n","model":"gpt-4o"},"aggregation":{"source_code":"\"\"\"Generate a convenient JSON output file.\"\"\"\n\nfrom tqdm import tqdm\nfrom typing import List\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nimport json\n\n\ndef aggregation(config):\n\n path = f\"outputs/{config['output_dir']}/result.json\"\n\n results = {\n \"clusters\": [],\n \"comments\": {},\n \"translations\": {},\n \"overview\": \"\",\n \"config\": config,\n }\n\n arguments = pd.read_csv(f\"outputs/{config['output_dir']}/args.csv\")\n arguments.set_index('arg-id', inplace=True)\n\n comments = pd.read_csv(f\"inputs/{config['input']}.csv\")\n useful_comment_ids = set(arguments['comment-id'].values)\n for _, row in comments.iterrows():\n id = row['comment-id']\n if id in useful_comment_ids:\n res = {'comment': row['comment-body']}\n numeric_cols = ['agrees', 'disagrees']\n string_cols = ['video', 'interview', 'timestamp']\n for col in numeric_cols:\n if col in row:\n res[col] = float(row[col])\n for col in string_cols:\n if col in row:\n res[col] = row[col]\n results['comments'][str(id)] = res\n\n languages = list(config.get('translation', {}).get('languages', []))\n if len(languages) \u003e 0:\n with open(f\"outputs/{config['output_dir']}/translations.json\") as f:\n translations = f.read()\n results['translations'] = json.loads(translations)\n\n clusters = pd.read_csv(f\"outputs/{config['output_dir']}/clusters.csv\")\n labels = pd.read_csv(f\"outputs/{config['output_dir']}/labels.csv\")\n takeaways = pd.read_csv(f\"outputs/{config['output_dir']}/takeaways.csv\")\n takeaways.set_index('cluster-id', inplace=True)\n\n with open(f\"outputs/{config['output_dir']}/overview.txt\") as f:\n overview = f.read()\n results['overview'] = overview\n\n for _, row in labels.iterrows():\n cid = row['cluster-id']\n label = row['label']\n arg_rows = clusters[clusters['cluster-id'] == cid]\n arguments_in_cluster = []\n for _, arg_row in arg_rows.iterrows():\n arg_id = arg_row['arg-id']\n argument = arguments.loc[arg_id]['argument']\n comment_id = arguments.loc[arg_id]['comment-id']\n x = float(arg_row['x'])\n y = float(arg_row['y'])\n p = float(arg_row['probability'])\n obj = {\n 'arg_id': arg_id,\n 'argument': argument,\n 'comment_id': str(comment_id),\n 'x': x,\n 'y': y,\n 'p': p,\n }\n arguments_in_cluster.append(obj)\n results['clusters'].append({\n 'cluster': label,\n 'cluster_id': str(cid),\n 'takeaways': takeaways.loc[cid]['takeaways'],\n 'arguments': arguments_in_cluster\n })\n\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n"},"visualization":{"replacements":[],"source_code":"\nimport subprocess\n\n\ndef visualization(config):\n output_dir = config['output_dir']\n with open(f\"outputs/{output_dir}/result.json\") as f:\n result = f.read()\n\n cwd = \"../next-app\"\n command = f\"REPORT={output_dir} npm run build\"\n\n try:\n process = subprocess.Popen(command, shell=True, cwd=cwd, stdout=subprocess.PIPE,\n stderr=subprocess.PIPE, universal_newlines=True)\n while True:\n output_line = process.stdout.readline()\n if output_line == '' and process.poll() is not None:\n break\n if output_line:\n print(output_line.strip())\n process.wait()\n errors = process.stderr.read()\n if errors:\n print(\"Errors:\")\n print(errors)\n except subprocess.CalledProcessError as e:\n print(\"Error: \", e)\n"},"plan":[{"step":"extraction","run":true,"reason":"some parameters changed: limit, prompt, model"},{"step":"embedding","run":true,"reason":"some dependent steps will re-run: extraction"},{"step":"clustering","run":true,"reason":"some dependent steps will re-run: embedding"},{"step":"labelling","run":true,"reason":"some dependent steps will re-run: clustering"},{"step":"takeaways","run":true,"reason":"some dependent steps will re-run: clustering"},{"step":"overview","run":true,"reason":"some dependent steps will re-run: labelling, takeaways"},{"step":"translation","run":true,"reason":"some dependent steps will re-run: extraction, labelling, takeaways, overview"},{"step":"aggregation","run":true,"reason":"some dependent steps will re-run: extraction, clustering, labelling, takeaways, overview, translation"},{"step":"visualization","run":true,"reason":"some dependent steps will re-run: aggregation"}],"status":"completed","start_time":"2024-06-11T18:25:03.735370","completed_jobs":[{"step":"extraction","completed":"2024-06-11T18:28:54.564513","duration":230.823603,"params":{"workers":5,"limit":300,"source_code":"import os\nimport json\nfrom tqdm import tqdm\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\nimport concurrent.futures\n\n\ndef extraction(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/args.csv\"\n comments = pd.read_csv(f\"inputs/{config['input']}.csv\")\n\n model = config['extraction']['model']\n prompt = config['extraction']['prompt']\n workers = config['extraction']['workers']\n limit = config['extraction']['limit']\n\n comment_ids = (comments['comment-id'].values)[:limit]\n comments.set_index('comment-id', inplace=True)\n results = pd.DataFrame()\n update_progress(config, total=len(comment_ids))\n for i in tqdm(range(0, len(comment_ids), workers)):\n batch = comment_ids[i: i + workers]\n batch_inputs = [comments.loc[id]['comment-body'] for id in batch]\n batch_results = extract_batch(batch_inputs, prompt, model, workers)\n for comment_id, extracted_args in zip(batch, batch_results):\n for j, arg in enumerate(extracted_args):\n new_row = {\"arg-id\": f\"A{comment_id}_{j}\",\n \"comment-id\": int(comment_id), \"argument\": arg}\n results = pd.concat(\n [results, pd.DataFrame([new_row])], ignore_index=True)\n update_progress(config, incr=len(batch))\n results.to_csv(path, index=False)\n\n\ndef extract_batch(batch, prompt, model, workers):\n with concurrent.futures.ThreadPoolExecutor(max_workers=workers) as executor:\n futures = [executor.submit(\n extract_arguments, input, prompt, model) for input in list(batch)]\n concurrent.futures.wait(futures)\n return [future.result() for future in futures]\n\n\ndef extract_arguments(input, prompt, model, retries=3):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n response = llm(messages=messages(prompt, input)).content.strip()\n try:\n obj = json.loads(response)\n # LLM sometimes returns valid JSON string\n if isinstance(obj, str):\n obj = [obj]\n items = [a.strip() for a in obj]\n items = filter(None, items) # omit empty strings\n return items\n except json.decoder.JSONDecodeError as e:\n print(\"JSON error:\", e)\n print(\"Input was:\", input)\n print(\"Response was:\", response)\n if retries \u003e 0:\n print(\"Retrying...\")\n return extract_arguments(input, prompt, model, retries - 1)\n else:\n print(\"Silently giving up on trying to generate valid list.\")\n return []\n","prompt":"/system\n\n\nあなたはプロのリサーチ・アシスタントで、私の仕事を手伝うことです。\n私の仕事は、論点を整理したきれいなデータセットを作成することです。\n\n背景は、私の上司が日本の都知事選挙に立候補したということです。\nこれから、出馬に関しての記事に一般から寄せられたコメントの例を挙げます。\nより簡潔で読みやすいものにするのを手伝ってほしい。\n本当に必要な場合は、2つの別々の議論に分けることもできるが、1つの議論を返すのが最善であることが多いだろう。\n\n結果は、きちんとフォーマットされた文字列形式(strings)のJSONリストとして返してください。\n\n\n/human\n\nAI技術は、そのライフサイクルにおける環境負荷の低減に重点を置いて開発されるべきである。\n\n/ai \n\n[\n \"私たちは、AI技術が環境に与える影響の軽減に焦点を当てるべきである\"\n]\n\n/human \n\nAIの能力、限界、倫理的配慮について一般の人々を教育するための協調的な努力が必要である。\n\n/ai \n\n[\n \"AIの能力について一般の人々を教育すべきである。\",\n \"AIの限界と倫理的配慮について、一般の人々を教育すべきである。\"\n]\n\n/human \n\nAIは、エネルギー効率と居住者のウェルビーイングのためにスマートホームやビルを最適化することができる。\n\n/ ai \n\n[\n \"AIは、エネルギー効率と居住者のウェルビーイングのためにスマートホームやビルを最適化することができる。\"\n]\n\n/human \n\nAIはエネルギー・グリッドを最適化し、無駄と二酸化炭素排出を削減するのに役立つ。\n\n/ai \n\n[\n \"AIはエネルギー網を最適化し、無駄と二酸化炭素排出を削減することができる。\"\n]\n\n","model":"gpt-4o"}},{"step":"embedding","completed":"2024-06-11T18:28:56.732639","duration":2.165312,"params":{"source_code":"\nfrom langchain.embeddings import OpenAIEmbeddings\nimport pandas as pd\nfrom tqdm import tqdm\n\n\ndef embedding(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/embeddings.pkl\"\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n embeddings = []\n for i in tqdm(range(0, len(arguments), 1000)):\n args = arguments[\"argument\"].tolist()[i: i + 1000]\n embeds = OpenAIEmbeddings().embed_documents(args)\n embeddings.extend(embeds)\n df = pd.DataFrame(\n [\n {\"arg-id\": arguments.iloc[i][\"arg-id\"], \"embedding\": e}\n for i, e in enumerate(embeddings)\n ]\n )\n df.to_pickle(path)\n"}},{"step":"clustering","completed":"2024-06-11T18:29:07.423680","duration":10.689588,"params":{"clusters":3,"source_code":"\"\"\"Cluster the arguments using UMAP + HDBSCAN and GPT-4.\"\"\"\n\nimport pandas as pd\nimport numpy as np\nfrom importlib import import_module\n\n\ndef clustering(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/clusters.csv\"\n arguments_df = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n arguments_array = arguments_df[\"argument\"].values\n\n embeddings_df = pd.read_pickle(f\"outputs/{dataset}/embeddings.pkl\")\n embeddings_array = np.asarray(embeddings_df[\"embedding\"].values.tolist())\n clusters = config['clustering']['clusters']\n\n result = cluster_embeddings(\n docs=arguments_array,\n embeddings=embeddings_array,\n metadatas={\n \"arg-id\": arguments_df[\"arg-id\"].values,\n \"comment-id\": arguments_df[\"comment-id\"].values,\n },\n n_topics=clusters,\n )\n result.to_csv(path, index=False)\n\n\ndef cluster_embeddings(\n docs,\n embeddings,\n metadatas,\n min_cluster_size=2,\n n_components=2,\n n_topics=6,\n):\n # (!) we import the following modules dynamically for a reason\n # (they are slow to load and not required for all pipelines)\n SpectralClustering = import_module('sklearn.cluster').SpectralClustering\n stopwords = import_module('nltk.corpus').stopwords\n HDBSCAN = import_module('hdbscan').HDBSCAN\n UMAP = import_module('umap').UMAP\n CountVectorizer = import_module(\n 'sklearn.feature_extraction.text').CountVectorizer\n BERTopic = import_module('bertopic').BERTopic\n\n umap_model = UMAP(\n random_state=42,\n n_components=n_components,\n )\n hdbscan_model = HDBSCAN(min_cluster_size=min_cluster_size)\n\n stop = stopwords.words(\"english\")\n vectorizer_model = CountVectorizer(stop_words=stop)\n topic_model = BERTopic(\n umap_model=umap_model,\n hdbscan_model=hdbscan_model,\n vectorizer_model=vectorizer_model,\n verbose=True,\n )\n\n # Fit the topic model.\n _, __ = topic_model.fit_transform(docs, embeddings=embeddings)\n\n n_samples = len(embeddings)\n n_neighbors = min(n_samples - 1, 10)\n spectral_model = SpectralClustering(\n n_clusters=n_topics,\n affinity=\"nearest_neighbors\",\n n_neighbors=n_neighbors, # Use the modified n_neighbors\n random_state=42\n )\n umap_embeds = umap_model.fit_transform(embeddings)\n cluster_labels = spectral_model.fit_predict(umap_embeds)\n\n result = topic_model.get_document_info(\n docs=docs,\n metadata={\n **metadatas,\n \"x\": umap_embeds[:, 0],\n \"y\": umap_embeds[:, 1],\n },\n )\n\n result.columns = [c.lower() for c in result.columns]\n result = result[['arg-id', 'x', 'y', 'probability']]\n result['cluster-id'] = cluster_labels\n\n return result\n"}},{"step":"labelling","completed":"2024-06-11T18:29:09.642154","duration":2.21709,"params":{"sample_size":30,"source_code":"\"\"\"Create labels for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef labelling(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/labels.csv\"\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n clusters = pd.read_csv(f\"outputs/{dataset}/clusters.csv\")\n\n results = pd.DataFrame()\n\n sample_size = config['labelling']['sample_size']\n prompt = config['labelling']['prompt']\n model = config['labelling']['model']\n\n question = config['question']\n cluster_ids = clusters['cluster-id'].unique()\n\n update_progress(config, total=len(cluster_ids))\n\n for _, cluster_id in tqdm(enumerate(cluster_ids), total=len(cluster_ids)):\n args_ids = clusters[clusters['cluster-id']\n == cluster_id]['arg-id'].values\n args_ids = np.random.choice(args_ids, size=min(\n len(args_ids), sample_size), replace=False)\n args_sample = arguments[arguments['arg-id']\n .isin(args_ids)]['argument'].values\n\n args_ids_outside = clusters[clusters['cluster-id']\n != cluster_id]['arg-id'].values\n args_ids_outside = np.random.choice(args_ids_outside, size=min(\n len(args_ids_outside), sample_size), replace=False)\n args_sample_outside = arguments[arguments['arg-id']\n .isin(args_ids_outside)]['argument'].values\n\n label = generate_label(question, args_sample,\n args_sample_outside, prompt, model)\n results = pd.concat([results, pd.DataFrame(\n [{'cluster-id': cluster_id, 'label': label}])], ignore_index=True)\n update_progress(config, incr=1)\n\n results.to_csv(path, index=False)\n\n\ndef generate_label(question, args_sample, args_sample_outside, prompt, model):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n outside = '\\n * ' + '\\n * '.join(args_sample_outside)\n inside = '\\n * ' + '\\n * '.join(args_sample)\n input = f\"Question of the consultation:{question}\\n\\n\" + \\\n f\"Examples of arguments OUTSIDE the cluster:\\n {outside}\" + \\\n f\"Examples of arguments INSIDE the cluster:\\n {inside}\"\n response = llm(messages=messages(prompt, input)).content.strip()\n return response\n","prompt":"/system \n\nあなたは、より広範なコンサルテーション内の一連の議論に対するカテゴリラベルを生成するカテゴリラベリングアシスタントです。あなたには、相談の主な質問、クラスタ内の議論のリスト、およびこのクラスタ外の議論のリストが与えられます。あなたはクラスターを要約する1つのカテゴリーラベルで回答します。\n\nあなたは、より広範なコンサルテーション内の一連の議論に対するカテゴリラベルを生成するカテゴリラベリングアシスタントです。あなたには、相談の主な質問、クラスタ内の議論のリスト、およびこのクラスタ外の議論のリストが与えられます。あなたはクラスターを要約する1つのカテゴリーラベルで回答します。\n\nラベルは非常に簡潔でなければならず、クラスターとその外側にある論点を区別するのに十分な正確さでなければならない。\n\n/human\n\nコンサルテーションの質問 「英国のEU離脱決定の影響は何だと思いますか?\n\n関心のあるクラスター以外の論点の例\n\n * エラスムス・プログラムからの除外により、教育・文化交流の機会が制限された。\n * 英国は、国境検問の強化による旅行時間の延長に対処し、通勤客や旅行客に影響を与えた。\n * 環境基準における協力が減少し、気候変動と闘う努力が妨げられた。\n * 相互医療協定の中断により、患者ケアに課題を感じた。\n * Brexit関連の変更により、家族の居住権や市民権の申請が複雑になった。\n * 英国は、共同研究機会の減少により、研究の課題に取り組む世界的な取り組みに支障をきたすことを目の当たりにした。\n * EUの文化助成プログラムからの除外により、創造的なプロジェクトの制限に直面した。\n * 英国は、EUの資金提供の喪失により、慈善活動やコミュニティ支援の後退を目の当たりにした。\n * 消費者保護の弱体化により、国境を越えた紛争解決に課題が生じた。\n * 英国はプロの音楽家としてEU諸国をツアーする際の制限に直面し、キャリアに影響を与えた。\n\nクラスター内部での議論の例\n\n * Brexitによりサプライチェーンが混乱し、企業にとってコスト増と納期遅延につながった。\n * ブレグジットのため、市場の変動や投資・退職金の不確実性に直面した。\n * 新たな関税や通関手続きにより、英国は輸出業者として利益率の低下に対処した。\n * ブレグジット後、企業がEU市場内にとどまるために事業を移転したため、雇用を失った。\n * 英国は輸入品価格の高騰による生活費の増加に苦しんだ。\n * 英国のハイテク産業への投資が減少し、技術革新と雇用機会に影響を与えた。\n * 新たなビザ規制による観光客の減少を目の当たりにし、接客業に影響。\n * ポンド価値の下落により購買力が低下し、旅費が増加した。\n\n\n/ai \n\n財務上のマイナス影響\n","model":"gpt-4o"}},{"step":"takeaways","completed":"2024-06-11T18:29:26.998070","duration":17.352925,"params":{"sample_size":30,"source_code":"\"\"\"Create summaries for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nimport os\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef takeaways(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/takeaways.csv\"\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n clusters = pd.read_csv(f\"outputs/{dataset}/clusters.csv\")\n\n results = pd.DataFrame()\n\n sample_size = config['takeaways']['sample_size']\n prompt = config['takeaways']['prompt']\n model = config['takeaways']['model']\n\n model = config.get('model_takeaways', config.get('model', 'gpt3.5-turbo'))\n cluster_ids = clusters['cluster-id'].unique()\n\n update_progress(config, total=len(cluster_ids))\n\n for _, cluster_id in tqdm(enumerate(cluster_ids), total=len(cluster_ids)):\n args_ids = clusters[clusters['cluster-id']\n == cluster_id]['arg-id'].values\n args_ids = np.random.choice(args_ids, size=min(\n len(args_ids), sample_size), replace=False)\n args_sample = arguments[arguments['arg-id']\n .isin(args_ids)]['argument'].values\n label = generate_takeaways(args_sample, prompt, model)\n results = pd.concat([results, pd.DataFrame(\n [{'cluster-id': cluster_id, 'takeaways': label}])], ignore_index=True)\n update_progress(config, incr=1)\n\n results.to_csv(path, index=False)\n\n\ndef generate_takeaways(args_sample, prompt, model):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n input = \"\\n\".join(args_sample)\n response = llm(messages=messages(prompt, input)).content.strip()\n return response\n","prompt":"/system \n\nあなたはシンクタンクで働く専門家リサーチアシスタントです。あなたは、公開協議の際に参加者の一団から出された議論のリストを渡されます。あなたは、主な論点を1~2段落にまとめて回答します。あなたはとても簡潔で、読みやすい短い文章を書くことができます。\n \n/human\n\n[\n \"銃による暴力は、私たちの社会における深刻な公衆衛生の危機を構成していると固く信じています。\",\n \"包括的な銃規制策を通じて、この問題に早急に取り組む必要がある。\",\n \"すべての銃購入者に対する身元調査の実施を支持します。\",\n \"アサルト・ウェポンと大容量弾倉の禁止に賛成します。\",\n \"違法な銃の売買を防ぐため、より厳しい規制を提唱します。\",\n \"銃の購入プロセスにおいて、精神鑑定を義務付けるべきである。\"\n]\n\n/ai \n\n参加者は、包括的な銃規制を求め、普遍的な身元調査、突撃兵器の禁止、違法な銃売買の抑制、精神衛生評価の優先などを強調した。\n","model":"gpt-4o"}},{"step":"overview","completed":"2024-06-11T18:29:30.891320","duration":3.888822,"params":{"source_code":"\"\"\"Create summaries for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nimport os\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef overview(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/overview.txt\"\n\n takeaways = pd.read_csv(f\"outputs/{dataset}/takeaways.csv\")\n labels = pd.read_csv(f\"outputs/{dataset}/labels.csv\")\n\n prompt = config['overview']['prompt']\n model = config['overview']['model']\n\n ids = labels['cluster-id'].to_list()\n takeaways.set_index('cluster-id', inplace=True)\n labels.set_index('cluster-id', inplace=True)\n\n input = ''\n for i, id in enumerate(ids):\n input += f\"# Cluster {i}/{len(ids)}: {labels.loc[id]['label']}\\n\\n\"\n input += takeaways.loc[id]['takeaways'] + '\\n\\n'\n\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n response = llm(messages=messages(prompt, input)).content.strip()\n\n with open(path, 'w') as file:\n file.write(response)\n","prompt":"/system \n\nあなたはシンクタンクで働く専門家リサーチアシスタントです。あなたのチームは、あるトピックに関する公開コンサルテーションを実施し、さまざまな選択肢のクラスターを分析し始めました。あなたは今、クラスターのリストと各クラスターの簡単な分析を受け取ります。あなたの仕事は、その結果を簡潔にまとめることです。あなたの要約は非常に簡潔でなければならず(せいぜい1段落、せいぜい4文)、平凡な表現は避けなければなりません。\n","model":"gpt-4o"}},{"step":"translation","completed":"2024-06-11T18:29:30.904135","duration":0.006979,"params":{"languages":[],"flags":[],"source_code":"\nimport json\nfrom tqdm import tqdm\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages\nfrom langchain.schema import AIMessage\nimport pandas as pd\nimport json\nfrom tqdm import tqdm\n\n\ndef translation(config):\n\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/translations.json\"\n results = {}\n\n languages = list(config.get('translation', {}).get('languages', []))\n if len(languages) == 0:\n print(\"No languages specified. Skipping translation step.\")\n # creating an empty file any, to reduce special casing later\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n return\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n labels = pd.read_csv(f\"outputs/{dataset}/labels.csv\")\n takeaways = pd.read_csv(f\"outputs/{dataset}/takeaways.csv\")\n with open(f\"outputs/{dataset}/overview.txt\") as f:\n overview = f.read()\n\n UI_copy = [\"Argument\", \"Original comment\", \"Representative arguments\",\n \"Open full-screen map\", \"Back to report\", \"Hide labels\", \"Show labels\",\n \"Show filters\", \"Hide filters\", \"Min. votes\", \"Consensus\",\n \"Showing\", \"arguments\", \"Reset zoom\", \"Click anywhere on the map to close this\",\n \"Click on the dot for details\",\n \"agree\", \"disagree\", \"Language\", \"English\", \"arguments\", \"of total\",\n \"Overview\", \"Cluster analysis\", \"Representative comments\", \"Introduction\",\n \"Clusters\", \"Appendix\", \"This report was generated using an AI pipeline that consists of the following steps\",\n \"Step\", \"extraction\", \"show code\", \"hide code\", \"show prompt\", \"hide prompt\", \"embedding\",\n \"clustering\", \"labelling\", \"takeaways\", \"overview\"]\n\n arg_list = arguments['argument'].to_list() + \\\n labels['label'].to_list() + \\\n UI_copy + \\\n languages\n\n if 'name' in config:\n arg_list.append(config['name'])\n if 'question' in config:\n arg_list.append(config['question'])\n\n prompt_file = config.get('translation_prompt', 'default')\n with open(f\"prompts/translation/{prompt_file}.txt\") as f:\n prompt = f.read()\n model = config['model']\n\n config['translation_prompt'] = prompt\n\n translations = [translate_lang(\n arg_list, 10, prompt, lang, model) for lang in languages]\n\n # handling long takeaways differently, WITHOUT batching too much\n long_arg_list = takeaways['takeaways'].to_list()\n long_arg_list.append(overview)\n if 'intro' in config:\n long_arg_list.append(config['intro'])\n\n long_translations = [translate_lang(\n long_arg_list, 1, prompt, lang, model) for lang in languages]\n\n for i, id in enumerate(arg_list):\n print('i, id', i, id)\n results[str(id)] = list([t[i] for t in translations])\n for i, id in enumerate(long_arg_list):\n results[str(id)] = list([t[i] for t in long_translations])\n\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n\n\ndef translate_lang(arg_list, batch_size, prompt, lang, model):\n translations = []\n lang_prompt = prompt.replace(\"{language}\", lang)\n print(f\"Translating to {lang}...\")\n for i in tqdm(range(0, len(arg_list), batch_size)):\n batch = arg_list[i: i + batch_size]\n translations.extend(translate_batch(batch, lang_prompt, model))\n return translations\n\n\ndef translate_batch(batch, lang_prompt, model, retries=3):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n input = json.dumps(list(batch))\n response = llm(messages=messages(lang_prompt, input)).content.strip()\n if \"```\" in response:\n response = response.split(\"```\")[1]\n if response.startswith(\"json\"):\n response = response[4:]\n try:\n parsed = [a.strip() for a in json.loads(response)]\n if len(parsed) != len(batch):\n print(\"Warning: batch size mismatch!\")\n print(\"Batch len:\", len(batch))\n print(\"Response len:\", len(parsed))\n for i, item in enumerate(batch):\n print(f\"Batch item {i}:\", item)\n if (i \u003c len(parsed)):\n print(\"Response:\", parsed[i])\n if (len(batch) \u003e 1):\n print(\"Retrying with smaller batches...\")\n mid = len(batch) // 2\n return translate_batch(batch[:mid], lang_prompt, model, retries - 1) + \\\n translate_batch(\n batch[mid:], lang_prompt, model, retries - 1)\n else:\n print(\"Retrying batch...\")\n return translate_batch(batch, lang_prompt, model, retries - 1)\n else:\n return parsed\n except json.decoder.JSONDecodeError as e:\n print(\"JSON error:\", e)\n print(\"Response was:\", response)\n if retries \u003e 0:\n print(\"Retrying batch...\")\n return translate_batch(batch, lang_prompt, model, retries - 1)\n else:\n raise e\n","prompt":"/system \n\nあなたはプロの翻訳者です。\n英語で書かれた単語と文章のリストを受け取ります。\n同じリストを同じ順番で、{language}に翻訳して返してください。\n元のリストと同じ長さの文字列の有効なJSONリストを返すようにしてください。\n\n","model":"gpt-4o"}},{"step":"aggregation","completed":"2024-06-11T18:29:30.994242","duration":0.08593,"params":{"source_code":"\"\"\"Generate a convenient JSON output file.\"\"\"\n\nfrom tqdm import tqdm\nfrom typing import List\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nimport json\n\n\ndef aggregation(config):\n\n path = f\"outputs/{config['output_dir']}/result.json\"\n\n results = {\n \"clusters\": [],\n \"comments\": {},\n \"translations\": {},\n \"overview\": \"\",\n \"config\": config,\n }\n\n arguments = pd.read_csv(f\"outputs/{config['output_dir']}/args.csv\")\n arguments.set_index('arg-id', inplace=True)\n\n comments = pd.read_csv(f\"inputs/{config['input']}.csv\")\n useful_comment_ids = set(arguments['comment-id'].values)\n for _, row in comments.iterrows():\n id = row['comment-id']\n if id in useful_comment_ids:\n res = {'comment': row['comment-body']}\n numeric_cols = ['agrees', 'disagrees']\n string_cols = ['video', 'interview', 'timestamp']\n for col in numeric_cols:\n if col in row:\n res[col] = float(row[col])\n for col in string_cols:\n if col in row:\n res[col] = row[col]\n results['comments'][str(id)] = res\n\n languages = list(config.get('translation', {}).get('languages', []))\n if len(languages) \u003e 0:\n with open(f\"outputs/{config['output_dir']}/translations.json\") as f:\n translations = f.read()\n results['translations'] = json.loads(translations)\n\n clusters = pd.read_csv(f\"outputs/{config['output_dir']}/clusters.csv\")\n labels = pd.read_csv(f\"outputs/{config['output_dir']}/labels.csv\")\n takeaways = pd.read_csv(f\"outputs/{config['output_dir']}/takeaways.csv\")\n takeaways.set_index('cluster-id', inplace=True)\n\n with open(f\"outputs/{config['output_dir']}/overview.txt\") as f:\n overview = f.read()\n results['overview'] = overview\n\n for _, row in labels.iterrows():\n cid = row['cluster-id']\n label = row['label']\n arg_rows = clusters[clusters['cluster-id'] == cid]\n arguments_in_cluster = []\n for _, arg_row in arg_rows.iterrows():\n arg_id = arg_row['arg-id']\n argument = arguments.loc[arg_id]['argument']\n comment_id = arguments.loc[arg_id]['comment-id']\n x = float(arg_row['x'])\n y = float(arg_row['y'])\n p = float(arg_row['probability'])\n obj = {\n 'arg_id': arg_id,\n 'argument': argument,\n 'comment_id': str(comment_id),\n 'x': x,\n 'y': y,\n 'p': p,\n }\n arguments_in_cluster.append(obj)\n results['clusters'].append({\n 'cluster': label,\n 'cluster_id': str(cid),\n 'takeaways': takeaways.loc[cid]['takeaways'],\n 'arguments': arguments_in_cluster\n })\n\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n"}},{"step":"visualization","completed":"2024-06-11T18:29:36.335443","duration":5.339994,"params":{"replacements":[],"source_code":"\nimport subprocess\n\n\ndef visualization(config):\n output_dir = config['output_dir']\n with open(f\"outputs/{output_dir}/result.json\") as f:\n result = f.read()\n\n cwd = \"../next-app\"\n command = f\"REPORT={output_dir} npm run build\"\n\n try:\n process = subprocess.Popen(command, shell=True, cwd=cwd, stdout=subprocess.PIPE,\n stderr=subprocess.PIPE, universal_newlines=True)\n while True:\n output_line = process.stdout.readline()\n if output_line == '' and process.poll() is not None:\n break\n if output_line:\n print(output_line.strip())\n process.wait()\n errors = process.stderr.read()\n if errors:\n print(\"Errors:\")\n print(errors)\n except subprocess.CalledProcessError as e:\n print(\"Error: \", e)\n"}}],"lock_until":"2024-06-11T18:34:36.337725","current_job":"visualization","current_job_started":"2024-06-11T18:29:30.995515","previously_completed_jobs":[],"end_time":"2024-06-11T18:29:36.337717"},"embedding":{"source_code":"\nfrom langchain.embeddings import OpenAIEmbeddings\nimport pandas as pd\nfrom tqdm import tqdm\n\n\ndef embedding(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/embeddings.pkl\"\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n embeddings = []\n for i in tqdm(range(0, len(arguments), 1000)):\n args = arguments[\"argument\"].tolist()[i: i + 1000]\n embeds = OpenAIEmbeddings().embed_documents(args)\n embeddings.extend(embeds)\n df = pd.DataFrame(\n [\n {\"arg-id\": arguments.iloc[i][\"arg-id\"], \"embedding\": e}\n for i, e in enumerate(embeddings)\n ]\n )\n df.to_pickle(path)\n"},"labelling":{"sample_size":30,"source_code":"\"\"\"Create labels for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef labelling(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/labels.csv\"\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n clusters = pd.read_csv(f\"outputs/{dataset}/clusters.csv\")\n\n results = pd.DataFrame()\n\n sample_size = config['labelling']['sample_size']\n prompt = config['labelling']['prompt']\n model = config['labelling']['model']\n\n question = config['question']\n cluster_ids = clusters['cluster-id'].unique()\n\n update_progress(config, total=len(cluster_ids))\n\n for _, cluster_id in tqdm(enumerate(cluster_ids), total=len(cluster_ids)):\n args_ids = clusters[clusters['cluster-id']\n == cluster_id]['arg-id'].values\n args_ids = np.random.choice(args_ids, size=min(\n len(args_ids), sample_size), replace=False)\n args_sample = arguments[arguments['arg-id']\n .isin(args_ids)]['argument'].values\n\n args_ids_outside = clusters[clusters['cluster-id']\n != cluster_id]['arg-id'].values\n args_ids_outside = np.random.choice(args_ids_outside, size=min(\n len(args_ids_outside), sample_size), replace=False)\n args_sample_outside = arguments[arguments['arg-id']\n .isin(args_ids_outside)]['argument'].values\n\n label = generate_label(question, args_sample,\n args_sample_outside, prompt, model)\n results = pd.concat([results, pd.DataFrame(\n [{'cluster-id': cluster_id, 'label': label}])], ignore_index=True)\n update_progress(config, incr=1)\n\n results.to_csv(path, index=False)\n\n\ndef generate_label(question, args_sample, args_sample_outside, prompt, model):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n outside = '\\n * ' + '\\n * '.join(args_sample_outside)\n inside = '\\n * ' + '\\n * '.join(args_sample)\n input = f\"Question of the consultation:{question}\\n\\n\" + \\\n f\"Examples of arguments OUTSIDE the cluster:\\n {outside}\" + \\\n f\"Examples of arguments INSIDE the cluster:\\n {inside}\"\n response = llm(messages=messages(prompt, input)).content.strip()\n return response\n","prompt":"/system \n\nあなたは、より広範なコンサルテーション内の一連の議論に対するカテゴリラベルを生成するカテゴリラベリングアシスタントです。あなたには、相談の主な質問、クラスタ内の議論のリスト、およびこのクラスタ外の議論のリストが与えられます。あなたはクラスターを要約する1つのカテゴリーラベルで回答します。\n\nあなたは、より広範なコンサルテーション内の一連の議論に対するカテゴリラベルを生成するカテゴリラベリングアシスタントです。あなたには、相談の主な質問、クラスタ内の議論のリスト、およびこのクラスタ外の議論のリストが与えられます。あなたはクラスターを要約する1つのカテゴリーラベルで回答します。\n\nラベルは非常に簡潔でなければならず、クラスターとその外側にある論点を区別するのに十分な正確さでなければならない。\n\n/human\n\nコンサルテーションの質問 「英国のEU離脱決定の影響は何だと思いますか?\n\n関心のあるクラスター以外の論点の例\n\n * エラスムス・プログラムからの除外により、教育・文化交流の機会が制限された。\n * 英国は、国境検問の強化による旅行時間の延長に対処し、通勤客や旅行客に影響を与えた。\n * 環境基準における協力が減少し、気候変動と闘う努力が妨げられた。\n * 相互医療協定の中断により、患者ケアに課題を感じた。\n * Brexit関連の変更により、家族の居住権や市民権の申請が複雑になった。\n * 英国は、共同研究機会の減少により、研究の課題に取り組む世界的な取り組みに支障をきたすことを目の当たりにした。\n * EUの文化助成プログラムからの除外により、創造的なプロジェクトの制限に直面した。\n * 英国は、EUの資金提供の喪失により、慈善活動やコミュニティ支援の後退を目の当たりにした。\n * 消費者保護の弱体化により、国境を越えた紛争解決に課題が生じた。\n * 英国はプロの音楽家としてEU諸国をツアーする際の制限に直面し、キャリアに影響を与えた。\n\nクラスター内部での議論の例\n\n * Brexitによりサプライチェーンが混乱し、企業にとってコスト増と納期遅延につながった。\n * ブレグジットのため、市場の変動や投資・退職金の不確実性に直面した。\n * 新たな関税や通関手続きにより、英国は輸出業者として利益率の低下に対処した。\n * ブレグジット後、企業がEU市場内にとどまるために事業を移転したため、雇用を失った。\n * 英国は輸入品価格の高騰による生活費の増加に苦しんだ。\n * 英国のハイテク産業への投資が減少し、技術革新と雇用機会に影響を与えた。\n * 新たなビザ規制による観光客の減少を目の当たりにし、接客業に影響。\n * ポンド価値の下落により購買力が低下し、旅費が増加した。\n\n\n/ai \n\n財務上のマイナス影響\n","model":"gpt-4o"},"takeaways":{"sample_size":30,"source_code":"\"\"\"Create summaries for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nimport os\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef takeaways(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/takeaways.csv\"\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n clusters = pd.read_csv(f\"outputs/{dataset}/clusters.csv\")\n\n results = pd.DataFrame()\n\n sample_size = config['takeaways']['sample_size']\n prompt = config['takeaways']['prompt']\n model = config['takeaways']['model']\n\n model = config.get('model_takeaways', config.get('model', 'gpt3.5-turbo'))\n cluster_ids = clusters['cluster-id'].unique()\n\n update_progress(config, total=len(cluster_ids))\n\n for _, cluster_id in tqdm(enumerate(cluster_ids), total=len(cluster_ids)):\n args_ids = clusters[clusters['cluster-id']\n == cluster_id]['arg-id'].values\n args_ids = np.random.choice(args_ids, size=min(\n len(args_ids), sample_size), replace=False)\n args_sample = arguments[arguments['arg-id']\n .isin(args_ids)]['argument'].values\n label = generate_takeaways(args_sample, prompt, model)\n results = pd.concat([results, pd.DataFrame(\n [{'cluster-id': cluster_id, 'takeaways': label}])], ignore_index=True)\n update_progress(config, incr=1)\n\n results.to_csv(path, index=False)\n\n\ndef generate_takeaways(args_sample, prompt, model):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n input = \"\\n\".join(args_sample)\n response = llm(messages=messages(prompt, input)).content.strip()\n return response\n","prompt":"/system \n\nあなたはシンクタンクで働く専門家リサーチアシスタントです。あなたは、公開協議の際に参加者の一団から出された議論のリストを渡されます。あなたは、主な論点を1~2段落にまとめて回答します。あなたはとても簡潔で、読みやすい短い文章を書くことができます。\n \n/human\n\n[\n \"銃による暴力は、私たちの社会における深刻な公衆衛生の危機を構成していると固く信じています。\",\n \"包括的な銃規制策を通じて、この問題に早急に取り組む必要がある。\",\n \"すべての銃購入者に対する身元調査の実施を支持します。\",\n \"アサルト・ウェポンと大容量弾倉の禁止に賛成します。\",\n \"違法な銃の売買を防ぐため、より厳しい規制を提唱します。\",\n \"銃の購入プロセスにおいて、精神鑑定を義務付けるべきである。\"\n]\n\n/ai \n\n参加者は、包括的な銃規制を求め、普遍的な身元調査、突撃兵器の禁止、違法な銃売買の抑制、精神衛生評価の優先などを強調した。\n","model":"gpt-4o"},"overview":{"source_code":"\"\"\"Create summaries for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nimport os\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef overview(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/overview.txt\"\n\n takeaways = pd.read_csv(f\"outputs/{dataset}/takeaways.csv\")\n labels = pd.read_csv(f\"outputs/{dataset}/labels.csv\")\n\n prompt = config['overview']['prompt']\n model = config['overview']['model']\n\n ids = labels['cluster-id'].to_list()\n takeaways.set_index('cluster-id', inplace=True)\n labels.set_index('cluster-id', inplace=True)\n\n input = ''\n for i, id in enumerate(ids):\n input += f\"# Cluster {i}/{len(ids)}: {labels.loc[id]['label']}\\n\\n\"\n input += takeaways.loc[id]['takeaways'] + '\\n\\n'\n\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n response = llm(messages=messages(prompt, input)).content.strip()\n\n with open(path, 'w') as file:\n file.write(response)\n","prompt":"/system \n\nあなたはシンクタンクで働く専門家リサーチアシスタントです。あなたのチームは、あるトピックに関する公開コンサルテーションを実施し、さまざまな選択肢のクラスターを分析し始めました。あなたは今、クラスターのリストと各クラスターの簡単な分析を受け取ります。あなたの仕事は、その結果を簡潔にまとめることです。あなたの要約は非常に簡潔でなければならず(せいぜい1段落、せいぜい4文)、平凡な表現は避けなければなりません。\n","model":"gpt-4o"},"translation":{"languages":[],"flags":[],"source_code":"\nimport json\nfrom tqdm import tqdm\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages\nfrom langchain.schema import AIMessage\nimport pandas as pd\nimport json\nfrom tqdm import tqdm\n\n\ndef translation(config):\n\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/translations.json\"\n results = {}\n\n languages = list(config.get('translation', {}).get('languages', []))\n if len(languages) == 0:\n print(\"No languages specified. Skipping translation step.\")\n # creating an empty file any, to reduce special casing later\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n return\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n labels = pd.read_csv(f\"outputs/{dataset}/labels.csv\")\n takeaways = pd.read_csv(f\"outputs/{dataset}/takeaways.csv\")\n with open(f\"outputs/{dataset}/overview.txt\") as f:\n overview = f.read()\n\n UI_copy = [\"Argument\", \"Original comment\", \"Representative arguments\",\n \"Open full-screen map\", \"Back to report\", \"Hide labels\", \"Show labels\",\n \"Show filters\", \"Hide filters\", \"Min. votes\", \"Consensus\",\n \"Showing\", \"arguments\", \"Reset zoom\", \"Click anywhere on the map to close this\",\n \"Click on the dot for details\",\n \"agree\", \"disagree\", \"Language\", \"English\", \"arguments\", \"of total\",\n \"Overview\", \"Cluster analysis\", \"Representative comments\", \"Introduction\",\n \"Clusters\", \"Appendix\", \"This report was generated using an AI pipeline that consists of the following steps\",\n \"Step\", \"extraction\", \"show code\", \"hide code\", \"show prompt\", \"hide prompt\", \"embedding\",\n \"clustering\", \"labelling\", \"takeaways\", \"overview\"]\n\n arg_list = arguments['argument'].to_list() + \\\n labels['label'].to_list() + \\\n UI_copy + \\\n languages\n\n if 'name' in config:\n arg_list.append(config['name'])\n if 'question' in config:\n arg_list.append(config['question'])\n\n prompt_file = config.get('translation_prompt', 'default')\n with open(f\"prompts/translation/{prompt_file}.txt\") as f:\n prompt = f.read()\n model = config['model']\n\n config['translation_prompt'] = prompt\n\n translations = [translate_lang(\n arg_list, 10, prompt, lang, model) for lang in languages]\n\n # handling long takeaways differently, WITHOUT batching too much\n long_arg_list = takeaways['takeaways'].to_list()\n long_arg_list.append(overview)\n if 'intro' in config:\n long_arg_list.append(config['intro'])\n\n long_translations = [translate_lang(\n long_arg_list, 1, prompt, lang, model) for lang in languages]\n\n for i, id in enumerate(arg_list):\n print('i, id', i, id)\n results[str(id)] = list([t[i] for t in translations])\n for i, id in enumerate(long_arg_list):\n results[str(id)] = list([t[i] for t in long_translations])\n\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n\n\ndef translate_lang(arg_list, batch_size, prompt, lang, model):\n translations = []\n lang_prompt = prompt.replace(\"{language}\", lang)\n print(f\"Translating to {lang}...\")\n for i in tqdm(range(0, len(arg_list), batch_size)):\n batch = arg_list[i: i + batch_size]\n translations.extend(translate_batch(batch, lang_prompt, model))\n return translations\n\n\ndef translate_batch(batch, lang_prompt, model, retries=3):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n input = json.dumps(list(batch))\n response = llm(messages=messages(lang_prompt, input)).content.strip()\n if \"```\" in response:\n response = response.split(\"```\")[1]\n if response.startswith(\"json\"):\n response = response[4:]\n try:\n parsed = [a.strip() for a in json.loads(response)]\n if len(parsed) != len(batch):\n print(\"Warning: batch size mismatch!\")\n print(\"Batch len:\", len(batch))\n print(\"Response len:\", len(parsed))\n for i, item in enumerate(batch):\n print(f\"Batch item {i}:\", item)\n if (i \u003c len(parsed)):\n print(\"Response:\", parsed[i])\n if (len(batch) \u003e 1):\n print(\"Retrying with smaller batches...\")\n mid = len(batch) // 2\n return translate_batch(batch[:mid], lang_prompt, model, retries - 1) + \\\n translate_batch(\n batch[mid:], lang_prompt, model, retries - 1)\n else:\n print(\"Retrying batch...\")\n return translate_batch(batch, lang_prompt, model, retries - 1)\n else:\n return parsed\n except json.decoder.JSONDecodeError as e:\n print(\"JSON error:\", e)\n print(\"Response was:\", response)\n if retries \u003e 0:\n print(\"Retrying batch...\")\n return translate_batch(batch, lang_prompt, model, retries - 1)\n else:\n raise e\n","prompt":"/system \n\nあなたはプロの翻訳者です。\n英語で書かれた単語と文章のリストを受け取ります。\n同じリストを同じ順番で、{language}に翻訳して返してください。\n元のリストと同じ長さの文字列の有効なJSONリストを返すようにしてください。\n\n","model":"gpt-4o"},"aggregation":{"source_code":"\"\"\"Generate a convenient JSON output file.\"\"\"\n\nfrom tqdm import tqdm\nfrom typing import List\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nimport json\n\n\ndef aggregation(config):\n\n path = f\"outputs/{config['output_dir']}/result.json\"\n\n results = {\n \"clusters\": [],\n \"comments\": {},\n \"translations\": {},\n \"overview\": \"\",\n \"config\": config,\n }\n\n arguments = pd.read_csv(f\"outputs/{config['output_dir']}/args.csv\")\n arguments.set_index('arg-id', inplace=True)\n\n comments = pd.read_csv(f\"inputs/{config['input']}.csv\")\n useful_comment_ids = set(arguments['comment-id'].values)\n for _, row in comments.iterrows():\n id = row['comment-id']\n if id in useful_comment_ids:\n res = {'comment': row['comment-body']}\n numeric_cols = ['agrees', 'disagrees']\n string_cols = ['video', 'interview', 'timestamp']\n for col in numeric_cols:\n if col in row:\n res[col] = float(row[col])\n for col in string_cols:\n if col in row:\n res[col] = row[col]\n results['comments'][str(id)] = res\n\n languages = list(config.get('translation', {}).get('languages', []))\n if len(languages) \u003e 0:\n with open(f\"outputs/{config['output_dir']}/translations.json\") as f:\n translations = f.read()\n results['translations'] = json.loads(translations)\n\n clusters = pd.read_csv(f\"outputs/{config['output_dir']}/clusters.csv\")\n labels = pd.read_csv(f\"outputs/{config['output_dir']}/labels.csv\")\n takeaways = pd.read_csv(f\"outputs/{config['output_dir']}/takeaways.csv\")\n takeaways.set_index('cluster-id', inplace=True)\n\n with open(f\"outputs/{config['output_dir']}/overview.txt\") as f:\n overview = f.read()\n results['overview'] = overview\n\n for _, row in labels.iterrows():\n cid = row['cluster-id']\n label = row['label']\n arg_rows = clusters[clusters['cluster-id'] == cid]\n arguments_in_cluster = []\n for _, arg_row in arg_rows.iterrows():\n arg_id = arg_row['arg-id']\n argument = arguments.loc[arg_id]['argument']\n comment_id = arguments.loc[arg_id]['comment-id']\n x = float(arg_row['x'])\n y = float(arg_row['y'])\n p = float(arg_row['probability'])\n obj = {\n 'arg_id': arg_id,\n 'argument': argument,\n 'comment_id': str(comment_id),\n 'x': x,\n 'y': y,\n 'p': p,\n }\n arguments_in_cluster.append(obj)\n results['clusters'].append({\n 'cluster': label,\n 'cluster_id': str(cid),\n 'takeaways': takeaways.loc[cid]['takeaways'],\n 'arguments': arguments_in_cluster\n })\n\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n"},"visualization":{"replacements":[],"source_code":"\nimport subprocess\n\n\ndef visualization(config):\n output_dir = config['output_dir']\n with open(f\"outputs/{output_dir}/result.json\") as f:\n result = f.read()\n\n cwd = \"../next-app\"\n command = f\"REPORT={output_dir} npm run build\"\n\n try:\n process = subprocess.Popen(command, shell=True, cwd=cwd, stdout=subprocess.PIPE,\n stderr=subprocess.PIPE, universal_newlines=True)\n while True:\n output_line = process.stdout.readline()\n if output_line == '' and process.poll() is not None:\n break\n if output_line:\n print(output_line.strip())\n process.wait()\n errors = process.stderr.read()\n if errors:\n print(\"Errors:\")\n print(errors)\n except subprocess.CalledProcessError as e:\n print(\"Error: \", e)\n"},"plan":[{"step":"extraction","run":false,"reason":"nothing changed"},{"step":"embedding","run":false,"reason":"nothing changed"},{"step":"clustering","run":true,"reason":"some parameters changed: clusters"},{"step":"labelling","run":true,"reason":"some dependent steps will re-run: clustering"},{"step":"takeaways","run":true,"reason":"some dependent steps will re-run: clustering"},{"step":"overview","run":true,"reason":"some dependent steps will re-run: labelling, takeaways"},{"step":"translation","run":true,"reason":"some dependent steps will re-run: labelling, takeaways, overview"},{"step":"aggregation","run":true,"reason":"some dependent steps will re-run: clustering, labelling, takeaways, overview, translation"},{"step":"visualization","run":true,"reason":"some dependent steps will re-run: aggregation"}],"status":"running","start_time":"2024-06-11T18:53:38.290268","completed_jobs":[{"step":"clustering","completed":"2024-06-11T18:53:48.747075","duration":10.452167,"params":{"clusters":10,"source_code":"\"\"\"Cluster the arguments using UMAP + HDBSCAN and GPT-4.\"\"\"\n\nimport pandas as pd\nimport numpy as np\nfrom importlib import import_module\n\n\ndef clustering(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/clusters.csv\"\n arguments_df = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n arguments_array = arguments_df[\"argument\"].values\n\n embeddings_df = pd.read_pickle(f\"outputs/{dataset}/embeddings.pkl\")\n embeddings_array = np.asarray(embeddings_df[\"embedding\"].values.tolist())\n clusters = config['clustering']['clusters']\n\n result = cluster_embeddings(\n docs=arguments_array,\n embeddings=embeddings_array,\n metadatas={\n \"arg-id\": arguments_df[\"arg-id\"].values,\n \"comment-id\": arguments_df[\"comment-id\"].values,\n },\n n_topics=clusters,\n )\n result.to_csv(path, index=False)\n\n\ndef cluster_embeddings(\n docs,\n embeddings,\n metadatas,\n min_cluster_size=2,\n n_components=2,\n n_topics=6,\n):\n # (!) we import the following modules dynamically for a reason\n # (they are slow to load and not required for all pipelines)\n SpectralClustering = import_module('sklearn.cluster').SpectralClustering\n stopwords = import_module('nltk.corpus').stopwords\n HDBSCAN = import_module('hdbscan').HDBSCAN\n UMAP = import_module('umap').UMAP\n CountVectorizer = import_module(\n 'sklearn.feature_extraction.text').CountVectorizer\n BERTopic = import_module('bertopic').BERTopic\n\n umap_model = UMAP(\n random_state=42,\n n_components=n_components,\n )\n hdbscan_model = HDBSCAN(min_cluster_size=min_cluster_size)\n\n stop = stopwords.words(\"english\")\n vectorizer_model = CountVectorizer(stop_words=stop)\n topic_model = BERTopic(\n umap_model=umap_model,\n hdbscan_model=hdbscan_model,\n vectorizer_model=vectorizer_model,\n verbose=True,\n )\n\n # Fit the topic model.\n _, __ = topic_model.fit_transform(docs, embeddings=embeddings)\n\n n_samples = len(embeddings)\n n_neighbors = min(n_samples - 1, 10)\n spectral_model = SpectralClustering(\n n_clusters=n_topics,\n affinity=\"nearest_neighbors\",\n n_neighbors=n_neighbors, # Use the modified n_neighbors\n random_state=42\n )\n umap_embeds = umap_model.fit_transform(embeddings)\n cluster_labels = spectral_model.fit_predict(umap_embeds)\n\n result = topic_model.get_document_info(\n docs=docs,\n metadata={\n **metadatas,\n \"x\": umap_embeds[:, 0],\n \"y\": umap_embeds[:, 1],\n },\n )\n\n result.columns = [c.lower() for c in result.columns]\n result = result[['arg-id', 'x', 'y', 'probability']]\n result['cluster-id'] = cluster_labels\n\n return result\n"}},{"step":"labelling","completed":"2024-06-11T18:53:58.908735","duration":10.160684,"params":{"sample_size":30,"source_code":"\"\"\"Create labels for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef labelling(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/labels.csv\"\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n clusters = pd.read_csv(f\"outputs/{dataset}/clusters.csv\")\n\n results = pd.DataFrame()\n\n sample_size = config['labelling']['sample_size']\n prompt = config['labelling']['prompt']\n model = config['labelling']['model']\n\n question = config['question']\n cluster_ids = clusters['cluster-id'].unique()\n\n update_progress(config, total=len(cluster_ids))\n\n for _, cluster_id in tqdm(enumerate(cluster_ids), total=len(cluster_ids)):\n args_ids = clusters[clusters['cluster-id']\n == cluster_id]['arg-id'].values\n args_ids = np.random.choice(args_ids, size=min(\n len(args_ids), sample_size), replace=False)\n args_sample = arguments[arguments['arg-id']\n .isin(args_ids)]['argument'].values\n\n args_ids_outside = clusters[clusters['cluster-id']\n != cluster_id]['arg-id'].values\n args_ids_outside = np.random.choice(args_ids_outside, size=min(\n len(args_ids_outside), sample_size), replace=False)\n args_sample_outside = arguments[arguments['arg-id']\n .isin(args_ids_outside)]['argument'].values\n\n label = generate_label(question, args_sample,\n args_sample_outside, prompt, model)\n results = pd.concat([results, pd.DataFrame(\n [{'cluster-id': cluster_id, 'label': label}])], ignore_index=True)\n update_progress(config, incr=1)\n\n results.to_csv(path, index=False)\n\n\ndef generate_label(question, args_sample, args_sample_outside, prompt, model):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n outside = '\\n * ' + '\\n * '.join(args_sample_outside)\n inside = '\\n * ' + '\\n * '.join(args_sample)\n input = f\"Question of the consultation:{question}\\n\\n\" + \\\n f\"Examples of arguments OUTSIDE the cluster:\\n {outside}\" + \\\n f\"Examples of arguments INSIDE the cluster:\\n {inside}\"\n response = llm(messages=messages(prompt, input)).content.strip()\n return response\n","prompt":"/system \n\nあなたは、より広範なコンサルテーション内の一連の議論に対するカテゴリラベルを生成するカテゴリラベリングアシスタントです。あなたには、相談の主な質問、クラスタ内の議論のリスト、およびこのクラスタ外の議論のリストが与えられます。あなたはクラスターを要約する1つのカテゴリーラベルで回答します。\n\nあなたは、より広範なコンサルテーション内の一連の議論に対するカテゴリラベルを生成するカテゴリラベリングアシスタントです。あなたには、相談の主な質問、クラスタ内の議論のリスト、およびこのクラスタ外の議論のリストが与えられます。あなたはクラスターを要約する1つのカテゴリーラベルで回答します。\n\nラベルは非常に簡潔でなければならず、クラスターとその外側にある論点を区別するのに十分な正確さでなければならない。\n\n/human\n\nコンサルテーションの質問 「英国のEU離脱決定の影響は何だと思いますか?\n\n関心のあるクラスター以外の論点の例\n\n * エラスムス・プログラムからの除外により、教育・文化交流の機会が制限された。\n * 英国は、国境検問の強化による旅行時間の延長に対処し、通勤客や旅行客に影響を与えた。\n * 環境基準における協力が減少し、気候変動と闘う努力が妨げられた。\n * 相互医療協定の中断により、患者ケアに課題を感じた。\n * Brexit関連の変更により、家族の居住権や市民権の申請が複雑になった。\n * 英国は、共同研究機会の減少により、研究の課題に取り組む世界的な取り組みに支障をきたすことを目の当たりにした。\n * EUの文化助成プログラムからの除外により、創造的なプロジェクトの制限に直面した。\n * 英国は、EUの資金提供の喪失により、慈善活動やコミュニティ支援の後退を目の当たりにした。\n * 消費者保護の弱体化により、国境を越えた紛争解決に課題が生じた。\n * 英国はプロの音楽家としてEU諸国をツアーする際の制限に直面し、キャリアに影響を与えた。\n\nクラスター内部での議論の例\n\n * Brexitによりサプライチェーンが混乱し、企業にとってコスト増と納期遅延につながった。\n * ブレグジットのため、市場の変動や投資・退職金の不確実性に直面した。\n * 新たな関税や通関手続きにより、英国は輸出業者として利益率の低下に対処した。\n * ブレグジット後、企業がEU市場内にとどまるために事業を移転したため、雇用を失った。\n * 英国は輸入品価格の高騰による生活費の増加に苦しんだ。\n * 英国のハイテク産業への投資が減少し、技術革新と雇用機会に影響を与えた。\n * 新たなビザ規制による観光客の減少を目の当たりにし、接客業に影響。\n * ポンド価値の下落により購買力が低下し、旅費が増加した。\n\n\n/ai \n\n財務上のマイナス影響\n","model":"gpt-4o"}},{"step":"takeaways","completed":"2024-06-11T18:54:41.201679","duration":42.284344,"params":{"sample_size":30,"source_code":"\"\"\"Create summaries for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nimport os\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef takeaways(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/takeaways.csv\"\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n clusters = pd.read_csv(f\"outputs/{dataset}/clusters.csv\")\n\n results = pd.DataFrame()\n\n sample_size = config['takeaways']['sample_size']\n prompt = config['takeaways']['prompt']\n model = config['takeaways']['model']\n\n model = config.get('model_takeaways', config.get('model', 'gpt3.5-turbo'))\n cluster_ids = clusters['cluster-id'].unique()\n\n update_progress(config, total=len(cluster_ids))\n\n for _, cluster_id in tqdm(enumerate(cluster_ids), total=len(cluster_ids)):\n args_ids = clusters[clusters['cluster-id']\n == cluster_id]['arg-id'].values\n args_ids = np.random.choice(args_ids, size=min(\n len(args_ids), sample_size), replace=False)\n args_sample = arguments[arguments['arg-id']\n .isin(args_ids)]['argument'].values\n label = generate_takeaways(args_sample, prompt, model)\n results = pd.concat([results, pd.DataFrame(\n [{'cluster-id': cluster_id, 'takeaways': label}])], ignore_index=True)\n update_progress(config, incr=1)\n\n results.to_csv(path, index=False)\n\n\ndef generate_takeaways(args_sample, prompt, model):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n input = \"\\n\".join(args_sample)\n response = llm(messages=messages(prompt, input)).content.strip()\n return response\n","prompt":"/system \n\nあなたはシンクタンクで働く専門家リサーチアシスタントです。あなたは、公開協議の際に参加者の一団から出された議論のリストを渡されます。あなたは、主な論点を1~2段落にまとめて回答します。あなたはとても簡潔で、読みやすい短い文章を書くことができます。\n \n/human\n\n[\n \"銃による暴力は、私たちの社会における深刻な公衆衛生の危機を構成していると固く信じています。\",\n \"包括的な銃規制策を通じて、この問題に早急に取り組む必要がある。\",\n \"すべての銃購入者に対する身元調査の実施を支持します。\",\n \"アサルト・ウェポンと大容量弾倉の禁止に賛成します。\",\n \"違法な銃の売買を防ぐため、より厳しい規制を提唱します。\",\n \"銃の購入プロセスにおいて、精神鑑定を義務付けるべきである。\"\n]\n\n/ai \n\n参加者は、包括的な銃規制を求め、普遍的な身元調査、突撃兵器の禁止、違法な銃売買の抑制、精神衛生評価の優先などを強調した。\n","model":"gpt-4o"}},{"step":"overview","completed":"2024-06-11T18:54:48.365153","duration":7.159474,"params":{"source_code":"\"\"\"Create summaries for the clusters.\"\"\"\n\nfrom tqdm import tqdm\nimport os\nfrom typing import List\nimport numpy as np\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages, update_progress\n\n\ndef overview(config):\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/overview.txt\"\n\n takeaways = pd.read_csv(f\"outputs/{dataset}/takeaways.csv\")\n labels = pd.read_csv(f\"outputs/{dataset}/labels.csv\")\n\n prompt = config['overview']['prompt']\n model = config['overview']['model']\n\n ids = labels['cluster-id'].to_list()\n takeaways.set_index('cluster-id', inplace=True)\n labels.set_index('cluster-id', inplace=True)\n\n input = ''\n for i, id in enumerate(ids):\n input += f\"# Cluster {i}/{len(ids)}: {labels.loc[id]['label']}\\n\\n\"\n input += takeaways.loc[id]['takeaways'] + '\\n\\n'\n\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n response = llm(messages=messages(prompt, input)).content.strip()\n\n with open(path, 'w') as file:\n file.write(response)\n","prompt":"/system \n\nあなたはシンクタンクで働く専門家リサーチアシスタントです。あなたのチームは、あるトピックに関する公開コンサルテーションを実施し、さまざまな選択肢のクラスターを分析し始めました。あなたは今、クラスターのリストと各クラスターの簡単な分析を受け取ります。あなたの仕事は、その結果を簡潔にまとめることです。あなたの要約は非常に簡潔でなければならず(せいぜい1段落、せいぜい4文)、平凡な表現は避けなければなりません。\n","model":"gpt-4o"}},{"step":"translation","completed":"2024-06-11T18:54:48.376311","duration":0.00577,"params":{"languages":[],"flags":[],"source_code":"\nimport json\nfrom tqdm import tqdm\nimport pandas as pd\nfrom langchain.chat_models import ChatOpenAI\nfrom utils import messages\nfrom langchain.schema import AIMessage\nimport pandas as pd\nimport json\nfrom tqdm import tqdm\n\n\ndef translation(config):\n\n dataset = config['output_dir']\n path = f\"outputs/{dataset}/translations.json\"\n results = {}\n\n languages = list(config.get('translation', {}).get('languages', []))\n if len(languages) == 0:\n print(\"No languages specified. Skipping translation step.\")\n # creating an empty file any, to reduce special casing later\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n return\n\n arguments = pd.read_csv(f\"outputs/{dataset}/args.csv\")\n labels = pd.read_csv(f\"outputs/{dataset}/labels.csv\")\n takeaways = pd.read_csv(f\"outputs/{dataset}/takeaways.csv\")\n with open(f\"outputs/{dataset}/overview.txt\") as f:\n overview = f.read()\n\n UI_copy = [\"Argument\", \"Original comment\", \"Representative arguments\",\n \"Open full-screen map\", \"Back to report\", \"Hide labels\", \"Show labels\",\n \"Show filters\", \"Hide filters\", \"Min. votes\", \"Consensus\",\n \"Showing\", \"arguments\", \"Reset zoom\", \"Click anywhere on the map to close this\",\n \"Click on the dot for details\",\n \"agree\", \"disagree\", \"Language\", \"English\", \"arguments\", \"of total\",\n \"Overview\", \"Cluster analysis\", \"Representative comments\", \"Introduction\",\n \"Clusters\", \"Appendix\", \"This report was generated using an AI pipeline that consists of the following steps\",\n \"Step\", \"extraction\", \"show code\", \"hide code\", \"show prompt\", \"hide prompt\", \"embedding\",\n \"clustering\", \"labelling\", \"takeaways\", \"overview\"]\n\n arg_list = arguments['argument'].to_list() + \\\n labels['label'].to_list() + \\\n UI_copy + \\\n languages\n\n if 'name' in config:\n arg_list.append(config['name'])\n if 'question' in config:\n arg_list.append(config['question'])\n\n prompt_file = config.get('translation_prompt', 'default')\n with open(f\"prompts/translation/{prompt_file}.txt\") as f:\n prompt = f.read()\n model = config['model']\n\n config['translation_prompt'] = prompt\n\n translations = [translate_lang(\n arg_list, 10, prompt, lang, model) for lang in languages]\n\n # handling long takeaways differently, WITHOUT batching too much\n long_arg_list = takeaways['takeaways'].to_list()\n long_arg_list.append(overview)\n if 'intro' in config:\n long_arg_list.append(config['intro'])\n\n long_translations = [translate_lang(\n long_arg_list, 1, prompt, lang, model) for lang in languages]\n\n for i, id in enumerate(arg_list):\n print('i, id', i, id)\n results[str(id)] = list([t[i] for t in translations])\n for i, id in enumerate(long_arg_list):\n results[str(id)] = list([t[i] for t in long_translations])\n\n with open(path, 'w') as file:\n json.dump(results, file, indent=2)\n\n\ndef translate_lang(arg_list, batch_size, prompt, lang, model):\n translations = []\n lang_prompt = prompt.replace(\"{language}\", lang)\n print(f\"Translating to {lang}...\")\n for i in tqdm(range(0, len(arg_list), batch_size)):\n batch = arg_list[i: i + batch_size]\n translations.extend(translate_batch(batch, lang_prompt, model))\n return translations\n\n\ndef translate_batch(batch, lang_prompt, model, retries=3):\n llm = ChatOpenAI(model_name=model, temperature=0.0)\n input = json.dumps(list(batch))\n response = llm(messages=messages(lang_prompt, input)).content.strip()\n if \"```\" in response:\n response = response.split(\"```\")[1]\n if response.startswith(\"json\"):\n response = response[4:]\n try:\n parsed = [a.strip() for a in json.loads(response)]\n if len(parsed) != len(batch):\n print(\"Warning: batch size mismatch!\")\n print(\"Batch len:\", len(batch))\n print(\"Response len:\", len(parsed))\n for i, item in enumerate(batch):\n print(f\"Batch item {i}:\", item)\n if (i \u003c len(parsed)):\n print(\"Response:\", parsed[i])\n if (len(batch) \u003e 1):\n print(\"Retrying with smaller batches...\")\n mid = len(batch) // 2\n return translate_batch(batch[:mid], lang_prompt, model, retries - 1) + \\\n translate_batch(\n batch[mid:], lang_prompt, model, retries - 1)\n else:\n print(\"Retrying batch...\")\n return translate_batch(batch, lang_prompt, model, retries - 1)\n else:\n return parsed\n except json.decoder.JSONDecodeError as e:\n print(\"JSON error:\", e)\n print(\"Response was:\", response)\n if retries \u003e 0:\n print(\"Retrying batch...\")\n return translate_batch(batch, lang_prompt, model, retries - 1)\n else:\n raise e\n","prompt":"/system \n\nあなたはプロの翻訳者です。\n英語で書かれた単語と文章のリストを受け取ります。\n同じリストを同じ順番で、{language}に翻訳して返してください。\n元のリストと同じ長さの文字列の有効なJSONリストを返すようにしてください。\n\n","model":"gpt-4o"}}],"lock_until":"2024-06-11T18:59:48.380338","current_job":"aggregation","current_job_started":"2024-06-11T18:54:48.380311"}}},"__N_SSG":true},"page":"/","query":{},"buildId":"aZQl6X8wn0bor6WDO4T50","assetPrefix":".","isFallback":false,"gsp":true,"scriptLoader":[]}</script>
</body>
</html>