言語処理学会 第30回年次大会 発表論文集（2024年3月）

大規模言語モデルを用いた日本語文中の並列構造の抽出
島森瑛貴
株式会社ゆめみ e shimamori@yumemi.co.jp

概要
本稿では、大規模言語モデルを用いて日本語文中の並列構造を抽出した。提示したテキスト中の並列構造を抽出するプロンプトを作成し、slack のチャットテキストを利用して評価した。オープンテストの結果、F1 値はベースラインで 0.2036、提案手法で0.3693 となり、適切なプロンプトを選択することで抽出の精度が向上することが明らかとなった。また、チャットテキストとはスタイルの異なる書き言葉のテキストについても評価し、スタイル毎の精度の変化を評価した。実験の結果、F1 値はチャットテキストで 0.3693、書き言葉で 0.2129 となった。

析が難しい文に対して自由度が高い方法で解析するために大規模言語モデルを用いる。また書き言葉のテキストも同様のプロンプトで評価し、スタイルの違いが並列構造の抽出の精度にどのように影響するかを検討する。
評価の結果、提案したプロンプトの精度がベースラインと比較して 16 ポイントほど改善した。また、書き言葉のテキストと比較してチャットテキストに対して特に有効であることが明らかとなった。

2

関連研究

2.1

日本語文中の並列構造の検出

文中から並列構造を検出するこれまでの研究[1, 2, 3] では、「と」や「や」のような並列助詞、「または」や「かつ」のような接続詞を含む文節を並列
近年リモートワークやチャットで業務連絡を行うキー [1] として検出し、その並列キーの前後で詳細機会が増加している。しかし実際に出社する場合とな範囲を推定し、並列要素を特定する。
比較すると、業務以外の雑談の頻度が低下するためこのタスクの大きな課題として、並列構造の範囲他者の人間性が伝わりにくく、コミュニケーション推定が困難であるということが挙げられる。例えばが取りにくくなる危険性がある。チーム開発の生産
文中に「A の B と C の D」という部分文字列がある性向上のためには適切にコミュニケーションをとるとする。「B と」を並列キーとみなした場合、この部ことが重要である。そこで個人の興味関心の関連に基づき相性の良い人同士を案件に配属することで、 分文字列の範囲外に並列の要素が存在しないと仮定しても、「A の B」と「C」、「A の B」と「C の D」、コミュニケーションが円滑になり生産性が向上する「B」と「C」、「B」と「C の D」の 4 通りが並列構造という仮説を立てた。の要素の組として考えられる。並列構造を構成するゆめみ社では各社員が自分の興味関心を社内に発要素は構造や語に類似性が認められることが多いた
信するチャンネルが slack に用意され業務外の内容め、要素の範囲を推定する手掛かりとしてこれらをも発信できる環境が整備されている。これらの蓄積利用することが多い。しかし、このようなミクロなされたデータを分析することで、社員ごとの興味関特徴のみを用いた推定では不十分なことが多い。
心の関連性を把握することができると考えている。
その大きな原因として「語の類似度」の評価が難
本稿では手始めに、社員が興味関心を持つ関連性しいという問題が挙げられる。語の類似性は直接的のある複数の語として、チャットテキストに含まれ類似性と間接的類似性の二つに大きく分けられるる並列関係にある名詞句を LLM を使用して抽出す[4]。このうち、直接的類似性は対象の語がどちらもるようなプロンプトを作成し、その評価を行う。
シソーラスに登録されていれば使用することがで今回対象とするテキストチャットは、一般的な書
き言葉のテキストと比べると文法性が低く解析の難きるが、未登録の語が出現する場合や、句以上の単易度が増し既存の評価データや解析手法ではうまく位を比較する場合には類似性の評価が困難である。
また間接的類似性については、類似であるかどうか評価できないと考えられる。そこで、このような解

1

はじめに

― 896 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

が文脈に大きく依存し、適切な概念ベースを選択す利用して文章中の並列構造を抽出するプロンプトをる必要があるという課題がある。これらを踏まえる作成し、その評価を行う。と、並列構造を適切に選択するためには表層だけではなく、適切に意味を理解する必要がある。

