都議会だよりにある会議録のうち、議員の発言などを利用してその議員の属する会派の議題に対しての賛否を予測する。
リンク準備中
前述のタスクに対して、ルールベースで取り組んだスクリプト。 定例会の議事録のみ使用。 各会期の終盤には、各会派から代表者が自分の立場を明らかにして討論を行う部分があるので、そこから意見を引っ張って来た。
ただし、討論を行わない会派も存在する。 このスクリプトではそういった会派を無視して、討論を行なった会派のみを有効回答として扱った。
-
NTCIR15-rulebase.py
- 実行用スクリプト
-
NTCIR15Util.py
- 使う(予定だった)関数など
-
README.md
- 説明書MDファイル
プログラムを実行するには、漢字と数字の変換を行うライブラリのkanjizeが必要になります。
pip3 install kanjize
自分の実行環境に合わせて適切にインストールしてください。
PATHは適宜読み替えてください。
- 単一ファイルを対象とする場合
python NTCIR15-rulebase.py 出題jsonファイル 本会議/定例会/議事録jsonファイル
- 複数ファイルを対象とする場合
python NTCIR-rulebase.py -d 出題jsonファイルの入っているディレクトリ 本会議/定例会/議事録jsonファイル
実行用スクリプトのフラグを弄ってなければ、このように出力が出ます。(複数ファイル対象の場合)
$ python NTCIR15-rulebase.py -d ../../question-seat-JSON/training ../../tokyo-proceedings-JSON/honkaigi/teireikai/utterances_tokyo_proceeding_withURL.json
------------------------------総合評価------------------------------
正解 : 12679
有効不正解 : 968
無回答 : 9746
正答率 : 12679 / 23393, 54.20 %
有効回答率 : 13647 / 23393, 58.34 %
正答率(有効回答) : 12679 / 13647, 92.91 %
表示された要素は、以下を示します。
-
正解
- 議題に対してのそれぞれの会派の賛否予測のうち、正解した個数を示します。
-
有効不正解
- 有効な(=会期後半に立場表明して討論を行なっている)会派の賛否予測のうち、予測に失敗したものを示します。
-
無回答
- 有効でない回答の個数を示します。
-
正答率
- 有効でない回答を含めた正解の割合を示します。 (正解 / 総予測数)
-
有効回答率
- 総予測のうち、有効であった予測の割合を示します。 ( 有効予測数 / 総予測数 )
-
正答率(有効回答)
- 有効予測のうち、正解した割合を示します。 ( 正解 / 有効予測数 )
つまり、上記の実行結果では全ての会派のうち、6割弱程度が会期後半に立場表明して討論を行なっており、これを元にしてルールベースで抽出すると9割ちょっとぐらいの精度で予測できる、といった具合になります。
実行用スクリプトLine:26の以下のフラグをTrue
にすると、抽出の途中の様子などが見れるので改変の際はご利用下さい。
SHOW_INFO_PRINT = False