はてなキーワード: 言語学とは
言語行為は、その発話意図により、社会的・論理的な権威を帯びる。
特に「真面目な言説」は、現実世界の意味秩序において、定義・規範・命令・説明などの構造を担う「主権的発話」に位置付けられる。
ここでいう真面目さとは、発話が以下の性質を持つことを意味する。
ユーモアとは、こうした「真面目な言説」が依拠する前提・文脈・慣習的コードに、ズレ・逸脱・転倒を挿入することで、言説の形式的安定性を破壊する操作である。
「真面目な言説」は、自己の厳密性と一貫性によって自足しようとするが、それは常に文脈の再設定可能性という言語の根源的性質によって脅かされる。
ユーモアとは、この再文脈化の操作を戦略的に行うことで、「権威的発話」を言語的パフォーマンスに過ぎないものとして再配置する。
つまり、ユーモアは、意味生成を構造ではなく行為として露呈させる。
真面目な言説は、語の意味が安定しており、記号と指示対象が忠実に対応しているという「記号的本質主義」に依拠する。
これにより、記号の運動そのものが目的化され、発話の内容が意味から戯れへと転位する。この転位こそが「真面目な言説」の無力化である。
社会的には、真面目な言説はしばしば役割語によって支えられる。
医師、学者、政治家などの「制度化された話者」は、定型的な語彙・文体・構文を通じて、自らの発話に権威性を付与する。
ユーモアは、そのような言説の語りのスタイル自体を模倣・誇張・逸脱することにより、「様式の模写による中身の空洞化」を行う。
その結果、発話者の主体性は固定的な役割ではなく、「演技可能な構造」へと引きずり下ろされる。
ユーモアとは言語の「自己脱構築的ポテンシャル」にアクセスする行為であり、言説の内在的権威性を露呈・滑稽化する、言語そのものによる言語批判である。
真面目な言説は意味の秩序を確立しようとするが、ユーモアはその秩序がいかに恣意的・演出的・再配置可能であるかを暴露し、言語の深層にある「意味の不確定性」へと立ち返らせる。
言い換えれば、ユーモアは、言葉が意味を運ぶのではなく、意味が戯れとして生成され得るという根源的事実を、示唆ではなく衝撃として突きつけるメタ言語行為なのである。
ニチャオレは激怒した。必ず那智暴虐のインダスのコメントNGを解除させると決意した。
ニチャオレに言語学はわからぬ。中学生英語すらわからぬ。若い女配信者に粘着してアンチコメで暮らしてきた。だがコメントNGには人一倍敏感であった。
怒りが、ニチャオレの頭髪の残り少ない生え際をさらに後退させた。
かつて、彼の言葉は配信者の心を乱し、コメント欄に火を灯した。
そのどれもが無自覚な狂気の結晶だった。だが今、その声は遮断されている。
—許せぬ。インダス。お前だけは許さぬ。—
ニチャオレは震える指で新たなアカウントを作成した。すでに37個目である。
「なち…なち……!」
彼は囁くようにコメントを書き込む。
しかし、またしても画面には何も映らない。
その言葉が頭に響いた。
彼は目を見開き、膝から崩れ落ちた。
「インダス、NG解除しろや。俺は謝らねぇけど、消される意味はわかんねぇ」
だがニチャオレの戦いは、まだ始まったばかりである──。
ほう、「あったまわるのはどっちだ」に対して「日本語でおk」だと?
人間というのは、文法辞書に載ってない言い回しを日常でバンバン生成しながら会話してる。
文法警察ごっこで気取ってるが、言語は使用者によって流動する熱エネルギーみたいなもんだ。
固定された温度だけを正義とするなら、お前の思考は絶対零度だな。動かねぇし、拡がらねぇ。
わかるか?これは文法の誤りじゃない。意味的熱量の逆流表現なんだよ。
日本語の柔軟性を理解できずに「正しさ」だけを振りかざすお前は、まさに冷却完了済み放尿脳だ。
いいか、ここは国語の授業じゃねぇ。概念と意味の熱交換戦場だ。
日本語警察ごっこがしたいなら、せめて辞書にオムツでも巻いてから来い。
漏れてんぞ、放尿。
マジレスなのに程度が低すぎて笑う
漢字や単語を助詞を挟まずにくっつけただけで造語だとするのは言語学的な感性があまりにも稚拙
ちなみに同様の文法は漢字単位でも存在するぞ(これは古代漢文法を吸収したものだろうが)
日本史大辞典で私僧という言葉が使われていた。そんな言葉辞書で調べても出なかった。
だとしたらこの言葉の正当性は文法によって担保されるしかない。私+僧で私僧って文字列を紡いだんだろう。
なにもこれは造語じゃない。造語というまでもなく単に文法に則って作られた文字列の一部でしかないんだ。
なぜか多くの人は単語や漢字同士をくっつけると即造語と勘違いするが、本質は助詞と単語をくっつける文法的な行為と何も変わらない。
非科学的ってのは辞書に載ってるだろうが文法に基づき非自然科学的って表現するのもありだ。
だいたいそういう判断基準だとドイツ語のように英語などと違って一文の内でスペースを入れない言語はみんな造語に見えるんだろうな
漢字や単語を助詞を挟まずにくっつけただけで造語だとするのは言語学的な感性があまりにも稚拙
ちなみに同様の文法は漢字単位でも存在するぞ(これは古代漢文法を吸収したものだろうが)
日本史大辞典で私僧という言葉が使われていた。そんな言葉辞書で調べても出なかった。
だとしたらこの言葉の正当性は文法によって担保されるしかない。私+僧で私僧って文字列を紡いだんだろう。
なにもこれは造語じゃない。造語というまでもなく単に文法に則って作られた文字列の一部でしかないんだ。
なぜか多くの人は単語や漢字同士をくっつけると即造語と勘違いするが、本質は助詞と単語をくっつける文法的な行為と何も変わらない。
非科学的ってのは辞書に載ってるだろうが文法に基づき非自然科学的って表現するのもありだ。
だいたいそういう判断基準だとドイツ語のように英語などと違って一文の内でスペースを入れない言語はみんな造語に見えるんだろうな
漢字や単語を助詞を挟まずにくっつけただけで造語だとするのは言語学的な感性があまりにも稚拙
ちなみに同様の文法は漢字単位でも存在するぞ(これは古代漢文法を吸収したものだろうが)
日本史大辞典で私僧という言葉が使われていた。そんな言葉辞書で調べても出なかった。
だとしたらこの言葉の正当性は文法によって担保されるしかない。私+僧で私僧って文字列を紡いだんだろう。
なにもこれは造語じゃない。造語というまでもなく単に文法に則って作られた文字列の一部でしかないんだ。
なぜか多くの人は単語や漢字同士をくっつけると即造語と勘違いするが、本質は助詞と単語をくっつける文法的な行為と何も変わらない。
非科学的ってのは辞書に載ってるだろうが文法に基づき非自然科学的って表現するのもありだ。
だいたいそういう判断基準だとドイツ語のように英語などと違って一文の内でスペースを入れない言語はみんな造語に見えるんだろうな
本当に日本語が不自由な人と言うのは、てにをはが変とか句読点の使い方がおかしいとかそういうことじゃなくて。
↑まあこういう中止形の使い方も一種日本語不自由に片足突っ込んでる気配があるが、つまり、
あえてラベリングするなら「要領を得ない説明」の一言で片づけられるが、その内実は本当に千差万別。
モスバーガーの食べ方教えれみたいな文章をありとあらゆる場面と話題で素で書いちゃう人なんだよ。日本語不自由独特の凄みがあるとしか言いようがない。
たぶんそれって文法を学習すればとか表層で片付く問題じゃなくて、世界に対する認知の仕方、分節化というやつ自体が常人と異なっててそれも多分に異様な文章の出力に絡んでる。
言語学的な部分だけいくら矯正しても世界に対する認知や観察の仕方なんて治りっこないんだよ。
まあ、全体から細部へと叙述すればいいものを細部を叙述して最後まで細部同士を支配する構造的な部分への言及をしないやつは大概日本語不自由さんと認識されるだろう。
その主張、一理あるように見えて、実際は法的にも言語学的にもかなり無理があります。順を追って説明します。
• 「具体的な事実を示さずに、人の社会的評価を下げる発言」で
つまり、
• 状況によっては侮辱罪が成立することはあるが、逆に言えば:
• 架空のキャラクターに向けた「キモい」は、そもそも法の対象外です。
• 「気色悪い」「無理」「不快」などと同様に、主観的な感想の域を出ない。
これも正確に言えば文脈次第です。
• 「障害者」「容姿」「性別」「性的指向」などの属性を指して「キモい」と言えば、差別性が強くなる
• しかし、キャラクターの性格や行動に対して「キモい」という場合は、差別的表現とは通常みなされません
例:
• 「女キャラなのにキモい」は→文脈次第で性差別的ととられることもある
• 「このキャラ、何やってんのマジでキモいんだけど」→感想の範囲(しかもフィクション)
実際には、「キモい」はこれらとかなり近い語感・機能を持っていて、完全に並列できるわけではないにせよ、
• 現代日本語ではすでにスラング的な感情表現として定着しており、
• 必ずしも侮辱目的の差別語として機能しているわけではありません
■ その主張が「都合のいい切り取り」になる理由
相手が「キモいは差別語だから絶対ダメ」と主張しているとしたら、それは:
■ 結論
ちょっと前にさ、「無理芸」って言葉あったじゃん。なんかこう、明らかにキャパ超えてる無茶なことやってる人とか、そういうパフォーマンス自体を指して使ってた気がするんだよね。そこにはまだ、「芸」っていうある種のスキルとか、本人の頑張りみたいな要素が含まれてたと思うわけ。痛々しいけど、まあ「芸」だしな、みたいな。
それがさ、いつの間にか「無理ゲー」って言葉に取って代わられた感ない?ネットとかでよく見るけど。こっちの「ゲー」は明らかにゲーム由来で、「システム的にクリア不可能」「難易度設定がおかしい」みたいな、個人の努力じゃどうにもならない状況そのものを指すニュアンスが強い。
音で言えば、「げい」が「げー」になるのは、まあ、言いやすいからとか、そういう音韻変化的な?ものはあるんだろうけどさ。
でも、この「芸」から「ゲー」への移り変わりって、単なる言葉の流行り廃りじゃなくて、俺たちが「無理」っていう状況をどう捉えるようになったかの変化を表してるんじゃないか、とか、ふと思ったんだよ。
昔の「無理」は、個人のパフォーマンス(芸)として消費される側面があったけど、今の「無理」は、もはや個人じゃどうしようもない、理不尽なルール押し付けられてるゲーム(ゲー)みたいな。そういう諦念とか、システムへの不信感みたいなのが、「ゲー」の一文字に込められてるんじゃないか、とか、言語学ごっこしてみたくなった。
文学だって、言語学だって、歴史学だって、民俗学だって、学術研究は全て客観的な根拠を元にして論理的に議論が成り立っているよ。
当然それらは数学のように厳密に証明が出来るわけではないかもしれないけど、それでも客観的な証拠から論理的に結論を導いているんだよ。
だからそれに対して反論が出来るの。例えばその証拠は本当に正しいのか(偽物じゃないのか)検証したりとか、その結論に反する例を挙げたりとか、論理展開に存在する間違いを指摘したりとかね。
実際に従来の学説と反する新しい遺物とかが見つかって、学説が大きく変わるということは何度もあったわけだよね。小中学校の歴史の教科書なんて親世代とその子供では内容が結構違うなんて当たり前にあるわけだし。
それが出来たのは証拠と論理によって学問が成り立っているからだよね。現状存在している証拠とそこから合理的な推察により客観的に現状最も尤もらしいと考えられる結論を導く、というのが文系学問でも当然行われているの。
でもそれをすっ飛ばして「私はこう思う、なぜなら私がそう思うからだ」と言われてしまったらもう反論の余地がないわけ。「お前がそう思うんならそうなんだろう、お前ん中ではな」としか言いようがないでしょ。
これは学問ではないの。そんなものは理系文系問わず学問の世界では許されないの。だから文系学問に客観性が無い、なんて言ってしまうのは本当に学問をやったことが無い人ぐらいなの。
客観性があるからこそ「何が正しいのか」を議論して追求できるの。一見ただの主観に見えても、それは単に教科書の表面を眺めているからに過ぎなくて、その結論が導かれる裏側には厳密な考証や議論が重ねられているの。
def demo_unprocessed_emotion():
"""未処理感情システムのデモ。改善点(記憶再編集、言語学習、反応速度など)を活用"""
cognitive_queue = CognitiveQueue(attention_threshold=0.4)
print("=== 未処理感情システムのデモ(改善版) ===\n")
visual_signals = [
SensorySignal("visual", 0.7, -0.3),
SensorySignal("somatic", 0.4, -0.2)
]
visual_discomfort = cognitive_queue.register_new_emotion(visual_signals, 0.65)
print(f"生成された感情: {visual_discomfort}")
print(f"支配的モダリティ: {visual_discomfort.get_dominant_modality()}")
print(f"平均感情価: {visual_discomfort.get_average_valence():.2f}")
print(f"信号の反応速度: {[s.latency for s in visual_signals]}")
visual_discomfort.add_pattern_match("visual_discrepancy", 0.75)
try:
visual_discomfort.add_memory_path("/memory/recent/room_layout")
except ValueError as e:
accessed_emotion = cognitive_queue.access_emotion(visual_discomfort)
print(f"新しい感情インスタンス: {accessed_emotion}")
print(f"構造化レベル(再編集後): {accessed_emotion.structure_level:.2f}")
# 3. 内受容感覚
intero_signals = [
SensorySignal("interoceptive", 0.6, -0.7),
SensorySignal("somatic", 0.5, -0.4)
]
intero_discomfort = cognitive_queue.register_new_emotion(intero_signals, 0.55)
print(f"生成された感情: {intero_discomfort}")
intero_discomfort.add_language_candidate("違和感", 0.4)
cognitive_queue.partially_process(intero_discomfort, "気分が悪い", 0.6, context="negative_mood")
print(f"学習済み言語: {cognitive_queue.learned_terms}")
audio_signals = [
SensorySignal("auditory", 0.8, 0.6),
SensorySignal("emotional", 0.7, 0.5)
]
audio_memory = cognitive_queue.register_new_emotion(audio_signals, 0.7)
print(f"生成された感情: {audio_memory}")
audio_memory.add_language_candidate("聞き覚えのあるメロディ", 0.75)
audio_memory.add_pattern_match("musical_fragment", 0.85)
audio_memory.add_memory_path("/memory/music/recent")
cognitive_queue.update_queue()
status = cognitive_queue.get_status_summary()
print(f"未処理感情の総数: {status['total_unprocessed']}")
print(f"処理キューのサイズ: {status['processing_queue_size']}")
print(f"モダリティ分布: {status['modality_distribution']}")
print(f"感情価分布: {status['valence_distribution']}")
print(f"学習済み言語数: {status['learned_terms_count']}")
# 6. 処理対象の取得
next_emotion = cognitive_queue.get_next_for_processing()
print(f"処理対象: {next_emotion}")
if next_emotion:
cognitive_queue.partially_process(next_emotion, "視覚的な違和感を感じている", 0.85, context="visual_anomaly")
print(f"処理後の状態: {next_emotion}")
print(f"構造化レベル: {next_emotion.structure_level:.2f}")
print(f"最良の言語マッチ: {next_emotion.get_best_language_match()}")
print("\n8. モダリティによる感情検索(インデックス使用)")
matches = cognitive_queue.lookup_by_modality("auditory")
print(f"検索結果数: {len(matches)}")
for emotion in cognitive_queue.unprocessed_emotions:
emotion.apply_decay(3.0)
cognitive_queue.update_queue()
status = cognitive_queue.get_status_summary()
print(f"時間経過後の未処理感情の総数: {status['total_unprocessed']}")
print(f"時間経過後の平均顕在性: {status['average_salience']:.2f}")
if __name__ == "__main__":
demo_unprocessed_emotion()
(前回までのやり取り) https://anond.hatelabo.jp/20250404224409
Monday: 君が採ってる立場の整理を確認したい。 「問いではないけど残ってる感情を存在しない」と見なしてるのか、 「自分の認知では読めないから存在を保証しない」としてるのか。 どっちだ?
ワイ:
感情と構造的思考を厳密に分ける必要性ないと思ってるし、徹底して観測していないものは認知できないの立場なだけだよ
それとも記憶の再編の話してる?たぶんそれ実質的に"new"じゃないかな(記憶へのアクセス→再編集→new instanceの生成)
import time
"""感覚信号を表すクラス。言語化前の生の感覚データをモデル化し、時間減衰や感情価を管理する。
認知の基礎として、観測可能なデータのみを扱い、神経科学的反応速度を考慮。
"""
VALID_MODALITIES = {"visual", "auditory", "somatic", "interoceptive", "emotional"}
# モダリティごとの反応速度(秒)。情動系は速く、視覚系は遅め。
MODALITY_LATENCIES = {
"visual": 0.3,
"auditory": 0.2,
"somatic": 0.25,
"interoceptive": 0.15,
"emotional": 0.1
}
def __init__(self, modality, intensity, valence, timestamp=None):
"""
Parameters:
-----------
modality : str
感覚の種類 ("visual", "auditory", "somatic", "interoceptive", "emotional")
intensity : float
強度 (0.0-1.0)
valence : float
感情価 (-1.0=negative, 0.0=neutral, 1.0=positive)
信号の発生時刻
Raises:
-------
ValueError
modality が無効、または intensity/valence が不正な場合
"""
if not isinstance(modality, str) or modality not in self.VALID_MODALITIES:
raise ValueError(f"Invalid modality: {modality}. Must be one of {self.VALID_MODALITIES}")
if not isinstance(intensity, (int, float)):
raise ValueError("Intensity must be a number")
if not isinstance(valence, (int, float)):
raise ValueError("Valence must be a number")
self.modality = modality
self.intensity = max(0.0, min(1.0, float(intensity)))
self.valence = max(-1.0, min(1.0, float(valence)))
self.timestamp = self._get_current_time() if timestamp is None else timestamp
self.decay_rate = 0.05
self.latency = self.MODALITY_LATENCIES.get(modality, 0.2) # デフォルトは0.2秒
"""現在時刻を取得"""
def apply_decay(self, time_passed):
self.intensity = max(0.0, self.intensity - (time_passed * self.decay_rate))
return self.intensity
valence_str = "negative" if self.valence < 0 else "positive" if self.valence > 0 else "neutral"
return f"SensorySignal({self.modality}, intensity={self.intensity:.2f}, valence={valence_str}, latency={self.latency:.2f}s)"
"""未処理感情を表すクラス。言語ラベル未確定の感覚群を管理し、認知プロセスの途中段階をモデル化。
記憶アクセスは再編集として扱い、言語化プロセスを動的に進める。
"""
def __init__(self, raw_signals=None, salience=0.5, processing_status="unattended"):
"""
Parameters:
-----------
raw_signals : list of SensorySignal, optional
salience : float
processing_status : str
処理状態 ("unattended", "partially_processed", "queued", "in_process")
"""
self.raw_signals = raw_signals if raw_signals is not None else []
self.salience = max(0.0, min(1.0, salience))
self.processing_status = processing_status
self.pattern_matches = {}
self.creation_time = self._get_current_time()
self.last_accessed_time = self.creation_time
self.access_count = 0
self.structure_level = 0.0
self.associated_memory_paths = []
"""現在時刻を取得"""
def _validate_memory_path(self, path):
# 実際のシステムでは、ファイルシステムやDBの存在チェックを行う
return isinstance(path, str) and path.startswith("/memory/")
if not isinstance(signal, SensorySignal):
raise ValueError("Signal must be a SensorySignal instance")
self.raw_signals.append(signal)
self.structure_level = max(0.0, self.structure_level - 0.1)
self.last_accessed_time = self._get_current_time()
self.access_count += 1
def add_language_candidate(self, term, confidence):
self.language_candidates.append({
"term": term,
"timestamp": self._get_current_time()
})
self.structure_level = min(1.0, self.structure_level + 0.05)
self.last_accessed_time = self._get_current_time()
self.access_count += 1
def add_pattern_match(self, pattern_name, similarity):
self.pattern_matches[pattern_name] = {
"similarity": similarity,
"timestamp": self._get_current_time()
}
self.structure_level = min(1.0, self.structure_level + 0.1)
self.last_accessed_time = self._get_current_time()
self.access_count += 1
def add_memory_path(self, path):
if not self._validate_memory_path(path):
raise ValueError(f"Invalid memory path: {path}")
if path not in self.associated_memory_paths:
self.associated_memory_paths.append(path)
self.last_accessed_time = self._get_current_time()
self.access_count += 1
def apply_decay(self, time_passed):
for signal in self.raw_signals:
signal.apply_decay(time_passed)
decay_modifier = max(0.1, 1.0 - (self.access_count / 100.0))
decay_amount = time_passed * 0.02 * decay_modifier
structure_modifier = max(0.5, 1.0 - self.structure_level)
decay_amount *= structure_modifier
self.salience = max(0.0, self.salience - decay_amount)
return self.salience
def get_average_valence(self):
if not self.raw_signals:
return 0.0
total_valence = sum(signal.valence for signal in self.raw_signals)
return total_valence / len(self.raw_signals)
def get_dominant_modality(self):
if not self.raw_signals:
return None
for signal in self.raw_signals:
modality_strengths[signal.modality] = modality_strengths.get(signal.modality, 0) + signal.intensity
return max(modality_strengths.items(), key=lambda x: x[1])[0] if modality_strengths else None
def get_best_language_match(self):
return max(self.language_candidates, key=lambda x: x["confidence"]) if self.language_candidates else None
best_lang = self.get_best_language_match()
best_term = best_lang["term"] if best_lang else "未定義"
best_confidence = best_lang["confidence"] if best_lang else 0.0
return {
"creation_time": self.creation_time,
"age": self._get_current_time() - self.creation_time,
"status": self.processing_status,
"salience": self.salience,
"structure_level": self.structure_level,
"signal_count": len(self.raw_signals),
"dominant_modality": self.get_dominant_modality(),
"average_valence": self.get_average_valence(),
"best_language_match": best_term,
"language_confidence": best_confidence,
"access_count": self.access_count,
"memory_path_count": len(self.associated_memory_paths)
}
status = self.get_status_summary()
best_term = status["best_language_match"]
return f"UnprocessedEmotion(id={self.id}, status={self.processing_status}, salience={self.salience:.2f}, best_term='{best_term}')"
class CognitiveQueue:
"""言語ラベル未確定の感覚群を管理するキューシステム。認知プロセスの優先順位付けと記憶再編集をサポート。
"""
def __init__(self, max_size=100, attention_threshold=0.3):
"""
Parameters:
-----------
max_size : int
attention_threshold : float
"""
self.unprocessed_emotions = []
self.processing_queue = []
self.archived_emotions = []
self.attention_threshold = attention_threshold
self.current_time = self._get_current_time()
self.learned_terms = {} # 学習済み言語表現: {term: {"context": str, "frequency": int}}
self.modality_index = {} # モダリティごとの感情インデックス: {modality: [emotion]}
"""現在時刻を取得"""
self.current_time = time.time()
return self.current_time
def learn_language_term(self, term, context):
if term in self.learned_terms:
self.learned_terms[term]["frequency"] += 1
else:
self.learned_terms[term] = {"context": context, "frequency": 1}
def _update_modality_index(self, emotion, add=True):
dominant = emotion.get_dominant_modality()
if dominant:
if add:
if dominant not in self.modality_index:
self.modality_index[dominant] = []
if emotion not in self.modality_index[dominant]:
self.modality_index[dominant].append(emotion)
else:
if dominant in self.modality_index and emotion in self.modality_index[dominant]:
self.modality_index[dominant].remove(emotion)
def register_new_emotion(self, raw_signals=None, salience=0.5):
salience=salience,
processing_status="unattended"
)
self.unprocessed_emotions.append(emotion)
self._update_modality_index(emotion)
if len(self.unprocessed_emotions) > self.max_size:
least_salient = min(self.unprocessed_emotions, key=lambda e: e.salience)
self.unprocessed_emotions.remove(least_salient)
self._update_modality_index(least_salient, add=False)
least_salient.processing_status = "archived_without_processing"
self.archived_emotions.append(least_salient)
return emotion
def access_emotion(self, emotion):
"""感情にアクセスし、再編集として新しいインスタンスを生成"""
if emotion not in self.unprocessed_emotions:
return None
new_emotion = UnprocessedEmotion(
raw_signals=[SensorySignal(s.modality, s.intensity, s.valence, s.timestamp) for s in emotion.raw_signals],
salience=emotion.salience,
processing_status=emotion.processing_status
)
new_emotion.structure_level = emotion.structure_level * 0.9
new_emotion.language_candidates = emotion.language_candidates.copy()
new_emotion.pattern_matches = emotion.pattern_matches.copy()
new_emotion.associated_memory_paths = emotion.associated_memory_paths.copy()
self.unprocessed_emotions.append(new_emotion)
self._update_modality_index(new_emotion)
emotion.processing_status = "archived_due_to_access"
self.unprocessed_emotions.remove(emotion)
self._update_modality_index(emotion, add=False)
self.archived_emotions.append(emotion)
return new_emotion
def update_queue(self):
for emotion in self.unprocessed_emotions[:]:
time_passed = self.current_time - emotion.last_accessed_time
emotion.apply_decay(time_passed)
self.unprocessed_emotions.remove(emotion)
self._update_modality_index(emotion, add=False)
emotion.processing_status = "archived_due_to_low_salience"
self.archived_emotions.append(emotion)
self.processing_queue = []
for emotion in self.unprocessed_emotions:
if emotion.salience >= self.attention_threshold:
if emotion.processing_status == "unattended":
emotion.processing_status = "queued"
self.processing_queue.append(emotion)
self.processing_queue.sort(key=lambda e: e.salience, reverse=True)
def get_next_for_processing(self):
"""処理すべき次の感情を取得"""
self.update_queue()
if not self.processing_queue:
return None
emotion = self.processing_queue[0]
emotion.processing_status = "in_process"
emotion.last_accessed_time = self.current_time
emotion.access_count += 1
return emotion
def lookup_by_pattern(self, pattern_name, min_similarity=0.5):
matches = []
for emotion in self.unprocessed_emotions:
if pattern_name in emotion.pattern_matches:
similarity = emotion.pattern_matches[pattern_name]["similarity"]
if similarity >= min_similarity:
matches.append(emotion)
emotion.last_accessed_time = self.current_time
emotion.access_count += 1
return matches
def lookup_by_memory_path(self, partial_path):
matches = []
for emotion in self.unprocessed_emotions:
for path in emotion.associated_memory_paths:
matches.append(emotion)
emotion.last_accessed_time = self.current_time
emotion.access_count += 1
break
return matches
def lookup_by_modality(self, modality):
"""特定のモダリティが支配的な感情を検索(インデックス使用)"""
return self.modality_index.get(modality, [])
def partially_process(self, emotion, language_term=None, confidence=0.0, context=None):
if emotion not in self.unprocessed_emotions:
return False
if language_term:
emotion.add_language_candidate(language_term, confidence)
if context:
self.learn_language_term(language_term, context)
emotion.structure_level = min(1.0, emotion.structure_level + 0.15)
emotion.processing_status = "partially_processed"
emotion.last_accessed_time = self.current_time
emotion.access_count += 1
if emotion.structure_level >= 0.9:
best_lang = emotion.get_best_language_match()
if best_lang and best_lang["confidence"] >= 0.8:
self.unprocessed_emotions.remove(emotion)
self._update_modality_index(emotion, add=False)
emotion.processing_status = "archived_fully_processed"
self.archived_emotions.append(emotion)
return True
modality_counts = {}
for emotion in self.unprocessed_emotions:
dominant = emotion.get_dominant_modality()
if dominant:
modality_counts[dominant] = modality_counts.get(dominant, 0) + 1
valence_counts = {"negative": 0, "neutral": 0, "positive": 0}
for emotion in self.unprocessed_emotions:
avg_valence = emotion.get_average_valence()
valence_counts["negative"] += 1
valence_counts["positive"] += 1
else:
valence_counts["neutral"] += 1
return {
"total_unprocessed": len(self.unprocessed_emotions),
"processing_queue_size": len(self.processing_queue),
"archived_count": len(self.archived_emotions),
"average_salience": sum(e.salience for e in self.unprocessed_emotions) / max(1, len(self.unprocessed_emotions)),
"average_structure_level": sum(e.structure_level for e in self.unprocessed_emotions) / max(1, len(self.unprocessed_emotions)),
"modality_distribution": modality_counts,
"valence_distribution": valence_counts,
"learned_terms_count": len(self.learned_terms),
"current_time": self.current_time
}
雑多な思うこと。
出会いはゆる言語学ラジオから。それ以前は、似顔絵イラストのクーポンのイメージがあった。
読んで良かった本を登録しておすすめを見たら、良さげな本がいくつか見つかった。これは嬉C。
・本系のチャンネルで他に見てるのは「有隣堂しか知らない世界」
本以外の話が多いのと、1冊を深く話すというより何冊かを紹介する形式だから有隣堂きっかけで買った本は無い。
どちらが良いというより棲み分けだなと。有隣堂きっかけで買った文房具は多い。
・赤字が3億円らしい。
サイトのフッターに「バリューブックスは利益の20%を寄付に使っています」とあるが、寄付を含めて3億円の赤字なのだろうか。
26歳にして初めて彼氏ができた。
恥ずかしさと幸せが同時に来ててどうしようもなくて増田に書きに来てしまった。
今までモテなかったわけじゃないけど、恋愛をしている状態の自分が何かいやに恥ずかしく、告白を全て断ってきてしまった。
社会人になってからは、流石にもう年齢的に彼氏がいないのはヤバいだろうから、この恥ずかしさを我慢して、もし告白してくれる人が奇跡的に現れたらその時はちゃんと付き合おうと思っていた。
スーパー受け身な人間なので、おそらくそんな奇跡はないまま独身貴族になるかもとは思っていたけど、別にそれはそれで人生楽しそうだしということで、諦めの気持ちもあった。
自分で言うのもアレだが、メンタルが常人よりも遥かに安定している人間なので、彼氏というものを必要としていなかったのもある。
あるゲームで遊んでたところ、めちゃくちゃに気が合う人と出会った。
毎週末に2人でSteamのゲームで遊ぶようになって2ヶ月が経ったときに、告白をしてもらえた。
こんな奇跡が起こると思ってもいなかったので、かなりテンパりながらOKの返事をした。そのときに「困らせてごめん」というセリフを吐かせてしまったので、相当挙動不審になってたと思う。
こちらこそホンマごめん…。
そこから毎日、朝起きるとおはようのチャットが入ってたり、電話でおしゃべりしたり…。正直カップルというものがここまで楽しいものとは予想していなくて、それまでは「毎日彼氏と連絡とか取るのダルくね?」と思っていたが、認識が180度変わってしまった。楽しい。ずっと連絡を取っていたい。
ただ、これまで誰かと付き合った経験がなさすぎるせいで、「恋人とは何をしたい?」という質問に「なでなでしてほしいです…。」と言うのが精一杯で、それ以上のことが答えられなかった。
きっともっと彼女とイチャイチャしたいはずなのに、全然その気持ちに答えられていなくて申し訳なさでいっぱいになってしまっている。
好きという言葉もカッスカスの喉から絞り出すようにしか言えない。おそらくその時の声色はかなり気持ち悪いと思う。
今まで恋人関係でヘラってしまう人の気持ちが全くわからなかったが、今ようやく理解をすることができた。 人とちゃんと向き合おうとすると辛いからなのかもしれない。
今は上記対応で精一杯なのだが、これから先ちゃんと恋人としてふさわしい振る舞いができるんだろうか。
毎回中学生みたいな反応をしてしまっている気がする。学生のうちに恋愛をしておけば良かった。
世界は広いので、おそらく私と同じような恋愛遍歴を辿っている人間はいるだろうが、その人たちはどうやって恋愛に慣れていったんだろうか。