<commit_before>\documentclass[12pt,unicode]{beamer}
%\usetheme{Frankfurt}
\usetheme{CambridgeUS}

\usepackage{luatexja}
%\usepackage{titling}
\geometry{paper=a4paper}

\title{カテゴリ間の関連性を利用した多層ニューラルネットワークによる文書分類}
\author{外山洋太、三輪誠、佐々木裕}
\institute{豊田工業大学 工学部 先端工学基礎学科}
\date{}

\begin{document}
\begin{frame}{}
\maketitle
\vspace{-5ex}
\begin{columns}[t]
\begin{column}{0.49\textwidth}

\begin{block}{1. 背景と目的}
自然言語処理の一分野である文書分類は、大量の文書処理を必要とするWWWからの
情報抽出等に欠かせない。その文書分類の一つに、文書を複数のカテゴリについて
分類するものがある。カテゴリとはラベルが付けられる各項目のことである。
これに関する従来の手法[1]では、カテゴリ同士の関連性を手動で変化させ
考慮している。また、そこで用いられている文書の数値表現であるBoWは
文書内の語順を無視している。
そこで、本研究は、よりよい文書の数値表現を用いながら、カテゴリ間の関連性を
機械学習によって考慮した文書分類を実現することを目的とする。
\end{block}

\begin{block}{2. 関連研究}
2.1. カテゴリ間の関連性を用いた文書分類
カテゴリ間の関連性を用いた文書分類を扱った研究に、隠れ状態を用いた
ホテルレビューのレーティング予測[1]がある。この研究では、文書内の各文に対して
推定した隠れレーティングとレビュー全体のレーティングとの繋がりを変化させ、
カテゴリ間の関連性を考慮した分類を行っている。
2.2. パラグラフベクトル
　文書の数値表現の一つとして、Leら[2]が提案したパラグラフベクトルがある。
この研究は、それが文書分類に有用であることを実験により示している。また、
パラグラフベクトルの学習手法に関する研究として、森ら[3]がある。この研究では、
単語同士の位置関係を考慮した単語ベクトルの学習手法vLBL+vLBL(c)について、
パラグラフベクトルまたは文ベクトルも同時に学習する手法を提案している。
\end{block}

\begin{block}{3. 提案手法}
　文書の意味を的確に表現するためにvLBL+vLBL(c)の応用手法によって生成した
パラグラフベクトル及び文ベクトルを、カテゴリ間の関連性を考慮するために
多層ニューラルネットワーク（NN）による分類器を用いた文書分類を行う。
まず、パラグラフベクトルに加え文ベクトルを導入したvLBL+vLBL(c)を提案し、
語順と単語同士の位置関係を考慮した文書の数値表現を生成する（図1）。
ここで、文ベクトル学習時の目的関数gには以下の式を用いる。

式1

tは現在の単語の位置、ctとwtはそれぞれ文脈と単語を表すベクトル、sは位置関係を
考慮した単語と文脈の類似度である。上式により、現在の単語は文脈と意味が
近くなるように、文脈外の単語t'については単語の頻度分布PnについてK回サンプルし
文脈と意味が遠くなるように学習を行う。また、σはシグモイド関数である。
次に、多層NNへの入力をパラグラフベクトル、及び、各文ベクトルの
平均ベクトルとし、出力をカテゴリ毎のラベルとして教師有り学習を行う。
分類時も同様な処理を行いラベルを推定する。

図1. 単語及び文、文章ベクトルの学習
\end{block}

\end{column}
\begin{column}{0.49\textwidth}

\begin{block}{4. 実験}
　文書の数値表現としてパラグラフベクトルが有効かを調査するため予備実験を
行った。パラグラフベクトルの学習手法としてはvLBL+vLBL(c)を、分類器としては
SVMまたは多層NNを用い、従来の手法[1]と同じ多値分類問題の精度を測定した。
4.1. 実験設定
入力データは、宿泊予約サイト楽天トラベルにおける各ホテルレビューの
コメント部分とそのユーザが付けた食事、サービスなど7カテゴリのレーティングの
組である。各カテゴリのレーティングは評価なしを含む6段階評価である。
全レビュー338,028件の内、訓練データとして300,000件、評価データとして
10,000件を用いた。
　プログラム上の主なパラメータを表1に示す。現在の単語の学習に影響する範囲を
その単語の前後5単語とした。単語及びパラグラフベクトルの次元は400次元とし、
多層NNの入力は位置を考慮した及び考慮していない2つのパラグラフベクトルとした。

