%#!platex -kanji=%k
%#DVIPDF dvipdfmx -f ipa.map
\documentclass{jsbook}
%\pagestyle{empty}
\usepackage[dvipdfmx]{graphicx}
%\usepackage{listings, jlisting}
%\usepackage[sectionbib]{chapterbib}
\usepackage{ascmac}
\usepackage{geometry}
\usepackage{url}		% 文中にURLを書くときは \url{} で括る
\geometry{textwidth=160mm, textheight=225mm}
\renewcommand{\bibname}{参考文献}

\begin{document}
\begin{titlepage}
  \title{インターネット上の書き込みによる誹謗中傷の対策システムの提案}
  \author{廣瀬研究室4年 \\
    C1182369 吉野凌太}
  \date{}
  \maketitle
\thispagestyle{empty}
\end{titlepage}

\newpage
　
\newpage

\begin{center}
 {\bfseries 概要}
\end{center}
インターネット上の掲示板やコメント欄での発言内容は，発言者が読み手を傷つけるつもりがなかったとしても誹謗中傷にあたることがあり，そのようなコメントによる苦悩から命を絶ってしまう人もいる。そうした被害者を出さないために，人を不快にさせたり，苦しませたりするような言葉の一覧である誹謗中傷表現辞書をつくり，その中のものに一致したら，「不快にさせるメッセージが含まれています」などと表示する。そして，書き手には書いた内容の意味，読み手には自分が不快になる恐れのある書き込み内容を読みたいかを確認させ，精神的な苦痛をなくすシステムを提案する。（267文字）

\setcounter{tocdepth}{1}
\tableofcontents

\clearpage



\chapter{はじめに}
はじめに，本研究にするに至った背景などを以下に述べる。


\section{背景}
インターネットを介して行われる会話では，誰でも簡単に好きな情報を発信したり，得ることができるといったメリットがあるが，デメリットもある。それは，匿名性が高く「他の人もしているから」という集団心理が働くことで攻撃性が高まるため，他人の気持ちを考えない自分勝手な発言がしやすいことである。さらに，そのような根拠のないコメントを鵜呑みにし，便乗して誹謗中傷をする人もいる。

それによって苦しむ被害者が年々増えていることが問題となっている\cite{higaikensuu}。また，読み手に嫌な思いをさせるつもりがなく，知らない間に加害者になってしまっている人もいる。

誹謗中傷を行ってしまう理由としては，嫉妬やストレスの解消，自分の弱い部分を隠したり，自分の強さ，賢さ（優位性，正当性）を示すため，また，相手がどのように反応するかをみてを楽しむためにしている人もいる。


\section{誹謗中傷件数}

\begin{figure}[tbp]
  \centering
  \includegraphics[width=16cm]{kensuu.pdf}
  \caption{インターネット上の人権侵害情報に関する事件数\cite{higaikensuu}}
  \label{kensuu}
\end{figure}

平成29年度の法務省の人権擁護機関の取り組み\cite{higaikensuu}によると，インターネット上の人権侵害情報に関する事件数が，2,217件（対前年比16.1％増加）で，5年連続して過去最高件数となっている（図\ref{kensuu}）。


\section{インターネット上の会話の例}
以下は，インターネットを介して会話がなされているアプリケーションや掲示板の例である。

\begin{itemize}
\item Twitter（ツイッター）
\item Facebook（フェイスブック）
\item LINE（ライン）
\item YouTubeのコメント欄
\item 5ちゃんねる
\end{itemize}


\section{目的}
\section{目的}
特にインターネットをよく使い，その影響を受けやすい人が気分を害さず，発言ができ，意見をきくことができるシステムを考案，構築する。

そして，最終的には，既存のアプリケーションや電子掲示板などに導入できるようにする。



\chapter{過去の事例とそれに対する問題提起}
以下に，先行研究の重点と課題点を述べる。


