def analsys_text(text, rowcount): sentences, debug_info = summarize(text, sent_limit=rowcount, continuous=True, debug=True) return sentences
def tweet_analysis(text): sentences, debug_info = summarize(text, sent_limit=5, continuous=True, debug=True) return sentences
def txt_to_summary(path): fp = open(path, 'rb') txt = fp.read().decode('utf-8') sentences, debug_info = summarize(txt, sent_limit=5, continuous=True, debug=True) for sent in sentences: print sent.strip().encode('utf-8')
def sammarize(text, rowcount): try: sentences, debug_info = summarize(text, sent_limit=rowcount, continuous=True, debug=True) except: sentences = "sammarized error" return sentences
def sammarize(text, rowcount): json_dict = {} sentences, debug_info = summarize(text, sent_limit=rowcount, continuous=True, debug=True) output_text = " ".join(sentences) json_dict.update({"result_text": output_text}) encode_json_data = json.dumps(json_dict) return encode_json_data
def SendMsg(): inText = request.form['txt'] inS_limit = int(request.form['sent_limit']) sentences, debug_info = summarize(inText, sent_limit=50, debug=True) inTextX = '' for sent in sentences: inTextX = inTextX + sent.strip() sentencesX, debug_info = summarize(inTextX, sent_limit=inS_limit, debug=True) txtArray = [] for sent in sentencesX: txtArray.append(sent.strip()) # ディクショナリへ dic = {'restxt': txtArray} #JSON形式で返却 return jsonify(ResultSet=dic)
def summarize(self, text=None, algo=u'lexrank', sent_limit=u'', char_limit=u'', imp_require=u'', mode=u''): ''' Args: text: 要約対象テキスト algo: 要約アルゴリズム - 'lexrank' (default) グラフベースの重要度計算アルゴリズム - 'mcp' 最大被覆問題として、できるだけ多くの単語を含むように 文を選択する。 注意: mcpの制約は文字数(char_limit)しか指定できない。 sent_limit: 文数制限 char_limit: 文字数制限 imp_requre: 累積重要度がこれを超えるまで文を選択する。 mode: lexrankの時'score'を指定すると、文と重要度のペアのリストを返す ''' try: # TODO try-except を細分化する. sent_limit = int(sent_limit) if sent_limit != '' else None char_limit = int(char_limit) if char_limit != '' else None imp_require = float(imp_require) if imp_require != '' else None if algo == 'lexrank': if mode == '': # 重要文抽出 sents = lexrank.summarize(text, sent_limit=sent_limit, char_limit=char_limit, imp_require=imp_require) elif mode == 'score': # [(文,重要度), ... ] sentences = tools.sent_splitter_ja(text, fix_parenthesis=True) scores, sim_mat = lexrank.lexrank(sentences) sents = [] for i in sorted(scores.keys()): el = (sentences[i], scores[i]) sents.append(el) elif algo == 'mcp': sents = mcp_summ.summarize(text, char_limit) except Exception, e: return json.dumps({'error': str(e)}, ensure_ascii=False, indent=2)
def summarize(self, text=None, algo=u'lexrank', sent_limit=u'', char_limit=u'', imp_require=u'', mode=u''): ''' Args: text: 要約対象テキスト algo: 要約アルゴリズム - 'lexrank' (default) グラフベースの重要度計算アルゴリズム - 'mcp' 最大被覆問題として、できるだけ多くの単語を含むように 文を選択する。 注意: mcpの制約は文字数(char_limit)しか指定できない。 sent_limit: 文数制限 char_limit: 文字数制限 imp_requre: 累積重要度がこれを超えるまで文を選択する。 mode: lexrankの時'score'を指定すると、文と重要度のペアのリストを返す ''' try: # TODO try-except を細分化する. sent_limit = int(sent_limit) if sent_limit != '' else None char_limit = int(char_limit) if char_limit != '' else None imp_require = float(imp_require) if imp_require != '' else None if algo == 'lexrank': if mode == '': # 重要文抽出 sents = lexrank.summarize( text, sent_limit=sent_limit, char_limit=char_limit, imp_require=imp_require ) elif mode == 'score': # [(文,重要度), ... ] sentences = tools.sent_splitter_ja( text, fix_parenthesis=True ) scores, sim_mat = lexrank.lexrank(sentences) sents = [] for i in sorted(scores.keys()): el = (sentences[i], scores[i]) sents.append(el) elif algo == 'mcp': sents = mcp_summ.summarize(text, char_limit) except Exception, e: return json.dumps({'error': str(e)}, ensure_ascii=False, indent=2)
レコーディングスタジオへの入室も許されていなかったため、 スタジオ内での出来事に関しては、想像でドラマチックに記述するしかなかったのであろうと思われる。 特に、面識の無いエンジニアのケニー・ジャッケルには、異常なまでのジェラシーがあったのであろうか、 事実からは逸脱した表現になってしまっている[要出典]。 ベースの演奏で用いられる「4フレット4フィンガー」は、ジャコが広めたとされている。 世界初のベース教則ビデオ「modernelectricbass」において自身が 「他のベーシストはこうやって(4フレット3フィンガー)で弾くけど僕はこうやって(4フレット4フィンガー)弾くんだ」と話している。 しかし、1〜5フレットに関しては、他のベーシストと同じように4指3フレットで弾いていた。 ''' print('---START---') Len = int(len(inText.split('。')) / 2) print('------------ 1 --------------------') print('Len:%d' % Len) sentences, debug_info = summarize(inText, sent_limit=Len, debug=True) inTextX = '' for sent in sentences: inTextX = inTextX + sent.strip() print('inTextX:%s' % inTextX) Len = int(Len / 2) sentencesX, debug_info = summarize(inTextX, sent_limit=Len, debug=True) print('------------ 2 --------------------') print('------------Len:%d' % Len) inTextY = '' for sent in sentencesX: inTextY = inTextY + sent.strip()
#-*- coding: utf-8 -*- from summpy.lexrank import summarize text = u"「ジレット プロシールド」を体験した後に、「スッキリされました?」と声をかけられると、そこにはイエローナース...ではなく、スーツの女性が。発売元のプロクター・アンド・ギャンブル・ジャパンの成瀬さんでした。「すごく気持ちよかったです!」と答えつつ、そのままいくつかお話を伺いました。成瀬さん:「ジレット プロシールド」は研究開発に4年ほどかかりましたが、「史上最高のやさしさ」だと自負しております! 日本のユーザーさんが求める「深剃り」と「肌へのやさしさ」を、いっぺんに解決する目的が達成できたのかなと感じています。ジレットというブランドは、消費者が抱えている悩みや問題を解決するために、どんどん技術を革新していくことで成長してきました。創業者のキング C.ジレットから続く「そうでなければいる意味がない」という強い思いを引き継いで、今後も消費者の方に寄り添っていけたらと思っています。── 研究開発に4年を費やしたポイントはどこにあったのでしょう?成瀬:T字カミソリでは「肌を引っ張りながら剃る」必要があるんです。刃の下にあるラバーがその役割を担うのですが、このラバーとジェルスムーサーのバランスを取るのにもっとも試行錯誤がありました。ラバーを控えめにすれば肌が引っ張れないので深く剃れない、逆にすれば肌へのやさしさが減ってしまうからです。" text=u"地雷魚 @Jiraygyoうああああああああああ動画で既にしんどい! 『バーチャルハルシネーションについて ~統合失調症の幻覚疑似体験~』 http://www.mental-navi.net/togoshicchosho/virtual/ … http://pbs.twimg.com/media/CvgJxqaVUAAZ_RO.jpgバーチャルハルシネーションについて~統合失調症の幻覚疑似体験~ バーチャルハルシネーションは、専用のゴーグルとヘッドホンを装着して体験しますが、ここでは、そこで流れる画像と音声を掲載しています。(ゴーグルとヘッドホンは必要としません。)http://www.mental-navi.net/togoshicchosho/virtual/2: 2016/10/24(月) 22:36:58.41 ID:XRqSwyuS0俺は最初は時計の針の音だった実際にあった時計の音に耳を澄ませていたら、時計の無い所でも聞こえるようになってきた3: 2016/10/24(月) 22:47:10.01 ID:iHbJVSuw0気配→だんだん現実味を帯びてくる4: 2016/10/24(月) 22:48:35.76 ID:FcgkCiTk0現実とVRの区別が付かなくなってマジ糖質になったらどうするの?6: 2016/10/24(月) 22:54:48.18 ID:knYykJSJ0俺は職場の女が髪をかきあげるかきあげる動作が始まりだった7: 2016/10/24(月) 22:55:57.68 ID:ILnL2B2R0集団ストーカーに襲われてまーす!8: 2016/10/24(月) 23:01:41.55 ID:F9I9P9g40なんか動画見てから声が聞こえるようになったんだが…9: 2016/10/24(月) 23:06:40.69 ID:MhxxyKWd0怖いから見ない11: 2016/10/24(月) 23:27:39.03 ID:iHbJVSuw0逆に治療に活かせるかもな。神経症ぐらいならイケるだろ15: 2016/10/25(火) 00:37:07.04 ID:VYOStl9g0頑張れ16: 2016/10/25(火) 01:36:06.67 ID:/MOGv8J00うぜー17: 2016/10/25(火) 02:35:06.84 ID:aHCCaWyc0ありえない18: 2016/10/25(火) 02:37:11.23 ID:w7QP1/990誰かが私のことを笑っているとか?27: 2016/10/25(火) 04:13:07.44 ID:eEmR1uBj0うらやましい28: 2016/10/25(火) 05:12:06.95 ID:75ptVjAR0こんにちは " # ensure type(text) is unicode sentences, debug_info = summarize( text, sent_limit=5, continuous=True, debug=True ) for sent in sentences: print sent.strip().encode("utf-8")
from summpy.lexrank import summarize import sys text = sys.stdin.read().decode('utf-8') # ensure type(text) is unicode sentences, debug_info = summarize(text, sent_limit=5, continuous=True, debug=True) for sent in sentences: print sent.strip().encode('utf-8')
text = request.args.get('text', None) url = request.args.get('url', None) if text is None and url is None: raise ValueError('No value in text or url parameters.') sentence_limit = int(request.args.get('sent_limit', 3)) if sentence_limit < 1: raise ValueError('sent_limit parameter must be a natural number.') if url: r = requests.get(url) if not (200 <= r.status_code < 300): raise ValueError('url is bad.') text = r.text extractor = extractcontent.ExtractContent() extractor.analyse(text) text, _ = extractor.as_text() except ValueError, e: abort(404, str(e)) except ConnectionError, e: abort(404, str(e)) summary, debug_info = summarize( text, sentence_limit, debug=True, continuous=True) return jsonify({ 'summary': summary, 'debug_info': debug_info}) if __name__ == '__main__': app.run(host='localhost', port=8080, debug=True)