4.2. 結果及び考察
　表2の実験結果より、多層NNを用いた方がSVMより4.1pp精度が高かった。
しかし、多層NNを用いた手法でも、従来の手法[1]における精度を10pp以上
下回っている。精度を高めるためには、文ベクトルとパラグラフベクトルを
組み合わせより表現力の高い文書の数値表現を評価することや、多層NNの
パラメータ最適化が必要である。

表1. 点数推定プログラムのパラメータ設定
項目
値
学習する単語の範囲
前後5単語
単語の最少出現回数
5回
ベクトルの次元数
400
中間層の数
1
入力層でのニューロン数
800個
中間層でのニューロン数
200個

表2. 各手法における点数推定精度
項目
点数推定の精度(\%)
実験での手法（SVM）
33.6
実験での手法（多層NN）
37.7
従来の手法[1]
48.3
\end{block}

\begin{block}{5. まとめと今後の課題}
　本研究では、カテゴリ間の関連性を考慮した文書分類を行うため
パラグラフベクトルと多層NNを用いた手法を提案した。実験結果より、
さらに精度を高めるためには手法のさらなる改善が必要であることが分かった。
今後の課題は、文ベクトルの評価と多層NNのパラメータ最適化である。
その後、提案手法の有用性を評価する。また、さらに精度を高めるため、
文書の表現学習及び分類器に関する新たな改良策の提案を目指す。
\end{block}

参考文献
[1] 藤谷宣典ら, 隠れ状態を用いたホテルレビューのレーティング予測.
言語処理学会 第21回年次大会, 2015.
[2] Quoc Le et al., Distributed Representations of Sentences and Documents.
ICML 2014, 2014.
[3] 森洸樹ら, 英文穴埋め問題における文章ベクトルと学習データの質の影響.
第222回自然言語処理研究会, 2015.


\end{column}
\end{columns}
\end{frame}<commit_msg>Add big diff<commit_after>\documentclass[10pt,unicode]{beamer}
  %\usetheme{Frankfurt}
  \usetheme{CambridgeUS}

\usepackage{luatexja}
%\usepackage{titling}

\geometry{paper=a4paper,landscape}
\newcommand{\columnsize}{0.32}

\title{カテゴリ間の関連性を利用した多層ニューラルネットワークによる文書分類}
\author{外山洋太、三輪誠、佐々木裕}
\institute{豊田工業大学 工学部 先端工学基礎学科}
\date{}

\begin{document}
\begin{frame}{}
\maketitle
\vspace{-5ex} % HACKING
\begin{columns}[t]

\begin{column}{\columnsize\textwidth} % first
  \begin{block}{背景と目的}
  自然言語処理の一分野である文書分類は、大量の文書処理を必要とするWWWからの
  情報抽出等に欠かせない。その文書分類の一つに、文書を複数のカテゴリについて
  分類するものがある。カテゴリとはラベルが付けられる各項目のことである。
  これに関する従来の手法[1]では、カテゴリ同士の関連性を手動で変化させ
  考慮している。また、そこで用いられている文書の数値表現であるBoWは
  文書内の語順を無視している。
  そこで、本研究は、よりよい文書の数値表現を用いながら、カテゴリ間の関連性を
  機械学習によって考慮した文書分類を実現することを目的とする。
  \end{block}

  \begin{block}{関連研究}
    2.1. カテゴリ間の関連性を用いた文書分類
    カテゴリ間の関連性を用いた文書分類を扱った研究に、隠れ状態を用いた
    ホテルレビューのレーティング予測[1]がある。この研究では、文書内の各文に対して
    推定した隠れレーティングとレビュー全体のレーティングとの繋がりを変化させ、
    カテゴリ間の関連性を考慮した分類を行っている。
    2.2. パラグラフベクトル
    　文書の数値表現の一つとして、Leら[2]が提案したパラグラフベクトルがある。
    この研究は、それが文書分類に有用であることを実験により示している。また、
    パラグラフベクトルの学習手法に関する研究として、森ら[3]がある。この研究では、
    単語同士の位置関係を考慮した単語ベクトルの学習手法vLBL+vLBL(c)について、
    パラグラフベクトルまたは文ベクトルも同時に学習する手法を提案している。
  \end{block}
\end{column} % first

\begin{column}{\columnsize\textwidth} % second
  \begin{block}{提案手法}
    　文書の意味を的確に表現するためにvLBL+vLBL(c)の応用手法によって生成した
    パラグラフベクトル及び文ベクトルを、カテゴリ間の関連性を考慮するために
    多層ニューラルネットワーク（NN）による分類器を用いた文書分類を行う。
    まず、パラグラフベクトルに加え文ベクトルを導入したvLBL+vLBL(c)を提案し、
    語順と単語同士の位置関係を考慮した文書の数値表現を生成する（図1）。
    ここで、文ベクトル学習時の目的関数gには以下の式を用いる。