\section{「Web上の誹謗中傷を表す文の自動検出」・石坂達也，山本和英}
\begin{itemize}
\item ポイント: 電子掲示板サイトの書き込みを入力文や学習データに使用し，高いほど悪口単語である可能性が高いという意味の単語の「悪口度」を算出して，悪口文と非悪口文の分類をしている。
\item  課題点: 「競馬鹿」という単語の場合，単語分割をする際に「競馬」と「鹿」という悪口度の低い単語に分割される。全ての造語に対して対応はできていない。
\end{itemize}


\section{「格要素の抽象化に基づく違法・有害文書検出手法の提案と評価」・池田和史，柳原正，松本一則，滝嶋康弘}
\begin{itemize}
\item ポイント: キーワードリストを生成した後，例えば「爆破」をキーワードとすると「炭鉱」は有害性が低く「学校」は有害性が高いということを算出していた。
\item 課題点: キーワードリストを作成しなければ，参照できない。
\end{itemize}



\chapter{提案}

\begin{figure}[tbp]
  \centering
  \includegraphics[width=16cm]{teiansyuhou.pdf}
  \caption{提案手法}
  \label{teiansyuhou}
\end{figure}

このシステムでは誹謗中傷に成り得る単語・文章があったら，書き手だけでなく読み手にも警告文を出すようにする（図\ref{teiansyuhou}）。



\chapter{システムの設計}
以下に，システムの要件を述べる。

\begin{itemize}
\item 例えば「死」という単語だけに反応してしまうと「『死』について考えさせられた」や「あの蜂に刺されると最悪死ぬんだよな」といった感想や意見を誹謗中傷の表現があると誤認する恐れがあるので，単語と単語の有害度・違法度を抽出し，それを使用する。

\item 単語と単語を合体させてできた造語であっても，単語ごとに分け，どれかに誹謗中傷に成り得るものがあれば，それを作成するプログラムで判断し，その造語を省く。
\end{itemize}



\chapter{システムの開発}


\section{開発環境}

\begin{description}
\item[Ruby]
\item[HTML]
\item[CSV]
\end{description}


\section{誹謗中傷表現辞書のファイル}
誹謗中傷表現辞書は，Googleの検索エンジンで「ネットスラング」と調べ，その中で誹謗中傷に成り得る単語を情報としてCSVファイルに手動で記録したものとする。

以下がそのCSVファイル「list.csv」の一部である。

\begin{screen}
\begin{verbatim}                                                                 
word,meaning
キモオタ,気持ち悪いオタク
香ばしい,頭おかしい、痛々しい
マジキチ,マジでキチガイじみてるからやめろ、マジでキチガイじみてる
池沼,知的障害
沼,知的障害
ピザ,太っている
厨,中毒
自宅警備員,ひきこもり、ニート                                                    
\end{verbatim}
\end{screen}


\section{誹謗中傷表現の有無を確認をするプログラム}
Rubyの正規表現を使って，ユーザがインターネット上に書き込もうとしている，もしくはSNSに投稿しようとしている文章の中に，作成したCSVファイルの誹謗中傷表現辞書にある単語が含まれていたら警告文と単語の意味を表示する。

以下は，そのプログラム「check.rb」の一部である。

\begin{screen}
\begin{verbatim}                                                                 
#!/usr/bin/env ruby                                                              
#-*- coding: utf-8 -*-                                                           
                                                                                 
require 'csv'                                                                    
                                                                                 
printf("試しに何か入力:\n")                                                      
input = STDIN.gets.chomp                                                         
                                                                                 
list = CSV.table('list.csv', headers: true).map(&:to_h)
                                                                              
check = false                                                                    
                                                                                 
list.each do |value|                                                             
  if input =~ /#{value.dig(:word)}/                                              
    check = true                                                                 
    puts("\n言葉: #{value.dig(:word)}\n意味: #{value.dig(:meaning)}")
  end                                                                            
end                                                                              
                                                                                 
if check == true                                                                 
  puts("\n警告！！\nあなたの入力内容には、上記の誹謗中傷表現があります。")       
