ChatGPT追記）MT5特許文章要約モデルpatentsum/GPT-2言語モデルを用いた、抽象型文章要約と文章生成の繰り返しにより、関連しつつ予想外な要素が追加された新たな特許文章を生成・探索する試行（雑談からの価値抽出・インサイトツールのようなもの）

# きっかけと概要

- 最近、Hugging Face Model Hubに、いくらか日本語言語モデルが掲載された。そのうちいくらかは文章要約モデルであり、いくらかは文章生成モデルであった。
- 最近の言語モデルにおいて、文章の抽象型要約と生成を繰り返した場合、どのような文章が生成されるのか試してみたかった。
- 「言語モデルを用いた任意の上位概念化・下位概念化、拡大縮小の繰り返しによるデザイン」を試す前のお遊びとして。
- 生成された知識を用いた「創造的検索」ができれば面白い。そのヒントとして。（公開された特許群から未来に向けて重要な特許を抽出する課題を解決する必要がある特許SDIにおいて役に立つと思われる。未来に向けて重要な特許をあらかじめ生成しそれをaugmentationとみなして教師にくわえるのもよい。ニーズベースの手段はすでに試しているので、知識ベースの手段、デザイン手法ベースの手段を試してみたい。）
- 解像度変換（言い換えのこと）が適切にできるようにしたい。そのヒントとして。（このため抽出型要約ではなく抽象型要約を採用する）
- literature-based discoveryっぽいことができると面白い。

# 環境と使用したモデル

Windows10
Python3.7
transformers==4.4.0.dev0  

- 文章要約モデル：mt5　patentsum（特許要約）

https://huggingface.co/kz/mt5base-finetuned-patentsum-japanese-small

- 文章生成モデル：GPT2

https://huggingface.co/rinna/japanese-gpt2-medium


# 試行

### テスト用文章

適当に。

```python:
inp = """
【特許請求の範囲】
【請求項１】
  それを必要とする対象において片頭痛の可能性を処置する又は低減する方法であって、前記方法は、前記対象に約0.5%(w/w)～約5%(w/w)の治療剤及び皮膚科学的に許容される賦形剤を含む持続放出性組成物を局所的に投与することを含み、前記組成物は、前記対象において片頭痛の可能性を処置する又は低減するのに有効的な量であり、前記対象への前記組成物の投与により、最大で約450ng/mLである、3時間での前記治療剤のピーク血漿濃度がもたらされる、方法。
～省略～
【請求項４５】
  前記第2の薬剤が、副腎皮質ステロイド、アセトアミノフェン、オピオイド、筋弛緩剤、抗不安剤、抗うつ剤、抗痙攣剤、抗精神剤、抗てんかん剤、及び選択的セロトニン再取り込み阻害剤(SSRI)からなる群から選択される、請求項44に記載の方法。
"""
```

### 文章要約１

- シンプルに。主要課題やテーマなど主要ポイントのみ抽出。

```python:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
  
tokenizer = AutoTokenizer.from_pretrained("kz/mt5base-finetuned-patentsum-japanese-small")
model = AutoModelForSeq2SeqLM.from_pretrained("kz/mt5base-finetuned-patentsum-japanese-small")

input_ids = tokenizer.encode(inp, return_tensors='pt')
gen = model.generate(input_ids,
                    no_repeat_ngram_size=4,
                    max_length=200)
data = tokenizer.decode(gen[0], skip_special_tokens=True)
```

'本発明は、片頭痛を処置する方法、及び、片頭疼を予防する方法に関する。本発明は、特に、片頭の痛みを処置するための方法及び組成物に関する。'

- この段階で解像度変換できているとより良い。片頭痛、片頭疼、片頭の痛み。多少の言い換えはできているようだ。no_repeat_ngram_sizeが効いているのだろうか。
- ある任意の方針に沿った実用とするには、Discriminatorで評価し要約を繰り返すループを作る・・・など考えられる。（自分の課題では https://qiita.com/kzuzuo/items/d41327433c9cdc6a5fd3 を用い評価することになるだろう）（より一般には https://qiita.com/kzuzuo/items/82ef280f9e6962eb00b2 のfake news detectionモデル類似モデルなど良さそう）
- さらに，類似の波を設定しておくことで，「文章構成」をコントロールできるかもしれない．（前半はテーマに沿った海の話，中盤はテーマに沿った雪の話，終盤はオチの話，である場合に生成分を採用するなど．）
- 複数の生成結果につき，適切なものであると思われる順に人間の評価者がランク付けし学習する InstructGPTの手法は参考となるかもしれません．

### 文章生成

- ある程度長く。多様性を確保して。繰り返しを防ぎつつ。主要ポイントから話題を広げる。