%    \begin{eqnarray}
%    g = \sum_i \left{ \log\sigma(s(t)) + \sum^K_{t'~P_n} \log
%    \end{eqnarray}

    tは現在の単語の位置、ctとwtはそれぞれ文脈と単語を表すベクトル、sは位置関係を
    考慮した単語と文脈の類似度である。上式により、現在の単語は文脈と意味が
    近くなるように、文脈外の単語t'については単語の頻度分布PnについてK回サンプルし
    文脈と意味が遠くなるように学習を行う。また、σはシグモイド関数である。
    次に、多層NNへの入力をパラグラフベクトル、及び、各文ベクトルの
    平均ベクトルとし、出力をカテゴリ毎のラベルとして教師有り学習を行う。
    分類時も同様な処理を行いラベルを推定する。

%    \begin{figure}
%    図1. 単語及び文、文章ベクトルの学習
%    \end{figure}
  \end{block}
\end{column} % second

\begin{column}{\columnsize\textwidth} % third
  \begin{block}{実験}
    * 目的 \\
    　文書の数値表現としてパラグラフベクトルが有効かを調査するため予備実験を
    行った。パラグラフベクトルの学習手法としてはvLBL+vLBL(c)を、分類器としては
    SVMまたは多層NNを用い、従来の手法[1]と同じ多値分類問題の精度を測定した。

    4.1. 実験設定
    入力データは、宿泊予約サイト楽天トラベルにおける各ホテルレビューの
    コメント部分とそのユーザが付けた食事、サービスなど7カテゴリのレーティングの
    組である。各カテゴリのレーティングは評価なしを含む6段階評価である。
    全レビュー338,028件の内、訓練データとして300,000件、評価データとして
    10,000件を用いた。
    　プログラム上の主なパラメータを表1に示す。現在の単語の学習に影響する範囲を
    その単語の前後5単語とした。単語及びパラグラフベクトルの次元は400次元とし、
    多層NNの入力は位置を考慮した及び考慮していない2つのパラグラフベクトルとした。

    4.2. 結果及び考察
    　表2の実験結果より、多層NNを用いた方がSVMより4.1pp精度が高かった。
    しかし、多層NNを用いた手法でも、従来の手法[1]における精度を10pp以上
    下回っている。精度を高めるためには、文ベクトルとパラグラフベクトルを
    組み合わせより表現力の高い文書の数値表現を評価することや、多層NNの
    パラメータ最適化が必要である。

    \begin{table}
    \caption{点数推定プログラムのパラメータ設定}
    \label{table:parameters}
    \begin{tabular}{l | r}
    項目 & 値 \\
    \hline
    学習する単語の範囲 & 前後5単語 \\
    単語の最少出現回数 & 5回 \\
    ベクトルの次元数 & 400 \\
    中間層の数 & 1 \\
    入力層でのニューロン数 & 800個 \\
    中間層でのニューロン数 & 200個
    \end{tabular}
    \end{table}

    \begin{table}
    \caption{各手法における点数推定精度}
    \label{table:accuracy}
    \begin{tabular}{l | r}
    項目 & 点数推定の精度(\%) \\
    \hline
    実験での手法（SVM）& 33.6 \\
    実験での手法（多層NN）& 37.7 \\
    従来の手法[1] & 48.3
    \end{tabular}
    \end{table}
  \end{block} % 実験

  \begin{block}{今後の課題と改善策}
    \begin{itemize}
    \item 文ベクトルの評価
    \item 多層NNのパラメータ最適化
    \item 提案手法の有用性の評価
    \end{itemize}
  \end{block} % まとめ

  参考文献 \\
  \begin{itemize}
  \item 藤谷宣典ら, 隠れ状態を用いたホテルレビューのレーティング予測.
  言語処理学会 第21回年次大会, 2015. \\
  \item Quoc Le et al., Distributed Representations of Sentences and Documents.
  ICML 2014, 2014. \\
  \item 森洸樹ら, 英文穴埋め問題における文章ベクトルと学習データの質の影響.
  第222回自然言語処理研究会, 2015.
  \end{itemize}
\end{column} % third

\end{columns}
\end{frame}
{'fraction_non_alphanumeric': 0.10516336056009334, 'fraction_numerical': 0.030046674445740957, 'mean_word_length': 5.961421319796954, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3332706', 'n_tokens_mistral': 5887, 'n_tokens_neox': 5785, 'n_words': 340}