end                                                                                 
if check == false                                                                
  puts("\nあなたの入力内容には、誹謗中傷表現はありません。")                     
end                                                                              
\end{verbatim}
\end{screen}


以下は，上記のプログラムの実行結果である。

\begin{screen}
\begin{verbatim}                                                                 
$ ruby check.rb                                                                  
試しに何か入力:                                                                  
お前は香ばしいキモオタだなww                                                     
                                                                                 
言葉: キモオタ                                                                   
意味: 気持ち悪いオタク                                                           
                                                                                 
言葉: 香ばしい                                                                   
意味: 頭おかしい、痛々しい                                                       
                                                                                 
警告！！                                                                         
あなたの入力内容には、上記の誹謗中傷表現があります。                             
\end{verbatim}
\end{screen}


\section{テキストデータの収集方法}

\begin{figure}[tbp]
  \centering
  \includegraphics[width=7cm]{system_figure.pdf}
  \caption{システムの動作概念図}
  \label{system}
\end{figure}

まず，Rubyのパッケージ「open-uri」を用いて，URLからHTMLファイルを取得する。次に，パッケージ「nokogiri」を用い，取得したHTMLファイルから書き込みの要素を抽出し，テキストデータとして収集する。そして，\ref{check_program}節のプログラムによって，誹謗中傷表現が含まれているかどうかを確認する（図\ref{system}）。

以下は，その収集を行うプログラムである。標準入力のURLからHTMLファイルのp要素を抽出している。

\begin{screen}
\begin{verbatim}                                                                
require 'nokogiri'                                                              
require 'open-uri'                                                              
                                                                                
url = STDIN.gets.chomp                                                          
                                                                                
charset = nil                                                                   
html = open(url) do |f|                                                         
  charset = f.charset                                                           
  f.read                                                                        
end                                                                             
                                                                                
doc = Nokogiri::HTML.parse(html, nil, charset)                                        
p doc.css('p').text.strip                                                       
\end{verbatim}
\end{screen}



\chapter{実験}



\chapter{考察}



\chapter{まとめ}
最後に，本研究の課題と今後の展望を以下に述べる。


\section{課題}
課題としては，形態素解析をし，誹謗中傷に成り得る単語や文章を自動的に検出できるようにすることである。

また，新しくネットスラング等が生み出される度に，誹謗中傷表現辞書を更新しなければならず，手間がかかるため，克服するための何らかの手段が必要になると考えている。


\section{今後の展望}
現状から，「お前の知能はサル以下だ」といった比喩表現を用いた文章の検出ができるようにすることが今後の展望である。



\begin{thebibliography}{}
 \bibitem{higaikensuu} 法務省. 平成２９年における「人権侵犯事件」の状況について（概要）～法務省の人権擁護機関の取組～. \url{http://www.moj.go.jp/content/001253506.pdf}. （参照 2020-12-04）.

 \bibitem{tangokensyutu} 石坂達也, 山本和英. Web上の誹謗中傷を表す文の自動検出. 言語処理学会第17回年次大会, E1-6, pp. 131-134, 2011

 \bibitem{bunsyokensyutu} 池田和史, 柳原正, 松本一則, 滝嶋康弘. 格要素の抽象化に基づく違法・有害文書検出手法の提案と評価. 情報処理学会第72回全国大会, 5D-4, pp. 2-71-2-72, 2010

 \bibitem{zisyo_tukurikata} 大友泰賀, 張建偉, 中島伸介, 李琳. いじめ表現辞書を用いたTwitter上のネットいじめの自動検出. 第12回データ工学と情報マネジメントに関するフォーラム（第18回日本データベース学会年次大会）, C7-1, p22, 2020

 \bibitem{sns} 荻野敏樹. SNSの歴史. 京都学園大学人間文化学会 学生論文集編集委員会. 2019年3月. 人文学部学生論文集 第17号. \url{https://lab.kuas.ac.jp/~jinbungakkai/pdf/2018/p2018_01.pdf}. （参照 2020-12-29）.
\end{thebibliography}

\end{document}