```python:
from transformers import T5Tokenizer, AutoModelForCausalLM

tokenizer = T5Tokenizer.from_pretrained("rinna/japanese-gpt2-medium")
model = AutoModelForCausalLM.from_pretrained("rinna/japanese-gpt2-medium")

input_ids = tokenizer.encode(data, return_tensors='pt')
gen = model.generate(input_ids,     
                    do_sample=True, 
                    top_k=20, 
                    top_p=0.95,
                    repetition_penalty=1.5, 
                    max_length=500)
data = tokenizer.decode(gen[0], skip_special_tokens=True)
```

'本発明は、片頭痛を処置する方法、及び、片頭疼を予防する方法に関する。本発明は、特に、片頭の痛みを処置するための方法及び組成物に関する。図面2では、「鎮痛剤」の項において「薬用成分配合錠剤又はその混合液を用いた場合」(3)と規定している点について注意すべきである(甲5参照)、「医薬品等の名称を表示すること」(8〜10頁を参照)、「処方箋記載事項の一部を省略すること (20)」など、より詳細な記述がされているため引用の範囲を超えているが、『平成19年厚生労働省告示第367号』に記載された以下の内容については同一または類似するものではないものとする。 またこれらの作用機序を持つ薬剤においては、上記に記載したように、この物質による効果発現のために他の薬物との併用が必要となる場合があるから、これらについても十分留意する必要がある。 なおこのように分類しない場合であっても同じであるが、『平成29年度医道審議会医療分科会・日本アレルギー学会合同会議報告』『平成30年1月28日開催 第11回薬剤師国家試験ハンドブック改訂版』(いずれも一般社団法人 日本小児科学会の監修)および『在宅訪問における安全かつ適切な対応の手引き案 』などの参考書を参考にしつつ慎重に対応することが望まれるものであるといえることから、本項には詳細に説明するまでもなく下記のとおり適切に使用するよう配慮しなければならない。 次に実施例を示して説明しよう。以下に示す各部位別製剤を用いて治療を行った結果を示したいと思う。 この手順により得られた成果の一部は下表の通りで、上記の結果はあくまで目安であり、これに限定されるものでもないというべきであることに注意していただきたい。 【b】次に、aに対して実施した後頭部部への局所麻酔を実施したところ、次の事実が認められました(1)すなわち、aに対する局所麻酔を実施する前と比較して血中濃度が低下している(2)しかし、その後4日目以降も一定の数値を示すことで継続投与の必要性を示唆することができた 3.以下では、両群とも注射対象となった箇所での検査や血液採取を行います。また今回使用した静脈内皮弁の状態によっても若干異なりますのであらかじめご了承ください 4.以上ではc-トリプタミン系阻害薬を使用した後にアシクロビルを加えたものを実施しています。そのため今回の経過中の臨床的な変化としては以下のものが考えられたと考えられます(6) 1.まず、aさんの治療後の反応を確認しようとctスキャンを行う予定ですが、そのときにct上に写った患者の位置を確認するためにx線カメラを使っています 2.最後に、右肺動脈閉塞性病変所見の有無を調べる目的でレントゲン'

- 生のままでは厳しいか。もう少し前文に沿った文章とならないものか。
- ストップワードも設定すべきだろう。bad_word_idsで設定。
- 文章要約1と同じように、Discriminatorを用いても良いかもしれない。重くなるが頻繁に行うことでもないし。
- ＊LM-Critic: Language Models for Unsupervised Grammatical Error Correction
https://arxiv.org/abs/2109.06822
文法チェックモデルのみ用いた、ラベル無しデータノイズ付与繰り返し訓練文法誤り訂正


### 文章要約２

- ある程度の多様性を確保して。主要ポイントと広がった話題を抽出する。

```python:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
  
tokenizer = AutoTokenizer.from_pretrained("kz/mt5base-finetuned-patentsum-japanese-small")
model = AutoModelForSeq2SeqLM.from_pretrained("kz/mt5base-finetuned-patentsum-japanese-small")

input_ids = tokenizer.encode(data, return_tensors='pt')
gen = model.generate(input_ids,     
                    do_sample=True
                    top_k=5,
                    top_p=0.98,
                    max_length=200)
data = tokenizer.decode(gen[0], skip_special_tokens=True)
```

'本発明は、片頭痛を処置する方法、及び、片頭疼を予防する方法に関する。本発明は、特に、片頭痛を処置するための方法及び組成物に関する。図面0では、c-トリプタミン系阻害薬を使用した後にアシクロビルを加えたものを実施し、その結果患者の状態が改善された。図面0では、c-トリプタミン系阻害薬を使用した後にアシクロビルを加えたものを実施し、その後、静脈内皮弁の状態によっても若干異なる。図面0では、薬物及び薬剤の使用方法も記載されている'


# コメント

