Skip to content

Instantly share code, notes, and snippets.

@cametan001
Created August 3, 2011 15:09
Show Gist options
  • Save cametan001/1122861 to your computer and use it in GitHub Desktop.
Save cametan001/1122861 to your computer and use it in GitHub Desktop.
フランス書院文庫( http://www.france.jp/servlet/Satellite/f/index.html?sc=f71270871087046729808901234752345 )を訓練フェーズに用いたナイーブベイズ分類器スクリプト
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import math, sys
# yahoo!形態素解析
import morphological
def getwords(doc):
words = [s.lower() for s in morphological.split(doc)]
return tuple(w for w in words)
class NaiveBayes:
def __init__(self):
self.vocabularies = set() # 単語の場合
self.wordcount = {} # {category : { words : n, ...
self.catcount = {} # {category : n}
def wordcountup(self, word, cat):
self.wordcount.setdefault(cat, {})
self.wordcount[cat].setdefault(word, 0)
self.wordcount[cat][word] += 1
self.vocabularies.add(word)
def catcountup(self, cat):
self.catcount.setdefault(cat, 0)
self.catcount[cat] += 1
def train(self, doc, cat):
word = getwords(doc)
for w in word:
self.wordcountup(w, cat)
self.catcountup(cat)
def priorprob(self, cat):
return float(self.catcount[cat]) / sum(self.catcount.values())
def incategory(self, word, cat):
# あるカテゴリの中に単語が登場した回数を返す
if word in self.wordcount[cat]:
return float(self.wordcount[cat][word])
return 0.0
def wp_map(self, word, cat, alpha = 1.0001):
# P(word|cat) が生起する確率(MAP推定値)を求める
prob = \
(alpha + self.incategory(word, cat) - 1) / \
(alpha * len(self.vocabularies) + \
sum(self.wordcount[cat].values()) - \
len(self.vocabularies))
return prob
def wp_ex(self, word, cat):
# P(word|cat) が生起する確率(事後分布の期待値)を求める
prob = \
(self.incategory(word, cat) + 1.0) / \
(sum(self.wordcount[cat].values()) + \
len(self.vocabularies) * 1.0)
return prob
def score(self, word, cat, est):
score = math.log(self.priorprob(cat))
# # ここから追加
# result = [(w, '期待値: %f' % self.wp_ex(w, cat), \
# ' : MAP : %f\n' % self.wp_map(w, cat)) for w in word]
# print u'【%s】' % cat
# for i in result:
# print u'「%s」' % i[0]
# for j in i[1:]:
# print j,
# # ここまで追加
for w in word:
score += math.log(est(self, w, cat))
return score
def classifier(self, doc, est = wp_map):
best = None # 最適なカテゴリ
_max = -sys.maxint
word = getwords(doc)
# カテゴリ毎に確率の対数を求める
for cat in self.catcount.keys():
prob = self.score(word, cat, est)
if prob > _max:
_max = prob
best = cat
return best
if __name__ == '__main__':
nb = NaiveBayes()
nb.train(u'''「忘れっこないよ。綾子先生のフェラ、叫びたくなるほど気持ちいいもん」
「私のお口は、もう、亮介くんだけのものよ。夫にだって、こんなことしてあげないんだから」
 夫の存在を思いだすと、背徳の感情が、欲情を燃えあがらせる。永遠の愛を誓った伴侶がいるにもかかわらず、十代の少年の欲棒を舐めあげている。
(なんて、ふしだらなの……)
 廉恥の思いが、女体を燃えあがらせる。それでも綾子は唇を大きく開き、少年の亀頭をパクリと呑みこんだ。
「ああっ、ぬくい。綾子先生のぬくもりが、まとわりついてくる」
「くちゅ……亮介くんのオチン×ンも、ぷちゅ……とってもあったかい」
 口を大きく開き、ゆっくり根元近くまで呑みこんでいく。喉奥を熱い亀頭が押すと、頭がぼうっと痺れたようになった。綾子はプチュ、クチュと淫猥な音を響かせながら、口腔に肉竿を抽送する。
(他の先生も、こうして亮介くんのオチン×ンを舐めてるかもしれない。私のフェラで、本当に満足してくれてるかしら……)
 上目遣いに少年を見上げる。亮介は、身を捩らせるようにして、官能の噴出を堪えているようだった。
「こんな感じでいい? 先生のフェラ、下手じゃないかしら」
「すごくいいよ。舌がまとわりついてくる。オチン×ンが、ピクピクなってるのがわかるんだ」
「亮介くんにそう言われると、自信が湧いてくる。私なんかでも、誰かの役に立てるんだって」
「綾子先生は、僕にとっての天使だよ」
 亮介は頬を優しく撫でてくれた。熱い思いが湧きあがり、涙が溢れそうになる。綾子は思いを唇にこめ、そそり勃った肉竿にむしゃぶりついた。
 じゅぶ、ぐちょっと淫猥な潤滑音を響かせながら、喉奥まで男根を送り込む。苦しくなって、えずきそうになっても、ペニスから口を離さなかった。
「あああ、綾子先生。そんなに激しくされると、爆発しちゃうよ」
 亮介は首をのけ反らせ、自ら腰を使いはじめた。口を性器に見立てたイラマチオで、絶頂に達そうとしているようだ。綾子はズボンのベルトをはずし、ブリーフと一緒に引き下げた。
「今日はもうちょっと我慢して」
 立ち上がり少年の肩に手をかけると、床に横になるよう促す。亮介は求められるまま、フローリングに横たわった。
(ああ、すごい……)
 そそり勃った男根に目を奪われる。破裂してしまいそうなほど血液を溜めこんだ肉竿は、鈍色に輝いて見えた。綾子の唾液で、どろどろに濡れている。
(高校生のオチン×ンを、あんなになるまで舐め回すなんて……)
 かあっと頬が熱くなる。綾子は廉恥を誤魔化すように、スカートをたくし上げ、ストッキングとパンティを引き下ろす。大胆に振る舞うことで、自らの罪を忘れたかった。
「綾子先生のオマ×コ、グチョグチョになってる」
 亮介の視線が、露わになった恥所に真っ直ぐ注がれていた。じんと女裂が熱くなる。淫靡な体液が溢れでていることには、綾子自身気づいていた。女教師としてはあるまじき女の反応を見ていることに、猛烈な羞恥をおぼえてしまう。
「こんな淫らな先生を許して」''', u'星野聖')
nb.train(u'''(あなたっ。ごめんなさい。まさか、こんなことになるなんて……)
 征一郎との愛を育んだこの寝室で、他の男──しかもこんな汚らわしい男に、女性器を舐められているのだ。雪奈にとってそれは二重、三重の耐えがたい責め苦だった。
 外陰唇を舌が這う。きわどい部分にぬらり、ぬらり、おぞましい感覚が走り、夫人の口から悲痛な呻き声がこぼれる。
 太腿を閉じようにも、二人の男にがっちり押さえつけられてどうにもならない。
 と、須賀沢がラビアを口に含んだ。
 鋭敏な花弁をチューチュー吸われ、舐めまわされる。
「やめてやめて。やめてええ」
 恥辱がはじけ、脳天が真っ赤に染まるようだ。
「あう、うう……犯罪よ、これは。あ、あなたたち三人、必ず警察につかまるわ。わかっているの?」
「だから、れっきとした不動産取引の一部なんだよ、これは。あんた、どんな要求にも応じるって契約書にサインしたんだろ」
 恩田が奥目を鋭く光らせ、すごんだ。
「モミモミしてやるから機嫌直せよ、奥さん。ほらほら」
 戸張が乳ぶさをいやらしい手つきで揉んだ。
 美麗な肉丘が悩ましく揺れはずむのを見て、社長の恩田も片方の乳ぶさをごつい手で握りしめた。
「縄で縛られて、ぐっと感度がましてきたんだろ。乳首なんか今にもミルクが出そうに突きだしてるぜ」
「うっう……」
 夫人の端整な顔が激烈な嫌悪に歪んだ。
 ふっくらとした頬は恥辱に真っ赤で、つんと形よく伸びた鼻先から悲憤の吐息があふれだす。
「ほっほう。濡れてきた。すごい敏感なんだな。ねっちょり濡れてきたぞ」
 股間に顔を突っこませた須賀沢が、得意気に告げた。
「ああ。よくも……よくも、こんな……」
 呻くたびに紅唇からのぞく白い歯がまばゆい。首を振るたびに、こしの強い黒髪がツーッと額へ流れ落ちて濡れ輝く光沢を放ち、それがいっそうの被虐美を放つのだ。
 そこで雪奈は小さな悲鳴を発し、ガクンとのけぞった。
 須賀沢の舌が体内に入りこんできたのだ。
 なんという汚辱だろうか──。夫でもない男に、秘所の内側まで吸われるとは。
 気味の悪い爬虫類が粘膜を這いずりまわるような不快感と不潔感。そして須賀沢がたえず洩らす高ぶった唸り声が、不快感を倍加させる。
(征一郎さん、どうか助けて……)
 雪奈は夫の遺影にすがりついて泣きたい気分だった。
 おぞましい舌の動きがどんどん加速する。
 恐ろしいくらいに舌が伸びて、膣肉をまさぐってくる。粘液のはじける音が、ピチャピチャから、ヌチャッ、ヌチャッと粘っこい音色に変わって、雪奈の羞恥心をねっとりあぶった。''', u'綺羅光')
nb.train(u'''「たわいもない。貞女などといっても脆いものだ」
「やはり女だ。快楽には勝てぬ」
 お泪の汗ばんだ乳房や太腿をいやらしく愛撫しながら嘲笑った。
「フフフ、望みどおり犯してやる」
 獣鬼も興奮していた。
 人妻、生娘を問わず、数えきれぬほどの女を犯しヨガらせてきた獣鬼だが、さすがに大名の正室であった女を辱しめるのは初めてだ。しかも相手は北近江の三美姫と謳われた美人三姉妹の長女、お泪の方。普通なら忍者くずれの彼ごときが顔を拝むことも許されぬ貴人である。その貴人の熱く濡れた花芯をいきり立った肉棒で貫き、熟れた肉体を思うがままに弄ぶ。下克上が常の戦国の世とはいえ、まさに人の道にはずれた行為、獣の所業に他ならない。
「ケダモノの太魔羅をたっぷり味わうがいい」
 体重をかけ、怒張した肉杭をゆっくりと沈めていく。
「うむううッ!」
 メリメリと裂かれて、お泪の美貌は苦痛にゆがんだ。
 女盛りとはいえ、長く孤閨を保ってきた身体である。しかも獣鬼のそれは夫とは比べものにならぬ長大さであった。
 気も遠くなるような拡張感と鋭い痛みに、二つ折りの裸身が硬直して震えた。
「ヒイッ、裂けちゃう!」
「何の、まだ半分も挿れておらぬ。おお、生娘みたいに狭いわい」
「い、痛い! 痛いッ、ヒイイーッ!!」
 ズンと最奥を突きあげられ、お泪は白目をむいてのけぞった。灼熱の鉄棒に喉元まで串刺しにされた気がして、意識を失いかけた。
「フフフ、ケダモノに犯された気分はどうだ」
 乱れ髪をわしづかみして獣鬼は尋ねる。返事を待たずに、ゆっくりと腰を使いはじめた。
「あうッ、許して……あうッ、あうッ」
 めり込んでは抜かれ、めり込んでは抜かれる灼熱の肉杭。灼かれるような激痛にお泪はのたうった。
「ああッ、あうッ……ああッ、あううッ」
 苦痛は長くは続かなかった。
 リズミカルに抜き差しを繰りかえされるうちに、豊潤な愛液が潤滑油となり、痛みを徐々に薄れさせていった。かわって痺れるような熱い感覚がこみ上げ、それはたちまち得も言われぬ快美の疼きに変わった。
「ああン、ああン」
 お泪は火照った顔を右に左に振りながら、甘いヨガリ声をあげはじめた。
 熱く爛れた花芯をたくましい剛直に貫かれる感覚は、先刻の女芯舐めにも匹敵する悦楽の極致であった。お泪は口惜しさも羞ずかしさも忘れて肉交の悦びを貪った。
「もっと……あァ、もっと……」
「フフフ、美人なうえに、なかなかの名器だ。肉壺が魔羅に吸いついてきやがる。抜こうったって抜けるもんじゃねえ」
 獣鬼の言葉どおり、お泪のむっちりと熟れた双臀は、獣鬼のリズミカルな腰の動きに合わせて畳の上で鞠のように弾んでいる。
「あッ、いいッ……あんッ、いいッ……あんッ、あんッ」
「フフフ、たしかに殺すには惜しい身体だ」
 獣鬼は熱い喘ぎを洩らすお泪の唇を奪った。''', u'御堂乱')
#星野聖
words = u'自分は、許されない妻だ。'
print u'%s => 推定カテゴリ: %s' % (words ,nb.classifier(words))
words = u'そう思う一方、和紀となら、どこまでも堕ちていっても構わないような気もする。'
print u'%s => 推定カテゴリ: %s' % (words ,nb.classifier(words))
#綺羅光
words = u'印象的な二重瞼を開き、気弱そうな瞳をしっとり濡れ輝かせ、沙絵子は告げる。'
print u'%s => 推定カテゴリ: %s' % (words, nb.classifier(words))
words = u'ソファーに座る間宮がトランクスを脱ぎ、これ見よがしに股を開いた。'
print u'%s => 推定カテゴリ: %s' % (words, nb.classifier(words))
#御堂乱
words = u'男たちは容赦のない揶揄を浴びせかける。'
print u'%s => 推定カテゴリ: %s' % (words, nb.classifier(words))
words = u'その言葉どおり、お柳の残酷に裂かれた下肢の付け根の周辺には、失禁したかと疑うほどの汁だまりがあちこちに散らばっている。'
print u'%s => 推定カテゴリ: %s' % (words, nb.classifier(words))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment