Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SNLP2022:What does the sea say to the shore? A BERT based DST style approach for speaker to dialogue attribution in novels

Yuki Zenimoto
September 25, 2022

SNLP2022:What does the sea say to the shore? A BERT based DST style approach for speaker to dialogue attribution in novels

Yuki Zenimoto

September 25, 2022
Tweet

More Decks by Yuki Zenimoto

Other Decks in Science

Transcript

  1. What does the sea say to the shore?
    A BERT based DST style approach for
    speaker to dialogue attribution in novels
    Carolina Cuesta-Lazaro, Animesh Prasad, Trevor Wood
    ACL 2022
    読み手: 銭本 友樹/Zenimoto Yuki (筑波大)
    @第14回最先端NLP勉強会

    View Slide

  2. 本発表の姿勢
    ⚫小説発話者分類研究の布教をしたい
    ⚫日本語での研究が少ない[ⅰ][ⅱ][ⅲ][ⅳ]
    ⚫素晴らしい日本語データセットが爆誕[3]したので
    日本語小説発話者分類研究がもっと増えてほしい
    ⚫発話者分類の包括的な話をします
    2
    [3] Yamazaki et al.小説会話文への話者情報付与, 2022, 国⽴国語研究所「日常会話コーパス」プロジェクト報告書 5
    [ⅰ] Du et al.小説からの自由対話コーパスの自動構築, 2019, 言語処理学会第25会年次大会
    [ⅱ] Miyazaki et al.発話テキストへのキャラクタ性付与のための音変化表現の分類, 2019, 自然言語処理
    [ⅲ] Ishikawa et al.口調ベクトルを用いた小説発話の話者推定, 2022, 自然言語処理研究発表会
    [ⅳ] Zenimoto et al. Speaker Identification of Quotes in Japanese Novels based on Gender Classification Model by BERT, 2022, PACLIC

    View Slide

  3. どんな論文?
    問題設定:異なる年代/文体に対応可能なEnd-to-End発話者分類
    やったこと:
    ⚫ 発話者分類に深層学習を初めて導入
    - Before:ルールベースがSoTA[1]
    ⚫ 1パラグラフ全体の埋め込みを分類に使用
    - Before:1発話文単位で処理&発話文と地の文の意味は未使用
    ⚫ 異なる年代/文体の15小説のデータセットを新たに構築
    - Before:19世紀の3小説[1]
    結果:既存のSoTA[1]と比較して平均50%以上の性能改善
    - サブタスク毎の性能も詳細に調査
    3
    [1] Muzny et al. A Two-stage Sieve Approach for Quote Attribution, 2017, EACL

    View Slide

  4. 背景・既存手法

    View Slide

  5. 導入:小説の発話者分類
    5
    Elizabeth Bennet
    Mr. Collins

    Mr. Darcy
    “Do you really think so?” cried
    Elizabeth, brightening up
    ...
    “You are uniformly charming!”
    cried he, with an air of awkward

    “I see your design, Bingley,”
    said his friend.

    Texts in Novels
    Character List

    View Slide

  6. 導入:発話者分類の流れ
    6
    Direct Speech Identification
    Mention Extraction
    Entity Linking
    Speaker Attribution
    Poole was asleep, and Bowman was
    reading on the control deck, when Hal
    announced:
    “Er—Dave, I have a report for you.”
    “What’s up?”
    “We have another bad AE-35 unit. My
    fault predictor indicates failure within
    twenty-four hours.”

    View Slide

  7. 導入:発話者分類の流れ
    7
    Direct Speech Identification Poole was asleep, and Bowman was
    reading on the control deck, when Hal
    announced:
    “Er—Dave, I have a report for you.”
    “What’s up?”
    “We have another bad AE-35 unit.
    My fault predictor indicates failure
    within twenty-four hours.”
    Mention Extraction
    Entity Linking
    Speaker Attribution

    View Slide

  8. 導入:発話者分類の流れ
    8
    Poole was asleep, and Bowman was
    reading on the control deck, when Hal
    announced:
    “Er—Dave, I have a report for you.”
    “What’s up?”
    “We have another bad AE-35 unit.
    My fault predictor indicates failure
    within twenty-four hours.”
    Direct Speech Identification
    Mention Extraction
    Entity Linking
    Speaker Attribution

    View Slide

  9. 導入:発話者分類の流れ
    9
    Poole was asleep, and Bowman was
    reading on the control deck, when Hal
    announced:
    “Er—Dave, I have a report for you.”
    “What’s up?”
    “We have another bad AE-35 unit.
    My fault predictor indicates failure
    within twenty-four hours.”
    BOWMAN
    POOLE
    BOWMAN
    HAL
    Direct Speech Identification
    Entity Linking
    Speaker Attribution
    Mention Extraction

    View Slide

  10. 導入:発話者分類の流れ
    10
    Poole was asleep, and Bowman was
    reading on the control deck, when Hal
    announced:
    “Er—Dave, I have a report for you.”
    “What’s up?”
    “We have another bad AE-35 unit.
    My fault predictor indicates failure
    within twenty-four hours.”
    BOWMAN
    POOLE
    BOWMAN
    HAL
    Direct Speech Identification
    Speaker Attribution
    Entity Linking
    Mention Extraction

    View Slide

  11. 既存手法-1発話毎に処理[1][2]
    11
    ⚫Rule Based Speaker Matching
    … “Do you really think so?” cried Elizabeth, ...
    Utterance by Elizabeth Verb Speaker
    “My dear Mr. Bennet,…” “Is that his … ”
    Vocative
    “Aye, so it …” … “Then, my …” … “Is that a …”
    by speaker A by speaker B by speaker A
    by Mr. Bennet
    ⚫Vocative Detection
    ⚫Conversational Pattern
    [1] Muzny et al. A Two-stage Sieve Approach for Quote Attribution, 2017, EACL
    [2] He et al. Identification of Speakers in Novels, 2013, ACL

    View Slide

  12. 3. 小説毎にルールと特徴量の有効性が異なる
    - ルールと特徴量の網羅性/汎用性の議論も不十分
    既存手法の課題
    1. 登場人物リストが必要
    - 人手で作成するか、とりあえず近くの人物名に紐づけ
    12
    小説全体から人物名を抽出⇛クラスタリングで作成
    1パラグラフ全体をBERT/GRUの入力に使用
    2. 発話文/地の文の中身を見ていない
    - 前後の文脈も無視
    異なる年代/文体の18小説について評価

    View Slide

  13. 提案手法

    View Slide

  14. その他のデータセット
    ⚫日本語:BCCWJ 2,932小説665,828発話文(Entity付与)[3]
    ⚫英語[4]: ⇛
    ⚫中国語[4]:⇛
    データセット
    ⚫1900~2010年の18小説
    ➢うち3つは既存の公開データセット[1]
    ➢それ以外の小説情報は未公開
    14
    [3] Yamazaki et al.小説会話文への話者情報付与, 2022, 国⽴国語研究所「日常会話コーパス」プロジェクト報告書 5
    [4] Yu et al. End-to-End Chinese Speaker Identification, 2022, NAACL
    [1] Muzny et al. A Two-stage Sieve Approach for Quote Attribution, 2017, EACL

    View Slide

  15. 発話者分類の流れ
    1. 発話文の検出
    2. 発話者候補の検出
    i. Mentionの抽出
    ii. Mentionのクラスタリング⇛Entityの特定
    3. 発話者の特定
    15

    View Slide

  16. 発話者分類の流れ
    1. 発話文の検出
    2. 発話者候補の検出
    i. Mentionの抽出
    ii. Mentionのクラスタリング⇛Entityの特定
    3. 発話者の特定
    16

    View Slide

  17. 発話文の検出
    ダブルクォーテーション””で括られた発話のみを対象
    ➢ 95%の発話文は””で括られている[5]
    ➢ 単なる強調表現も多いのでは?
    ⇛F1:0.98±0.01の精度で適切に検出できた
    17
    [5] Steinbach et al. Understanding Quotation. Mouton Series in Pragmatics [MSP] , 2012
    [6] Lee et al. Keeping Their Words: Direct and Indirect Chinese Quote Attribution from Newspapers, 2020, In Companion of the WWW
    ⚫日本語:カギ括弧を利用するだけでは不十分[3]
    ➢「」『』⇛直接発話or強調表現
    ➢()⇛心の声or補足説明
    ➢ 鉤括弧なしの発話文
    [3] Yamazaki et al.小説会話文への話者情報付与, 2022, 国⽴国語研究所「日常会話コーパス」プロジェクト報告書 5
    ⚫中国語:新聞の発話文検出での精度は50~60%程度[6]

    View Slide

  18. 発話者分類の流れ
    1. 発話文の検出
    2. 発話者候補の検出
    i. Mentionの抽出
    ii. Mentionのクラスタリング⇛Entityの特定
    3. 発話者の紐づけ
    18

    View Slide

  19. 発話者候補の検出
    i. Mention(発話文周囲の人称名詞)の抽出
    ➢NER(CoNLL-2003で訓練したTransformer)
    ➢Rule-based[1]
    ii. Mentionのクラスタリング⇛Entity(一意の名前)の特定
    ➢共参照解析(Out-of-domain Transformer)
    ➢Rule-based
    19
    [1] Muzny et al. A Two-stage Sieve Approach for Quote Attribution, 2017, EACL

    View Slide

  20. Mentionの抽出
    20
    Poole was asleep, and his father was
    reading on the control deck, when Hal
    announced:
    “Er—Dave, I have a report for you.”
    “What’s up?”
    “We have another bad AE-35 unit. My
    fault predictor indicates failure within
    twenty-four hours.”
    Poole was asleep, and his father was
    reading on the control deck, when Hal
    announced:
    “Er—Dave, I have a report for you.”
    “What’s up?”
    “We have another bad AE-35 unit. My
    fault predictor indicates failure within
    twenty-four hours.”
    人称代名詞(himやher)は無視、her fatherとかは対象
    貴重な性別情報を捨てるのは勿体ないのでは…?

    View Slide

  21. Mentionの抽出
    ⚫NER(CoNLL-2003で訓練したTransformer)
    ⚫Rule-based
    21
    … “Do you really think so?” cried Mr. Elizabeth, ...
    Utterance Verb Person
    … “Do you really think so?” cried Mr. Elizabeth, ...
    B-PER I-PER
    0.78±0.1

    View Slide

  22. Mentionの抽出
    ⚫NER(CoNLL-2003で訓練したTransformer)
    ⚫Rule-based
    22
    … “Do you really think so?” cried Mr. Elizabeth, ...
    Utterance Verb Person
    … “Do you really think so?” cried Mr. Elizabeth, ...
    B-PER I-PER
    0.78±0.1
    Mentionの出現回数で重み付けしている
    (マイナーキャラが識別できなくても評価性
    能が下がりにくくなっている)
    評価の公平性的によろしくないのでは?

    View Slide

  23. クラスタリング結果は𝐵3 precision, recall, F1-scoreで評価[7]
    Mentionのクラスタリング⇛Entityの特定
    入力:全パラグラフ&Mention
    出力:各パラグラフに登場するEntity
    23
    Poole was asleep, and his father was
    reading on the control deck, when Hal
    announced:
    “Er—Dave, I have a report for you.”
    “What’s up?”
    “We have another bad AE-35 unit. My
    fault predictor indicates failure within
    twenty-four hours.”
    Poole
    his father
    Hal
    Dave
    Poole
    his father
    Hal
    Dave
    BOWMAN
    HAL POOLE
    [7] Amigó et al. A comparison of extrinsic clustering evaluation metrics based on formal constraints, 2009, Information Retrieval

    View Slide

  24. Mentionのクラスタリング⇛Entityの特定
    ⚫Out-of-domain Coreference Resolution(Transformer)
    ➢全パラグラフ中、2つ以上のパラグラフで共参照関係にある
    Mentionは同一クラスタ
    24
    ⚫Rule-based
    ➢First NameかFamily Nameが異なれば別クラスタ
    ➢敬称(Mr. or Mrs.)が異なれば別クラスタ
    ➢名前と愛称の辞書は事前に用意
    0.86±0.08

    View Slide

  25. Mentionのクラスタリング⇛Entityの特定
    ⚫Out-of-domain Coreference Resolution(Transformer)
    ➢全パラグラフ中、2つ以上のパラグラフで共参照関係にある
    Mentionは同一クラスタ
    25
    ⚫Rule-based
    ➢First NameかFamily Nameが異なれば別クラスタ
    ➢敬称(Mr. or Mrs.)が異なれば別クラスタ
    ➢名前と愛称の辞書は事前に用意
    0.86±0.08
    同一人物を指すMention同士の出現
    位置が遠いケースが多かったため
    (共参照関係の識別に失敗する)

    View Slide

  26. 発話者分類の流れ
    1. 発話文の検出
    2. 発話者候補の検出
    i. Mentionの抽出
    ii. Mentionのクラスタリング⇛Entityの特定
    3. 発話者の特定
    26

    View Slide

  27. 発話者の特定
    1. 発話文とMentionの埋め込み表現の獲得
    2. 文脈を考慮した発話の埋め込み表現の獲得
    3. 各発話文に紐づくMentionの確率を計算
    4. 各発話文に紐づくEntityの確率を計算
    5. 発話者列の決定
    27

    View Slide

  28. 発話文とMentionの埋め込み表現
    28
    Poole
    [CLS] was … his father [SEP] [CLS] “Dave
    … … [SEP] [CLS] …
    Distil-BERT
    Poole
    [CLS] his father [CLS] “Dave [CLS]
    ⚫入力:1パラグラフ
    ➢発話文列:𝒖 = 𝑢0
    , 𝑢1
    , … 𝑢𝑛−1
    ➢Mention:𝒎 = {𝑚0
    , 𝑚1
    , … 𝑚𝑙−1
    }
    ➢Entity:𝒄 = {𝑐0
    , 𝑐1
    , … 𝑐𝑘−1
    }
    地の文も含める
    (発話者は紐付けない)
    前述の「発話者候補の検出」の結果

    View Slide

  29. 発話文とMentionの埋め込み表現
    29
    Poole
    [CLS] was … his father [SEP] [CLS] “Dave
    … … [SEP] [CLS] …
    Distil-BERT
    Poole
    [CLS] his father [CLS] “Dave [CLS]
    ⚫出力:各発話文とMentionの埋め込み
    ➢発話文 𝑢𝑖
    の埋め込み:𝜺𝑢𝑖
    = 𝜙𝐷𝑖𝑠𝑡𝑖𝑙−𝐵𝐸𝑅𝑇
    𝑢𝑖 [𝐶𝐿𝑆]
    ➢Mention 𝑚𝑗
    の埋め込み:𝜺𝑚𝑗
    = 1
    𝑡
    σ𝑇=0
    𝑡−1 𝜙𝐷𝑖𝑠𝑡𝑖𝑙−𝐵𝐸𝑅𝑇
    𝑢𝑖 𝑚𝑗
    𝑇
    𝜺𝑢0
    𝜺𝑢1
    𝜺𝑢2
    𝜺𝑚0
    𝜺𝑚1
    𝜺𝑚2

    View Slide

  30. 文脈を考慮した発話の埋め込み表現
    ⚫入力:発話文 𝑢𝑖
    のDistil BERTでの埋め込み
    ⚫出力:GRU(Gated Recurrent Unit)の隠れ層
    𝒉𝒊+𝟏
    = 𝜙𝐺𝑅𝑈
    (𝜺𝑢+1
    , 𝒉𝒊
    )
    30
    [CLS] [CLS] [CLS]
    𝜺𝑢0
    𝜺𝑢1
    𝜺𝑢2
    [CLS]
    𝜺𝑢3
    𝒉0
    GRU
    𝒉1
    𝒉2
    𝒉3
    𝑢0
    𝑢1
    𝑢2
    𝑢3

    View Slide

  31. 各発話文に紐づくMentionの確率
    ⚫入力:GRUの隠れ層𝒉𝒊
    と各Mentionの埋め込み行列𝑴
    𝑴 = [𝜺𝑚0
    , 𝜺𝑚1
    , … , 𝜺𝑚𝑙−1
    ]
    ⚫出力:各MentionのLogit
    𝒍𝒊
    = 𝜙𝐹𝐶𝑁
    𝒉𝒊
    ∙ 𝑴
    [CLS]
    [CLS]
    [CLS]
    [CLS]
    𝜙𝐹𝐶𝑁
    𝒉0
    𝜙𝐹𝐶𝑁
    𝒉1
    𝜙𝐹𝐶𝑁
    𝒉2
    𝜙𝐹𝐶𝑁
    𝒉3
    𝜺𝑚0
    Poole
    𝜺𝑚1
    His Father
    𝜺𝑚2
    Dave
    𝜺𝑚3
    Hal
    Poole
    His Father
    Dave
    Hal
    Poole
    His Father
    Dave
    Hal
    Poole
    His Father
    Dave
    Hal
    Poole
    His Father
    Dave
    Hal
    𝑻 𝑻
    𝒍𝟎
    𝒍𝟏
    𝒍𝟐
    𝒍𝟑 31

    View Slide

  32. 各発話文に紐づくEntityの確率
    32
    Poole
    His Father
    Dave
    Hal
    Poole
    His Father
    Dave
    Hal
    Poole
    His Father
    Dave
    Hal
    Poole
    His Father
    Dave
    Hal
    𝒍𝟎
    𝒍𝟏
    𝒍𝟐
    𝒍𝟑
    POOLE
    BOWMAN
    HAL
    POOLE
    BOWMAN
    HAL
    POOLE
    BOWMAN
    HAL
    POOLE
    BOWMAN
    HAL
    𝒆𝟎
    𝒆𝟏
    𝒆𝟐
    𝒆𝟑
    ⚫入力:各MentionのLogit
    ⚫出力:各EntityのLogit
    𝑐𝐵𝑂𝑊𝑀𝐴𝑁
    = max(𝑚𝐻𝑖𝑠𝐹𝑎𝑡ℎ𝑒𝑟
    , 𝑚𝐷𝑎𝑣𝑒
    )

    View Slide

  33. 発話者列の決定
    𝑃 𝒚 𝒖 = exp ෍
    𝑛=0
    𝑁
    𝐸𝑛
    𝑦𝑛
    + ෍
    𝑛=0
    𝑁−1
    𝑉
    𝑦𝑛,𝑦𝑛+1
    /𝑍
    𝑉
    𝑦𝑛,𝑦𝑛+1
    : 発話者𝑦𝑛
    と𝑦𝑛+1
    が連続する確率
    33
    POOLE
    BOWMAN
    HAL
    POOLE
    BOWMAN
    HAL
    HAL
    POOLE
    BOWMAN
    HAL
    POOLE
    BOWMAN
    HAL
    𝒍𝟎
    𝒍𝟏
    𝒍𝟐
    𝒍𝟑
    CRF HAL
    BOWMAN
    ----
    𝒆𝟎
    𝒆𝟏
    𝒆𝟐
    𝒆𝟑
    発話文列𝒖の発話者が発話者列𝒚となる確率

    View Slide

  34. 全体像とモデルの訓練
    34
    正解の発話文/Mention/
    クラスタリング/Entity
    Distil-BERT/GRU/FCN
    の損失関数には
    cross-entropyを使用
    leave-one-out方式で訓練
    各モデルの訓練には
    オラクルデータを使用

    View Slide

  35. オラクルデータでの評価
    比較手法:NM(最も近いMentionに紐づけ)
    35
    0.78±0.06
    同様に重み付けしている
    (※重み付けに用いた変数の明言はなし)
    18小説中の11小説での性能の平均
    なぜ18小説すべての平均を使わないのか???

    View Slide

  36. Ablation Study
    ⚫GRU、CRF単体では同様の性能寄与
    ⚫GRUとCRFを組み合わせると
    Implicit Mentionでの性能が飛躍的に向上
    36
    18小説中の3小説での性能の平均
    パラグラフ中に正解発話者を指す
    Mentionが存在しない場合
    0.6±0.08

    View Slide

  37. End-to-End評価(オラクルなし)
    Baseline : Rule-based[1]
    37
    ⚫既存のSoTAと比較して平均50%以上の性能改善
    ⚫異なる文体・年代の小説に対しても同様の性能
    ➢小説の情報がないので確認のしようがない
    [1] Muzny et al. A Two-stage Sieve Approach for Quote Attribution, 2017, EACL

    View Slide

  38. サブタスクごとの重要性評価
    小説によって重要なサブタスクは異なる
    ⚫発話文の検出自体が非常に難しい小説がある
    ⚫Mention抽出の影響は軽微
    ⚫クラスタリングは等しく重要
    38
    疑似データでもいいから具体例
    を使ってエラー分析をしてほし
    かった…

    View Slide

  39. まとめ

    View Slide

  40. 本研究の概要(再)
    問題設定:異なる年代/文体に対応可能なEnd-to-End発話者分類
    やったこと:
    ⚫ 発話者分類に深層学習を初めて導入
    - Before:ルールベースがSoTA[1]
    ⚫ 1パラグラフ全体の埋め込みを分類に使用
    - Before:1発話文単位で処理&発話文と地の文の意味は未使用
    ⚫ 異なる年代/文体の15小説のデータセットを新たに構築
    - Before:19世紀の3小説[1]
    結果:既存のSoTA[1]と比較して平均50%以上の性能改善
    - サブタスク毎の性能も詳細に調査
    40
    [1] Muzny et al. A Two-stage Sieve Approach for Quote Attribution, 2017, EACL

    View Slide