- 「片頭痛」を呼び水として、「c-トリプタミン系阻害薬を使用した後にアシクロビル」「静脈内皮弁」が掘り起こされた。
- 痛み→帯状疱疹→アシクロビル？（偏頭痛にヘルペスウイルスが関与することがありアシクロビルが投与されることがある、そうだ。）
- 痛み制御→セロトニン→トリプタミン系？（偏頭痛の原因？）
- 片頭痛・群発頭痛の治療→スマトリプタン→トリプタミン系？
- 偏頭痛→静脈内の特殊な物質が肺を通過せずに脳動脈に達することによる偏頭痛→静脈内皮弁？（弁？　頭痛に関係しそうな静脈は脳静脈と肺静脈であろうが、双方とも弁はほぼ無いのでは。僧帽弁？。肺静脈の高圧化？肺動脈梗塞による交換不良による頭痛？。脳梗塞？）
- 偏頭痛とアシクロビル・トリプタミン・静脈内皮弁は、GPT-2により生成された文章内で異なる文脈に配置されているようにも見える。意味のある掘り起こしと言えるのだろうか。
- 抗CGRP抗体は…
- 片頭痛（病態と治療）
https://sedoctor.hatenablog.com/entry/2021/09/30/230042
- Meta-analysis of 375,000 individuals identifies 38 susceptibility loci for migraine : Nature Genetics : Nature Publishing Group
http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.3598.html
片頭痛と血管疾患など
- 課題に関連する予想外の知識を取り出すことができれば、と期待したが・・・ドメイン設定が適当ではないため適切な知識が取り出せない、といった結果であろうか。
- 課題に関連する予想外の知識をGPT2自体から抜き出すのではなく、「受け手の脳からインサイトとして」抜き出す、という意味では、価値があるかもしれない。（片頭痛と弁は関係するのかな…）
- 任意の誘導はやはり必要だろう。
- finetuningにおいて工夫が必要である印象。
- 総合的には、教え方につき工夫の余地がまだまだあり、非常に面白いとの印象を持った。


# 追加

- 後日様々な検討をしたが、MT5につき、prefixを追加し学習し直さずとも、ある程度「任意のコントロール」ができるだろうとの印象を持った。
- mbartの要約モデルでも試してみよう。
- GPT2はどんならん。短く区切り話題が明後日の方向とならないようにする工夫は必須か。条件にあった生成がなされるまでパラメーターを変えつつ繰り返す工夫も採用すべきだろう。もう少し賢い手段がないものか。先人の知恵は…説明と少量のデモンストレーションを与える方式とするとより良いだろうか。
- 機械翻訳においては固有名詞が抜けがちとのこと。固有名詞の採用率を高めておく。
- 個人的には、transformerはパターン認識技術や知識任意導入技術と組み合わせてはじめて実用となる、という印象がある。そして肝は後者だとも。


大自然言語時代のための、文章要約
https://qiita.com/icoxfog417/items/d06651db10e27220c819

文書要約の歴史を辿って（＋BERTに文書要約させてみる）
https://qiita.com/siida36/items/4c0dbaa07c456a9fadd0

T5? BERSUM? 最近の要約言語モデルってどうなってるの？　最新言語モデルを比較してみた
https://www.cyberowl.co.jp/blog/technology/1236#503k9qev

Summarize Reddit Comments using T5, BART, GPT-2, XLNet Models
https://towardsdatascience.com/summarize-reddit-comments-using-t5-bart-gpt-2-xlnet-models-a3e78a5ab944
「Each model generates a different summarize output for the same dataset. Summarization by the T5 model and BART has outperformed the GPT-2 and XLNet models.」

Plug and Play Language Model implementation. Allows to steer topic and attributes of GPT-2 models.
https://github.com/uber-research/PPLM
生成任意コントロール技術PPLM。
コード修正必要。ちまちま修正してみるかね。

Data to Text generation with T5; Building a simple yet advanced NLG model
https://towardsdatascience.com/data-to-text-generation-with-t5-building-a-simple-yet-advanced-nlg-model-b5cce5a6df45
https://colab.research.google.com/drive/1OLWXsNQ4KcoGbv6fVSB0HpSW4LqCZiRx
リスト内の単語を矯正するように訓練？

「文は短く」は俗説か？ー〈短文信仰〉を屠り、短文のレトリックと長文のロジックを取り戻すために
https://readingmonkey.blog.fc2.com/blog-entry-609.html

Prompt Tuning : Model Tuningの精度に迫る最新チューニング手法 (The Power of Scale for Parameter-Efficient Prompt Tuningまとめ)
https://qiita.com/kts_plea/items/79ffbef685d362a7b6ce