2.2

提案方針

3

先行研究 [8, 9, 10, 11] で提案されている手法をもLLM のプロンプトとにプロンプトを作成し、これらを評価する。

近年は大規模言語モデル (LLM) を用いてさまざベースラインとして指示と出力形式だけを指定すまな自然言語処理のタスクを解くという試みが行わ

る 0-shot のプロンプト (A.1) を用意する。これを基れている。LLM を利用して構造データを解析でき本として以下の指示、例は「# 出力形式」と「# 対象」

るという先行研究 [5, 6] もあることから、LLM を利の間に追加する。具体的なプロンプトは後ろの付録用することで、ミクロな規則を作成することなく適に追加する。また簡単のため共通部分は省略する。

切に並列構造を取得できると期待できる。
代 表 的 な プ ロ ン プ ト 手 法 と して

3.1

具体例Knowl-

文中に並列組が 1 つ存在する場合、存在しない場

Prompting(GKP)[8],Chain-of-Thought
edgePrompting(CoT)[9] などが存在する。

合、2 つ以上存在する場合のそれぞれで正しい出力例を表示する (A.2)。

Few-shotLearning[7],Generate

Few-Shot Learning は指示だけでなく具体例を併せて提示する手法である。指示のみで具体例を提示し3.2

原文に含まれていない出力を禁止ないものは Zero-Shot、1 つだけ例を提示するものはLLM は出力を確率的に生成するため、抽出タス

One-Shot、いくつかの例を提示するものは Few-Shot

クの際に、元の文に含まれていない文字列を解答とと呼ばれる。

して出力することがある。そのため、元の文に含まGenerate Knowledge Prompting は、問題を解く上で必要な前提知識をプロンプトで与える手法である。
例えば、今回のタスクであれば、「並列構造の定義」や「並列構造にはどのような特徴が存在するか」なれていない文字列を解答として出力することをプロンプトで明示的に禁止する (A.3)。

3.3

並列構造の知識を生成する

Generate Knowledge Prompting の手法を適用して、どを情報として明示しておくことに相当する。
Chain-of-Thought Prompting は最終的な答えだけではなくそこに至るまでの過程を考えさせる手法である。1-shot や few-shot であれば、模範解答を示す際並列構造がどのようなものであるかの定義や具体的な特徴をプロンプトに明記する (A.4)。に、最終的な答えだけではなくそこに至るまでの思今回対象とする名詞の並列構造については明確な定義が見つけられなかったため著者が定義したもの考も併記することであり、0-shot であれば、「複数のを、また並列構造の特徴については [13] の内容を改ステップに分けて考えてみましょう」などの文言を変して利用した。具体的な改変内容は平易化、文体プロンプトに追加することに相当する。の統一、例文の説明の具体化、並列キーの手がかり

また、「優れているので自信を持ってください」や「困難なタスクですがチャレンジしてみましょう」など感情に訴えかける [10],「タスクに取り組む前に一度深呼吸をしましょう」など落ち着かせる [11] ようなプロンプトを追加することでもタスクの精度が向上したという研究結果も存在する。

を明記する意図で「並列キーとしては」で始まる一文の追加である。

3.4

元の部分文字列の抽出を強制

slack では markdown 記法が使えるため、元のテキストには「`if` 文」のように記法に起因する記号が‌‌そのほかにも、質問の内容や出力のスタイルを明付いていることがある。抽出する際にこのような記確にする、プロンプトを構造化する、指示と文脈を号が勝手に削除されないように、元の文中の部分文「#」などの文字で明確に区切る、「あなたは自然言字列をそのまま出力するように明記する (A.5)。

語処理の研究に関わる専門家です」のようにロールを設定するなどの tips[12] を利用する。
本稿ではこれらの先行研究を踏まえて、LLM を― 897 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

3.5

temperature と top p はともに 0.0、seed は 0 として助詞の補完

OpenAI の gpt-3.5-turbo-1106 を使用した。

今回対象とする slack のチャットの内容は、話しデータセット