＊すでに存在するものから何かを生み出す創造性として，知財でよく使われる手法は次の通り．これを組み込むだけで良いかもしれない．（まあいわゆるデザイン手法なわけだが）
1.ある用途に用いられる解決手段から検索（もの要素A用途B→もの要素A検索）
2.検索された解決手段の課題をマイニングで抽出（もの要素A検索→課題C発見），課題の上位概念化（課題C→課題CC）…
3.抽出された課題から検索（課題CC検索），その課題を問題とする用途をテキストマイニングで上位から抽出（用途D）
4.用途ごとに手段の適用可能性を検討（用途D―もの要素A相関→実現可能性）…
5.用途と手段の組み合わせ検索から実用性を確認（用途D―もの要素A検索→市場性）…

＊なぜデザイン思考はゴミみたいなアイデアを量産してしまうのか
https://note.com/studies_ceo/n/nd3c499f24052

*Entailment as Few-Shot Learner
https://arxiv.org/abs/2104.14690v1

＊Pun-GAN: Generative Adversarial Network for Pun Generationhttps://arxiv.org/abs/1910.10950
https://ai-scholar.tech/articles/gan/pungan

最先端NLP2021
https://sites.google.com/view/snlp-jp/home/2021?utm_campaign=Weekly%20Kaggle%20News&utm_medium=email&utm_source=Revue%20newsletter

・最先端NLP2021: How Good is Your Tokenizer? On the Monolingual
Performance of Multilingual Language Models
https://speakerdeck.com/tathi/zui-xian-duan-nlp2021-how-good-is-your-tokenizer-on-the-monolingual-performance-of-multilingual-language-models
multilingual BERT v. monolingual BERT
複数言語複数タスクであっても，monolingualが強い．事前学習とtokenizerの適切
さ
Vocab sizeの問題？　Jaは大差なし？？

・最先端NLP2021:How can we know what language model know?
https://speakerdeck.com/kichi/snlp2021
事前学習済み言語モデルから知識を取り出す
良いPromptを自動生成

・最先端NLP2021:Calibrate Before Use: Improving Few-shot Performance of
Language Models
https://soskek.github.io/publications/snlp2021_calibrate_before_use.pdf
「単語列からその後に続く単語の確率 を計算するモデル (autoregressive LM)
単語列の穴に当てはまる単語の確率 を… (masked LM)」
「順番のインパクトがでかすぎる本来は非本質な情報なのに…」
「プロンプトの3要素
1. フォーマット: プロンプトとラベルの “言葉選び”, テンプレート
2. 事例(集合): 例示的に見せる事例 (文 + ラベル)
3. 事例の順番: (複数の事例を)どの順番でつなげるか」
「後のほうに見せた事例のラベルに引っ張られる; Recency bias
* 見せた事例のラベル頻度にも多少引っ張られる; Majority label bias
* (あと、素朴な単語頻度にも引っ張られる; Common token bias)」
「『こんな入力が入ってきたとしても答えようがないだろう』
という疑似事例 (context-free input) をデザインして
『それに対して各ラベル確率が一様になるような補正』を求めて使う」
？

・最先端NLP2021:What Context Features Can Transformer Language Models Use?
https://speakerdeck.com/yuri00/lun-wen-shao-jie-what-context-features-can-transformer-language-models-use
contextは長いほうが良い．
Transformer，GPT2．ターゲットから離れたcontextでは固有表現のみ使われる？
「局所的な共起関係が保たれれば語順はあまり重要でない」
「有用な情報は内容語や局所的な共起関係に主に含まれる
長いcontextの効果はトピックや固有表現だけでは説明できない
Context内の情報量の少ない語を情報量の多い語に置き換えても結果が良くなるわ
けではなかった．」
トピックや固有表現の既存知識ベースはTransformerを補えうるのかなやはり

・最先端NLP2021:A distributional approach to controlled text generation.
In: ICLR2021
https://drive.google.com/file/d/15Mop-UMMi1pQhGSQIL5WdFE5V0ay8e4T/view
言語モデルにより生成されるテキストの内容を制御したい
内容制御すると生成分の多様性が失われる
乖離を抑える　生成文の分布を
既存手法はPlug&PlayやCTRL
制御内容（単語など），その内容の充足度設定（その単語0.7出現など）・・・結
果としては制約を満たすとは限らない．バイアスの修正にも有効？
解像度変換には向かないが分散表現で置き換えることはできるか

・最先端NLP2021:causal analysis of syntactic agreement mechanisms in
neurallanguagemodels
https://docs.google.com/presentation/d/1CNdnGcNQqOq4SkNd25gAseAwV73c39vO1SCaLKesO54/edit#slide=id.ged65c096e4_0_57
言語モデルが〜を解くメカニズムを因果媒介分析で調査とのこと．
モデルのどのあたりがタスクを解くのに寄与しているか分析？そうそう面白い結果
もなさそう？