評価の対象は、ゆめみ社の slack

言葉の書き起こしとは異なり言い直しやフィラーはの 2020 年の全投稿のうち、品詞が並立助詞である

含まれないが、livedoor ニュースコーパスなどの web形態素を含む文を 400 件ランダムに抽出した。対象

記事と比較すると文体が砕けているものが多い。そのうち 100 文をシステム改良のための分析に利用のため、必ずしも文法的に正しいとは限らず、このし、クローズドテストとして評価する。残りの 300

ような砕けた文体が原因で解析を誤り、精度が低下

文を未参照の事例に対する評価を行うときのデータすることが考えられる。そこで、文を正規化することして使用し、オープンテストとして評価する。並とでそのような精度低下を防ぐことを検討する。今

立助詞が含まれるかを判断するための形態素解析

回のデータセットに顕著な特徴として、必要な助詞器には、MeCab[14] をデフォルトの IPA 辞書で使用が欠落しているというものがある。そこで欠落したした。

助詞を一度適切に補完し、その後並列構造を抽出す

並列要素の正解は著者がアノテーションを行っる。このとき、追加した助詞が出力されると元の文の部分文字列と一致しないため、このステップで追た。前述したように名詞句の並列のみを対象とし、「〜し、〜した」のような節の並列は対象としない。

加した助詞は出力に含めないように明記する (A.6)。

クローズドテストの 100 文には並列要素は 107 件存3.6在し、オープンテストの 300 文中には並列要素は感情、ロール、深呼吸

242 件存在した。

また、そのほかに、感情に訴えかける指示、役割を指定する指示、深呼吸を促す指示 (A.7) をそれぞ

クローズドテストの評価を表 1 に、オープンテス
トの評価を表 2 に示す。

れプロンプトに追加する。

3.7

スタイルごとの比較

今回我々が対象としている

チャットテキストは、書き言葉ではあるものの、言Chain-of-Thought Prompting

葉遣いは砕けており、内容があまり修正されていな

Chain-of-Thought Prompting の手法を適用して、思いため文法的に正しくないものが含まれるという点考の過程を段階的にプロンプトに明記する。並列構

で、話し言葉の書き起こしと書き言葉の中間のよう造が存在する例文の場合は、並列キーを明示しそのなスタイルである。今回提案する並列構造の抽出手

前後の並列要素とその根拠をプロンプトに追加す法がこれらのスタイルの違いに対してどのように影る。並列構造が存在しない例文の場合は並列キーが存在しないため並列構造が存在しないということ響するかを調査するために、14 種類のプロンプトのうちクローズドテストでもっとも精度が F1 値が高をプロンプトに追加する。Zero-Shot の場合は、「段かった、ベースラインに全てを追加したプロンプト階的に考えろ」というプロンプトを追加する (A.8)。

で、書き言葉のテキストを評価する。

これらは各例文のクエリと出力の間に追加する。

4

書き言葉のテキストとして livedoor ニュースコー
パスのスポーツ記事を利用する。いずれも上記の実評価
実験設定

験と同様に、並立助詞を含む 300 文で適合率、再現3 章で述べたプロンプトを評価する。

率、F1 値を求めた。この 300 文中に並列構造は 258

ベースライン (BL) としてタスクの説明と出力の方件存在した。正解のアノテーションは著者が行なっ針のみを指定したプロンプト (A.1) を利用する。そた。この実験の結果を表 3 に示す。

れに加え、A.2 〜A.8 をそれぞれ追加したもの、これら全ての指示のみを追加したもの (BL+すべての考察5指示)、これら全ての具体例だけ追加したもの (BL+個別の追加プロンプトでは検出精度が低下したもすべての具体例)、これら全ての具体例とその思考のも存在したが、それらをすべて組み合わせた提案過程を追加したもの (BL+すべての具体例+CoT)、全手法では精度がベースラインから大幅に改善した。ての指示・具体例を追加したもの (BL+全部) の合
計 14 個について、システムの推定結果と正解が一ベースラインに 1 つ追加しただけでは特に大幅な精度向上が見られるプロンプトは存在しなかった。こ致するか適合率、再現率、F1 値を求めた。LLM はれは、追加した部分がそれぞれ箇所の改善に寄与す― 898 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

表 1 クローズドテスト

表2

オープンテスト

再現率

適合率

F1 値

再現率適合率F1 値

ベースライン (BL)0.31770.16500.2172

ベースライン (BL)0.39330.13740.2036

BL+0-shot CoT

0.29900.16580.2133

BL+0-shot CoT

0.38910.14170.2078

BL+具体例

0.37380.21620.2739BL+具体例

0.40160.23240.2944

BL+抽出強制0.35510.1751

0.2345

BL+抽出強制0.44530.12700.1977

BL+知識生成0.36440.16730.2294BL+知識生成0.3807

0.09310.1496

BL+記号削除禁止

0.19620.13810.1621

BL+記号削除禁止

0.26050.16180.1996

BL+助詞の補完

0.33640.15780.2149

BL+助詞の補完

0.43690.15800.2321

BL+感情0.2710

0.18580.2205

BL+感情

0.41420.08730.1442

BL+役割

0.24290.12870.1682BL+役割

0.38070.06026 0.1040

BL+深呼吸0.21490.17030.1900BL+深呼吸0.37230.11200.1723

BL+すべての具体例

0.48590.30400.3741

BL+すべての具体例

0.48110.20720.2896

BL+すべての具体例+CoT

0.44850.3096

0.3664BL+すべての具体例+CoT

0.52100.26660.3527

BL+すべての指示

0.35510.19190.2491

BL+すべての指示

0.34300.11840.1761

BL+全部

0.43920.37900.4069BL+全部

0.44930.31340.3693

表3るためと考えられる。また、オープンテストにおいて適合率、再現率がともにベースラインより低下した「知識生成」、「役割」、「深呼吸」を除いたプロンプトで評価したところ F1 値が 0.3603 となり「BL+全部」より低かったことから、単体で精度が向上したプロンプトのみを利用することは必ずしも全体の5.2

テキストのスタイルごとの違い

再現率

適合率

F1 値

slack

0.44930.31340.3693

livedoor

0.33330.15640.2129

対象の文のスタイルの違い精度向上にはつながらないことが明らかとなった。

一文あたりの平均文字数はクローズドテストに使

また、チャットテキストの方が書き言葉のテキス用したデータでは 29 文字、オープンテストでは 77

トより抽出の精度が高いが、これは一文の長さが短文字、livedoor コーパスでは 128 文字であり、対象い方が解析の精度が高くなるためと考えられる。の文が長いほど抽出の精度が低下することが考えら5.1

れる。名詞句の並列のみを対象とする場合、節境界

プロンプトの違いを超えて並列が出現することは稀なため、節の単位「BL+深呼吸」や「BL+知識生成」、「BL+感情」な
どの Zero-Shot で抽出させるプロンプトでは、抽出の対象となるテキスト以外のプロンプトの指示の部分が並列構造として出力されているものがあった。
例えば、「BL+感情」では「’ 困難なタスク: あなたはで文を分割することで対象の文字数が減少し、抽出の精度が向上すると考えられる。

まとめ6

本稿では LLM を使用して文章中の並列構造を抽非常に優れているので自信を持ってチャレンジして出する手法について検討した。また、文書のスタイみましょう’」のようなものが並列構造としてシステ

ルの違いで抽出精度にどのような違いがあるのかにムから出力されている。この原因として、先頭の指ついて検討した。今回は「並立助詞」を含む文のみ示文が「以下の文章中に含まれる並列要素の組をすを評価対象としていたが、実際には並立助詞を含まべて漏らさずに列挙してください。」であることがずに、読点や中黒を伴うものや、何も手がかりを伴考えられる。この指示の部分も「以下の文章中」でわない名詞の列挙などが存在する。このようなものあり、正解の例も提示していないため、システムがに対する精度向上は今後の課題である。また、プロ誤って解釈したと考えられる。そこで、「以下の文ンプトの内容自体は同一でも、記述する場所を変更章中に」を「「対象」の「クエリ:」以降のテキスト」