・最先端NLP2021:intrinsic dimensionalityexplain the effectiveness of
language model fine-tuninh
https://github.com/KazutoshiShinoda/slides/blob/master/SNLP2021-IntrinsicDimensionalityExplainstheEffectivenessofLanguageModelFineTuning.pdf
finetuningは何故うまくゆくのか
一定の指標を取れる最低のパラメータ数で分析
数千パラメータで十分？　モデルのパラメータが多いほど少ないパラメータで足り
る？　少ないパラメータで良いほど汎化誤差は小さい？

・Symbolic Knowledge Distillation: from General Language Models to Commonsense Models
https://arxiv.org/abs/2110.07178
GPT-3 から知識グラフを自動作成。

・NLP2022　
A4-1	確信度を考慮した言語モデルの関係知識評価
	○吉川和 (東工大/富士通), 岡崎直観 (東工大)
言語モデルから知識を取り出す．誤りリスク管理

・PH1-6	テキスト生成モデルを利用した対話型広告におけるシナリオ設計に有用なキーフレーズの抽出
	○戸田隆道, 友松祐太, 杉山雅和, 邊土名朝飛, 東佑樹, 下山翔 (AI Shift)
ターゲットワードを与えて文生成し，名詞をキーワードとして取り出す．
gpt2　wiki検索などより多様な名詞が得られた
wiki　関係ない情報多し
twitter　GPT2に無い情報も

・事前学習モデルT5とTransformersを使ってお手軽日本語文書要約をやってみた
https://tech.retrieva.jp/entry/2021/11/24/183232
確かに繰り返しが問題でした．事前学習の差はたしかに大きいでしょう．
以下の日本語事前学習T5で同じ特許文章要約モデルを作れば，より良い結果となるかもしれませんね．

https://huggingface.co/megagonlabs/t5-base-japanese-web

＊「かな漢字英単語混合文章」に対する各タスクにおける精度は，T5とmT5で比較した場合，どちらが高いのだろう？
mT5を試していてちょっと面白かった点は，文章誤り訂正において，次のような言語間の意味を考慮した変換？が起きたことでした．
"彼の名前はallenです。彼の**name**は ＜extra_id_0＞" → "彼の名前はallenです。彼の**名前**は**英語**です。"
nameが名前に変わりました．allenと言う表現が英語だと認識したのかnameと言う表現が英語だと認識したのかわかりませんが，空白に英語が出力されました．T5で同じ施行をしたらどうなっていたでしょうね？

https://huggingface.co/kz/mt5base-finetuned-ECC-japanese-small

 "translate japanease to english:  赤い花． => red flower. 青い花． => <extra_id_0>"
→"赤い花. => red flower. 青い花. => **blue** flower"　
普通に翻訳できた．追加タスクとは一体・・・

＊RANKGEN: Improving Text Generation with Large Ranking Models
https://arxiv.org/abs/2205.09726
言語モデル出力を並び替える手法
prefixの直後に来る系列を正例、そうでないものを負例として学習
prefixから見たときの一貫性に基づきランキング可能

# 参考追記）　ChatGPTで生成

**ChatGPT**
https://chat.openai.com/chat

間違えは結構あり一般化しすぎている場合もあるが，インサイトを得るに十分かもしれないChatGPTで試行．

- '本発明は、片頭痛を処置する方法、及び、片頭疼を予防する方法に関する。本発明は、特に、片頭の痛みを処置するための方法及び組成物に関する。に続く文章を生成して．'
→「片頭痛を処置する方法としては、様々な手段があります。一つの方法としては、痛みを感じたときに適量のアセトアミノフェンを服用することです。また、ストレッチやマッサージ、睡眠や休息、ストレスを軽減することなども有効です。また、片頭痛を予防するためには、健康的な生活習慣の維持、ストレスを軽減すること、適度な運動をすること、健康的な食生活を心がけることなどが有効です。また、個々人に合わせた片頭痛の治療法を決めるためには、医師や薬剤師などの専門家に相談することが重要です。」

- '本発明は、片頭痛を処置する方法、及び、片頭疼を予防する方法に関する。本発明は、特に、片頭の痛みを処置するための方法及び組成物に関する。という要約をもとに，具体的な請求項を作成して．'
→「本発明は、片頭痛を処置する方法、及び、片頭痛を予防する方法を提供する。本発明の方法は、次のようにする。
１　片頭痛を処置するために、薬物治療を行う。例えば、NSAIDs（非ステロイド性消炎鎮痛薬）やトリプトファン（Triptan）などがある。
２　片頭痛を処置するために、生体刺激療法を行う。例えば、超音波療法やトランスクランシー（Transcranial Magnetic Stimulation, TMS）などがある。
３　片頭痛を処置するために、リラックステクニックを用いる。例えば、呼吸法やストレッチング、瞑想などがある。
４　片頭痛を予防するために、ストレスを軽減する。ストレスを軽減するためには、リラックステクニックやエクササイズ、健康的な生活習慣の維持などが有効である。
本発明の組成物は、片頭痛を処置するための薬物である。例えば、NSAIDsやトリプトファンなどがある。
以上が、片頭痛を処置する方法、及び、片頭痛を予防する方法に関する具体的な請求項である。」