すると抽出の精度が変わることがあり、このようなのように具体的に明示したところ、このような誤検プロンプトの最適化も今後の課題である。

出は減少したが、F1 値自体は変更前より低下した。

― 899 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

参考文献[1] 首藤公昭, 吉村賢治, 津田健蔵ほか. 日本語技術文における並列構造. 情報処理学会論文誌, Vol. 27, No. 2,
pp. 183–190, 1986.
[2] 黒橋禎夫, 長尾真ほか. 長い日本語文における並列構造の推定. 情報処理学会論文誌, Vol. 33, No. 8, pp.
1022–1031, 1992.
[3] 山腰貴大, 大野誠寛, 小川泰弘, 中村誠, 外山勝彦ほ
か. ニューラル言語モデルを用いた法令文の並列構
造解析とその評価. 研究報告自然言語処理 (NL), Vol.
2017, No. 19, pp. 1–10, 2017.
[4] 渡部広一, 河岡司. 常識的判断のための概念間の関連度評価モデル. 自然言語処理, Vol. 8, No. 2, pp. 39–54,2001.
[5] Tingyu Xie, Qi Li, Jian Zhang, Yan Zhang, Zuozhu Liu,and Hongwei Wang. Empirical study of zero-shot ner withchatgpt. arXiv preprint arXiv:2310.10035, 2023.
[6] Xuefeng Bai, Jialong Wu, Yulong Chen, Zhongqing Wang,and Yue Zhang. Constituency parsing using llms, 2023.
[7] Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell,
et al. Language models are few-shot learners. Advancesin neural information processing systems, Vol. 33,pp. 1877–1901, 2020.
[8] Jiacheng Liu, Alisa Liu, Ximing Lu, Sean Welleck, Peter West, Ronan Le Bras, Yejin Choi, and Hannaneh Hajishirzi. Generated knowledge prompting for commonsense reasoning. In Smaranda Muresan, Preslav Nakov,
and Aline Villavicencio, editors, Proceedings of the60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp.

[9]

[10]

[11]

[12]

3154–3169, Dublin, Ireland, May 2022. Association for
Computational Linguistics.
Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten
Bosma, Fei Xia, Ed Chi, Quoc V Le, Denny Zhou, et al.
Chain-of-thought prompting elicits reasoning in large language models. Advances in Neural Information Processing Systems, Vol. 35, pp. 24824–24837, 2022.
Cheng Li, Jindong Wang, Yixuan Zhang, Kaijie Zhu,
Wenxin Hou, Jianxun Lian, Fang Luo, Qiang Yang, andXing Xie. Large language models understand and can beenhanced by emotional stimuli, 2023.
Chengrun Yang, Xuezhi Wang, Yifeng Lu, Hanxiao Liu,
Quoc V. Le, Denny Zhou, and Xinyun Chen. Large language models as optimizers, 2023.
Elvis Saravia.
Prompt Engineering Guide.
https://github.com/dair-ai/Prompt-EngineeringGuide, 12 2022.

[13] 中村健, 乙武北斗, 田辺利文, 吉村賢治ほか. 単一化文法を用いた日本語文の構文解析における並列構造の処理. 第 81 回全国大会講演論文集, Vol. 2019, No. 1,pp. 451–452, 2019.
[14] Taku Kudo. Mecab: Yet another part-of-speech and morphological analyzer. http://mecab. sourceforge. net/,2005.

― 900 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

A

プロンプト例

A.1

ベースライン囲まれた文字列が並列要素です。
例文 2: 『太郎が紅茶に {砂糖} と {ミルク} を入 re ru』

以下の文章中に含まれる並列要素の組をすべて漏らさずに列挙してください。並列構造が複数存在したり、入れ子になっているような場合についてもすべて漏らさず列挙してください。与えられた文章中に構造が存在しないと判断した場合には、空の配列のみを返してください。
この時取得した結果は配列 words の要素に追加して、最後には words を含む以下の形式の JSON として表示してください。また、その際に、指示していない値は絶対に出力しないようにしてください。結果は以下の通りですな
どの日本語の文言も絶対に出力しないでください# 出力形式{predict_words : [["",""], ... ]}