- ’血管の弁はどのように関係していますか？’
→「血管の弁は、血管内を流れる血液の流れを制御する機能を持っています。血管内を流れる血液が、必要なところだけ流れるように、血管の弁は開いたり閉じたりします。
**片頭痛については、血管の弁と直接的な関係はありませんが、血管の拡張や収縮による血流の変化が、片頭痛の原因とされることがあります。**例えば、血管が拡張しすぎると、血圧が上がり、頭の痛みを引き起こすことがあるとされています。また、血管が収縮しすぎると、血流が減少し、頭の痛みを引き起こすことがあるとされています。
したがって、血管の弁は、血流を制御することで、片頭痛を抑制することができると言えます。血管の拡張や収縮をコントロールする薬物や生体刺激療法などが、片頭痛を処置する手段として用いられることがあります。」

- ’片頭痛と静脈内皮弁との関係は？’
→「片頭痛は、頭を痛める病気の一種です。静脈内皮弁は、静脈内にある弁のことを指します。静脈内皮弁は、静脈内を流れる血液の流れを制御する機能を持っています。
**片頭痛と静脈内皮弁との関係は、直接的ではありませんが、血流や血圧の変化が、片頭痛の原因とされることがあります。**例えば、静脈内皮弁が開いたり閉じたりすることで、血流や血圧が変化することがあります。このような血流や血圧の変化が、片頭痛を引き起こすことがあるとされています。
したがって、静脈内皮弁は、血流や血圧を制御することで、片頭痛を抑制することができると言えます。血流や血圧をコントロールする薬物や生体刺激療法などが、片頭痛を処置する手段として用いられることがあります。」

- ’片頭痛とアシクロビルとの関係は？’
→「片頭痛は、頭を痛める病気の一種です。アシクロビルは、非ステロイド性消炎鎮痛薬（NSAIDs）の一種です。NSAIDsは、炎症や痛みを抑える作用があります。
片頭痛とアシクロビルとの関係は、アシクロビルが片頭痛の治療薬として用いられることです。アシクロビルは、片頭痛を引き起こす原因とされる炎症や痛みを抑えることで、片頭痛を軽減する効果があるとされています。
ただし、アシクロビルは、副作用があることがあるので、医師の指示に従って服用する必要があります。また、アシクロビルは、他の薬との相互作用があることもあるので、医師や薬剤師に相談することが重要です。」

- ’まだ知られていないけれど有望そうな片頭痛の治療方法にはどのようなものがありますか？’
→「片頭痛の治療方法として、現在知られているものには、薬物治療、生体刺激療法、リラックステクニック、ストレス軽減、および手術などがあります。
また、片頭痛の治療に有望なとされる新しい方法として、以下のようなものが挙げられます。
１　経頭蓋神経電気刺激療法（Transcranial Electrical Nerve Stimulation, TENS）：経頭蓋を通じて神経を刺激することで、片頭痛を抑制する効果があるとされています。
２　光刺激療法：片頭痛を引き起こす原因とされる神経細胞を刺激する光を使用して、片頭痛を抑制する効果があるとされています。
３　血流再建手術（Extracranial-Intracranial Bypass Surgery）：片頭痛を引き起こす原因とされる血流障害を改善するために、頭部外から頭部内への血流を再建する手術があります。
４　ビスフェノールA（Bisfenol A, BPA）を摂取することで片頭痛を抑制することができるとされています。
上記のような方法は、まだ研究が進んでいる段階であり、実用的な治療法としては、まだ確立されていません。将来的に、より効果的で安全な片頭痛の治療方法が開発されることを期待しています。」

・・・うーむ．
・具体的過ぎて，またそれっぽすぎて，逆にインサイトが得られない印象．
・「弁」のような**異常とも言えそうな単語は生成されず**，先の生成で感じた「弁って何？」という**ワクワク感**が得られなかった．
どう考えるべきか・・・
**予想外の希少語の生成がインサイトツールには必須**なのかもしれないな・・・


# 追加２

＊**沢井製薬　片頭痛の急性期治療に用いる医療機器「SWD001」を承認申請**
https://www.mixonline.jp/tabid55.html?artid=74157&ex230106e
「SWD001は非侵襲型ニューロモデュレーション装置で、頭部に装着して後頭神経と三叉神経に同時刺激を与えることにより、脳幹で神経伝達物質の放出を促進し、痛みや気分の制御に関連する脳内ネットワークを調節して効果を生み出す。」