具体例

# 例5
クエリ: 芥川龍之介の著作には「鼻」や「羅生門」がある
出力:{predict_words: [["「鼻」","「羅生門」"]]}# 例2
クエリ: 学校に登校したが日曜日なので誰もいなかった
出力:{predict_words: []}# 例3
クエリ: 日本で食べられる動物には牛、馬などがあり、洋食や和食問わず利用される
出力:{predict_words: [["牛","馬"],["洋食","和食"]]}原文に含まれていない出力を禁止

この時、元の文に含まれる語を抽出することのみが正し
く、元の文に含まれない語を生成することは禁止です。

A.4

元の部分文字列の抽出を強制取得した文字列に「`」や「「」」などの記号がついていてもそのまま出力してください。
# 例4
クエリ: Java には `if`文や `for`文などの文法がある
出力:{predict_words: [["`if`文","`for`文"]]}# 例1
クエリ: 私は今日の朝はご飯とみそ汁を食べた
出力:{predict_words: [["ごはん","みそ汁"]]}

A.3

4. 文から並列キーと片方の並列要素を取り除いても意味が通ります。元の文は『太郎が水を飲み, 自転車で学校に行く』ですが、このうち並列要素の片方を除いた例文
4-1,4-2 のいずれも意味が通じています。
例文 4-1: 『太郎が {水を飲 m} u』
例文 4-2: 『太郎が {自転車で学校に行 k} u』

A.5# 対象クエリ: [この部分に対象のクエリを埋め込む]
出力:

A.2

3. 並列要素の単語数は必ずしも同一ではないです。例文における / は単語境界です。例文 3 では、1 つ目の並列要素の単語数は 3 であり、2 つ目の並列要素の単語数は４であり、これらの個数は異なっています。
例 文 3:『太 郎 が{水/を/飲 m} i,{自 転 車/で/学 校/に/行 k} u』

並列構造の知識生成# 並列構造の定義
並列構造は、言語学や文法において、同じ階層や種類の単語、句、節が文中で連続して並べられることを指します。
これは、同等の重要性を持った要素が文中で「並列」されているときに用いられる概念です。特に名詞の並列においては、共通の格で共通の文節に係ることが多いです。
# 並列構造の特徴
1. 並列構造には句を接続する働きを持つ文字列が存在します。この文字列を「並列キー」と呼びます。例文 1 では<<と>>で囲まれた文字列が並列キーです。並列キーとしては「や」や「と」などの並列助詞や、「、」や「，」などの読点、「・」などの中黒などがよく用いられます。
例文 1:『太郎が紅茶に 砂糖 <<と>> ミルク を入 re ru』

A.6

助詞の補完

元の文は非常に口語的なため必要な助詞が欠落している場合があります。したがって、現在の文面だけから考えるのではなく、必要だと思われる助詞を適切に補完したのちに並列構造を探してください。
ただし、繰り返しになりますが、元の文に含まれる語を抽出することのみが正しいため、補完した助詞は出力に含めないでください。
# 例6
クエリ: 兄と学校行ってきた
出力:{predict_words: []}A.7

感情、役割、深呼吸

困難なタスクですが、あなたは非常に優れているので自信を持ってチャレンジしてみましょう。// 感情
あなたは日本語の母語話者で自然言語処理の専門家です。// 役割
深呼吸をして落ち着いて取り組みましょう。// 深呼吸

A.8

Chain-of-Thought Prompting

思考: 段階的に考えてください。// 0-shot の場合
思考: 並列助詞「と」が含まれているので並列構造が存在します。その前後の「ご飯」と「味噌汁」はどちらも食事に関連し、共通の文節「食べる」に係っているため並列です。// 例 1 の場合
思考: 並列構造の手がかりとなる文節が含まれていない
ため、並列構造は存在しません。// 例 2 の場合

2. 並列キーの前と後に同じ形式の文要素が存在します。
この文要素を「並列要素」と呼びます。例文 2 では{と}で― 901 ―

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).