・谷口 忠大 先生（立命館大学）
**社会における分散的ベイズ推論としての記号創発 〜集合的予測符号化としての⾔語観〜**
招待講演 ⾔語処理学会第29回年次⼤会(NLP2023) 15th March 2023

＊**フレームワークと言語モデルを使った発明案生成例：TRIZ　拡大縮小**
https://eager-duck-e33.notion.site/f2e33c8af52b472bbe43151572aa7283
「スパースモデリングとベイズ推定の組み合わせと言語モデルは、それぞれ異なる方法で拡大と縮小のプロセスを用いて新しいデータを生成することができます。以下に、それぞれの手法における拡大と縮小のプロセスを説明し、比較します。

スパースモデリングとベイズ推定の組み合わせ:

1. 拡大: 事前知識やデータから予測を行い、新しい情報を追加するプロセスです。ベイズ推定では、事前分布と尤度から事後分布を計算することで、データに基づく予測が行われます。
2. 縮小: スパースモデリングでは、正則化項を導入することで、重要な情報だけを残すプロセスが行われます。これにより、モデルの複雑さが抑えられ、過学習を防ぐことができます。

言語モデル:

1. 拡大: 言語モデルでは、学習済みの単語や文章の確率分布を用いて、新しい文章や単語の生成が行われます。これにより、新しい情報が追加されるプロセスが実現されます。
2. 縮小: 言語モデルの学習では、過学習を防ぐために正則化やドロップアウトなどのテクニックが用いられます。これにより、重要な情報だけを残すプロセスが行われ、モデルの複雑さが抑えられます。

両者の共通点は、拡大プロセスで新しい情報を生成し、縮小プロセスで重要な情報を残すことで、効果的なデータ表現や生成が行われることです。しかし、スパースモデリングとベイズ推定の組み合わせは、信号やデータのスパース性を利用して効率的な表現を求めるのに対して、言語モデルは、自然言語の生成過程を学習し、文章の生成や翻訳などのタスクに適用されます。両者は異なる応用分野や目的で使用されるため、適用する問題に応じて適切な手法を選択することが重要です。

言語モデルにおける縮小とは要約でしょう．その点踏まえ書き直してください

すみません、説明が不十分でした。言語モデルにおける拡大と縮小について、以下に改めて説明し、比較します。

スパースモデリングとベイズ推定の組み合わせ:

1. 拡大: 事前知識やデータから予測を行い、新しい情報を追加するプロセスです。ベイズ推定では、事前分布と尤度から事後分布を計算することで、データに基づく予測が行われます。
2. 縮小: スパースモデリングでは、正則化項を導入することで、重要な情報だけを残すプロセスが行われます。これにより、モデルの複雑さが抑えられ、過学習を防ぐことができます。

言語モデル:

1. 拡大: 言語モデルでは、学習済みの単語や文章の確率分布を用いて、新しい文章や単語の生成が行われます。これにより、新しい情報が追加されるプロセスが実現されます。
2. 縮小（要約）: 言語モデルを用いた文書要約では、元の文章から重要な情報だけを抽出し、短い要約を生成するプロセスが行われます。これにより、情報量が縮小される一方で、重要な情報は保持されます。

スパースモデリングとベイズ推定の組み合わせと言語モデルは、拡大と縮小のプロセスを異なる方法で実現しています。スパースモデリングとベイズ推定は、信号やデータのスパース性を利用して効率的な表現を求めるのに対して、言語モデルは、自然言語の生成過程を学習し、文章の生成や要約などのタスクに適用されます。両者は異なる応用分野や目的で使用されるため、適用する問題に応じて適切な手法を選択することが重要です。


言語モデルにおいて，拡大時に情報を追加するに当たり，その情報はどのように選択されますか．また，言語モデルにおいて，縮小時に情報を抽出または削減するに当たり，その情報はどのように選択されますか．

3 / 3

言語モデルにおいて、拡大時に情報を追加する際や、縮小時に情報を抽出または削減する際の情報選択について説明します。

拡大時（情報追加）:
言語モデルでは、学習済みの単語や文章の確率分布を用いて新しい文章や単語を生成します。具体的には、学習データから得られた確率分布に従って、次の単語やフレーズの選択が行われます。この選択は、一般的には次の2つの方法で行われます。

1. 貪欲法（greedy search）: この方法では、各ステップで最も確率が高い単語を選択します。これにより、局所的に最適な選択が行われますが、全体として最適な文章が生成されないことがあります。
2. ビームサーチ（beam search）: この方法では、複数の候補を同時に追跡し、各ステップで確率の高い組み合わせを保持します。これにより、より全体的に最適な文章を生成することができますが、計算コストが高くなります。

縮小時（情報抽出・削減）:
言語モデルを用いた文書要約の場合、元の文章から重要な情報を抽出・削減するプロセスが行われます。情報の選択は、一般的には次の2つの方法で行われます。

1. 抽出型要約（extractive summarization）: この方法では、元の文章から重要な文やフレーズを選択し、それらを組み合わせて要約を生成します。選択は、TF-IDFや重要度スコアなどの指標に基づいて行われます。言語モデルは、選択された文やフレーズをより自然な形で結合するために使用されることがあります。
2. 生成型要約（abstractive summarization）: この方法では、言語モデルを用いて元の文章の内容を表す新しい文章を生成します。ここでの情報選択は、モデルが学習データから獲得した文章の構造や意味を基に行われます。生成型要約では、Seq2SeqモデルやTransformerモデルなどのニューラル言語モデルが一般的に使用されます。


言語モデルを用いた情報の選択は、拡大時（情報追加）と縮小時（情報抽出・削減）で異なる方法が用いられますが、その根底にあるのはモデルが学習した文脈や確率分布に基づく選択です。言語モデルは、大量のテキストデータから自然言語のパターンや構造を学習し、それを利用して新しい情報を生成したり、既存の情報を要約したりします。

拡大時には、確率分布に基づいて次の単語やフレーズを選択し、新しい文章を生成します。縮小時には、元の文章から重要な情報を抽出・削減し、要約を作成します。どちらの場合も、言語モデルは学習データから得られた知識を活用して、適切な情報の選択を行います。

結論として、言語モデルにおける情報の選択は、拡大時には確率分布を利用して新しい情報を生成し、縮小時には文脈や重要度に基づいて情報を抽出・削減します。これにより、言語モデルは自然言語の生成や要約などのタスクを効果的に実行することができます。

尤度と事前分布に基づく次の単語の選択と，transformerを用いた学習データから得られた確率分布に従った単語の選択とでは，本質的にはどのような違いがありますか

尤度と事前分布に基づく次の単語の選択（ベイズ的アプローチ）と、Transformerを用いた学習データから得られた確率分布に従った単語の選択との間には、本質的に以下のような違いがあります。

1. 確率モデリングのアプローチの違い:
ベイズ的アプローチでは、事前分布と尤度を組み合わせて事後分布を計算し、それに基づいて次の単語が選択されます。このアプローチは、事前知識（事前分布）と観測データ（尤度）を明示的に組み合わせてモデルを更新します。
    
    一方、Transformerモデルでは、大量の学習データを使って確率分布を学習し、その分布に従って次の単語を選択します。このアプローチは、事前知識と観測データが暗黙的に学習データに組み込まれており、モデルは自動的に文脈や構造を学習します。
    
2. モデルの構造と学習方法の違い:
ベイズ的アプローチでは、確率モデルが明示的に設定され、パラメータが事後分布から推定されます。ベイズ的アプローチは、パラメータの不確実性を扱うために、マルコフ連鎖モンテカルロ法などのサンプリング手法を使用することが一般的です。
    
    一方、Transformerモデルは、ディープニューラルネットワークの一種であり、大量の学習データを用いて最適なパラメータを求める勾配降下法を用います。Transformerは、自己注意メカニズムを利用して、文脈に依存した単語表現を学習し、より効果的な言語モデルを構築します。
    

これらの違いから、ベイズ的アプローチは確率モデリングの観点から明示的で柔軟性があり、パラメータの不確実性を考慮することができます。一方、Transformerモデルは、複雑なデータ構造や文脈を捉える能力が高く、大規模なデータセットから効果的に学習することがで
ことができます。Transformerモデルは、その学習能力と表現力から、近年の自然言語処理タスクにおいて非常に成功しています。

1. 予測の不確実性の扱い:
ベイズ的アプローチでは、事後分布を通じて予測の不確実性を明示的に扱うことができます。これにより、モデルの不確実性を考慮した意思決定やリスク評価が可能になります。
    
    一方、Transformerモデルでは、予測の不確実性は暗黙的に表現されます。モデルの出力は、確率分布として解釈できますが、パラメータの不確実性は直接扱われません。予測の不確実性を考慮するためには、アンサンブル学習やドロップアウトなどの技術が使用されることがあります。
    

これらの違いを踏まえると、ベイズ的アプローチとTransformerモデルは、それぞれ異なるアプローチや目的で使用されます。ベイズ的アプローチは、明示的な確率モデリングや不確実性の扱いが重要な場合に有用です。一方、Transformerモデルは、大規模なデータセットや複雑な文脈を効果的に学習し、高い性能を達成する自然言語処理タスクに適しています。どちらのアプローチも、その特性と制約に応じて適切に選択・適用することが重要です。」