top】Graphite 【安心の正規輸入品】 キッカー/ KICKER top】Graphite Comp Rシリーズモデル:CWR122 30cm Black (12インチ) サブウーファー インピーダンス:2ΩDVC (デュアルボイスコイル)仕様



top】Graphite 【安心の正規輸入品】 キッカー/ KICKER top】Graphite Comp Rシリーズモデル:CWR122 30cm Black (12インチ) サブウーファー インピーダンス:2ΩDVC (デュアルボイスコイル)仕様

ミドルクラスのKICKER Comp Rシリーズ 12インチ サブウーハー CWR12です。KICKERサブウーファーの最大の特徴であるキレがよく反応が早い低域再生はもちろんのこと、従来モデルと比較してより重低音が体感できるモデルへと正常進化しました。堅固なスチールバスケットを採用した COMP Rシリーズサブウーファーには、従来モデルよりもはるかに大型のマグネットを贅沢にも2段重ねで採用。マグネットシステムが大幅に強化され、さらにはプログレッシブ ロール式大型ダンパーの採用によりリニアリティが大幅に向上し、再生帯域全体にわたり音質が大幅に向上しています。従来モデルより改良を施された新しいポリプロピレン コーン、天然ゴムのように柔軟性を保ちつつ耐久性に優れた材質サントプレーン製エッジの採用、またコーン紙とエッジ部はダブルステッチ (2重 編み込み)でしっかりと固定されていますので耐久性に優れ、長期に渡り安定した信号再生を行います。真鍮製のスピーカーターミナルにはサテンニッケルめっきを施していますので、高級感も抜群です。こちらのモデルはインピーダンスが 2Ωデュアルボイスコイル仕様になり、単体でお使いいただく際にはインピーダンスが 1Ω(単体/並列接続時)、または 4Ω (単体/直列接続時)になります。本製品の主な仕様・正式名称:43CWR122・公称サイズ:12インチ (30cm)・公称インピーダンス:2ΩDVC・定格入力:500W・最大入力:1,000W・音圧レベル:86.9dB 1W/1m・周波数特性:25Hz 〜 500Hz・フレーム外径サイズ:27.0cm・取付口径サイズ:27.9cm・取付奥行サイズ:14.5cm・推奨BOX容量:28.30L 〜 56.64L (密閉式)、49.60L 〜 63.70L (バスレフ式)・グリル:を装着可能

東レシルック 男物 長襦袢 反物 -小格子- [ 0709-782 ] ロベルトコリーナ ROBERTO COLLINA セーター 長袖 丸首 メンズ RF01001 グレー 送料無料 楽ギフ_包装 目玉商品 G-SALE 3000円OFF クーポンプレゼント エリスラグビー メンズ トップス アクティブウェア【Ellis Rugby The flying prince` rugby top】Graphite ラスカルズ Rascals メンズ トップス トレーナー スウェット Rascals Overhead Sweatshirt Black (取寄)ノースフェイス パーカー メンズ スラッカー フルジップ The North Face Men's Slacker Full-Zip Hoodie Shady Blue/Urban Navy 【送料無料】萩原工業(株) 萩原 多目的強力袋 BSD4862100 1箱(100枚入)【351-4897】【北海道・沖縄送料別途】【smtb-KD】 【送料無料】【直送品 代引不可】トラスコ中山 M3型 中量棚 1500X571XH1500 4段 連結 NG 【 5089727 】 M35564B 【 中量棚 収納棚 収納 】《P11Sep16》 819x475x234mm 道具箱(バックル付/緑) EA506LS-3 エスコ(ESCO)

【送料無料】☆お得な2個セット☆カートランク CK-130 グレー/ダークグリーン アイリスオーヤマ (まとめ買い)ベンリー 木ネジセットA-195 【×30セット】 【安心の正規輸入品】 キッカー/ KICKER Comp Rシリーズモデル:CWR122 30cm (12インチ) サブウーファー インピーダンス:2ΩDVC (デュアルボイスコイル)仕様 【送料無料】GSYUASA GS-YUASA バイクバッテリー YB16B-A1 液入り充電済み GSユアサ正規品!安心の保証付き!【あす楽対応】【532P17Sep16】 2輪 バトルファクトリー アルミ溶接ハンドル P004-7544 φ51×15° キタコ: 10インチキャストホイール ブラック (5本スポーク/フロント用) アドレスV125S用 【バイク便不可】 WISECO ワイセコ ピストン・ピストン周辺パーツ リペアパーツ 単品ピストン GSX1100S KATANA [カタナ] 【USA在庫あり】 682431 TM00308100 マキシス MAXXIS タイヤ RS07 21x7-10, 6 Ply フロント USJスタジオ・パス付ペア宿泊券がメインの景品3点セット【商品引換券】【あす楽】【送料無料】二次会・ゴルフコンペなどの景品に!(USJペアチケット ユニバーサルスタジオ 2次会 目録 ユニバ ゴルフ ペアギフト ビンゴゲーム 二次会景品)

【額付き・送料無料】幼子イエスを抱えて座る聖母(フランソワ・ブーシェ版画) 【楽ギフ_包装】【楽ギフ_のし宛書】 絵画 ふくろう 広森雄4700自筆サイン、落款入り   P11Sep16 【インターネット限定】【端午 節句 こどもの日 つるし飾り 室内飾】室内鯉のぼり 皐月 正絹 60cm【送料無料】こいのぼり 油絵 ニューヨークの街角15 【安心の正規輸入品】 キッカー/ KICKER Comp Rシリーズモデル:CWR122 30cm (12インチ) サブウーファー インピーダンス:2ΩDVC (デュアルボイスコイル)仕様 【クスコ/スカイライン/BCNR33/スタビライザー/リア*233311B/CUSCO】 【店内全品ポイント3倍以上!9月14日9:59迄】ENDLESS/エンドレス W003商品番号:RCP080 【P11Sep16】 merwede Euro Springs VOLKSWAGEN ポロ 1.6 2/4ドア 6N用 品番 50VW 80203【02P18Jun16】 DIXCEL(ディクセル)ボルボ C70 ブレーキパッド Zタイプ フロント用 06/12〜 ボルボ C70 2.4 (MB5244)Z0351261

チャージスピード/CHARGESPEED/撃速 86 ZN6/BRZ ZC6 リアスタビライザー (専用スタビブッシュ付) 097519 液晶フィルター SUPER DESK8 ワンポイントカラーフレーム エコノミー マゼンタ 22.0インチ(16:10) 【エントリーでポイント最大35倍】イメーション DAT 4mmDDS-4 データカートリッジ 20GB(圧縮時 40GB) DDS-150X10SP 1パック(10巻) 日立マクセル(HITACHI) LTO カートリッジ6 LTOU6/2500XJB P11Sep16 ウノフク ソフトアタッシュ 46 24-0284 【サンワサプライ カテゴリ7LANケーブル30m KB-T7-30WRN】[返品/交換/キャンセル不可] 【安心の正規輸入品】 キッカー/ KICKER Comp Rシリーズモデル:CWR122 30cm (12インチ) サブウーファー インピーダンス:2ΩDVC (デュアルボイスコイル)仕様 【送料無料】スチール書庫 No.360MSN アイボリー (カテゴリー:生活用品>インテリア>雑貨>文具>オフィス用品>その他の文具>オフィス用品 ) ◇【寺院用仏具】職人こだわりの仏具! 木製 宝珠型結界 幅6尺(180cm

マイゾックス ポケッタブルマルチガスモニター Model2009 O2、HC、CO (GX-2009C) myzox レジャー用品 便利グッズ(レジャー用品) 稲葉ロープ クレモナSロープ 3つ打ち 直径18mm×200m (識線なし真っ白) ※メーカー直送品につき代金引換払い不可 CWA-230EA12 【USA在庫あり】 0910-2858 4963M08000 ワイセコ Wiseco ピストン 標準ボア 07年-12年 ポラリス Ranger 800 RZR 補修キット B-MOON Factory ボアアップキット/シグナスX125/155.6cc 01-02-0903 SP武川 ピストンKIT(124.6CC)KSR/ KLX METZELER RoadTEC Z8M INTERACT 110/80ZR18 58W TL Front【02P18Jun16】 アグラス(AGRAS) レーシングスライダー R(クランクケースカバー) ジュラコン:ブラック XJR1300 XJR1200 342-251-001B 342-251-001B

ユニオン産業 エアーエレメント JA-815A/JA-815B パワーショベル PC220-1 No.10001〜 PC220(LC)-2 No.10001〜 PC300(LC)-1.2 No.10001〜他 allsafeベルト荷締機エアラインレール用ラチェット式ラッシングベルトDS−R【R5DSR17】 販売単位:1本(入り数:-)JAN[4562468180756](allsafe 荷締機) アンクラジャパン(株)【05P03Sep16】 【送料無料】V12マルチチャージャーGT 高スペック・高出力のコンパクトジャンプスターター 車、バイクのバッテリー上がりに。 エアフィルター BLITZ/ブリッツ SUS POWER CORE TYPE LM-RED CX-7 ER3P サスパワーコアタイプLM L3-VDT 06/12-09/09 MAZDA/マツダ 59107-RED エアフィルター CityChain 1010 1010/170 black_ABUS (アバス) 【送料無料】【代引き・同梱不可】デスクターナ ニューグレー ND-723 80024【家具 イス テーブル】/フロアケース 整理ケース オフィス 事務所 スチール製 インテリア 収納 オフィス家具 オフィス収納 ラック 棚 【ジョインテックス 脚折りたたみテーブル TWS-M1245NA】[同梱不可][代引不可][返品/交換/キャンセル不可] 【別売】幕板 プラス 会議テーブル リネロ2用 LD-M1800 M4

木目塗装 Cキャッチ GY513 フロアガイドポール ファイルワゴン〔グレー〕〔受注生産品〕【メーカー直送品/代引決済不可】【厨房館】

ぬいぐるみライフ(仮)

2011-02-12

映画「The Social Network」の脚本をNLTKで解析して遊んでみた


脚本の入手

PDFからプレーンテキストへの変換

  • ^Mを改行文字(\n)に置き換える (^Mは制御文字.ターミナルやVimだとCtrl-V Ctrl-Mで入力できる)
  • ^Lを取り除く (^Lも制御文字.Ctrl-V Ctrl-Lで入力できる)
  • シングルクォートなどの記号が変な制御文字に化けているのでPDFと照らし合わせながら置換する
  • ページ番号だけの行を取り除く
  • などなど

NLTKを使って遊ぶ

$ python
>>> import nltk
  • 文書の単語数の確認
  • 特定の単語の検索
  • 特定の単語が出現する文の検索
  • 単語の頻度分布の可視化
  • 場面ごとの登場人物の推移の可視化

データを読み込む

>>> raw = open('the_social_network.txt').read()
>>> tokens = nltk.word_tokenize(raw)
>>> text = nltk.Text(tokens)
>>> type(raw)
<type 'str'>
>>> raw
'FROM THE BLACK WE HEAR--\nMARK (V.O.)\nDid you know there are more pe
ople with\ngenius IQ\'s living in China than there\nare people of any
kind living in the\nUnited States?\nERICA (V.O.)\nThat can\'t possibly
be true.\nMARK (V.O.)\nIt is.\nERICA (V.O.)\nWhat would account for th
at?\nMARK (V.O.)\nWell, first, an awful lot of people live\nin China.
(略)
>>> type(tokens)
<type 'list'>
>>> tokens
['FROM', 'THE', 'BLACK', 'WE', 'HEAR--', 'MARK', '(', 'V.O.', ')', 'Di
d', 'you', 'know', 'there', 'are', 'more', 'people', 'with', 'genius',
'IQ', "'s", 'living', 'in', 'China', 'than', 'there', 'are', 'people',
'of', 'any', 'kind', 'living', 'in', 'the', 'United', 'States', '?', '
ERICA', '(', 'V.O.', ')', 'That', 'ca', "n't", 'possibly', 'be', 'true
(略)
>>> type(text)
<class 'nltk.text.Text'>
>>> text
<Text: FROM THE BLACK WE HEAR-- MARK ( V.O....>

文書の単語数を調べる

>>> len(tokens)
34821
>>> tokens_l = [w.lower() for w in tokens]
>>> len(set(tokens_l))
4275

Emacs vs Vim (or Vi)!!!

>>> tokens_l.count('emacs')
3
>>> tokens_l.count('vim')
0
>>> tokens_l.count('vi')
0

特定の単語が出現する文を検索する

>>> text.concordance('Facebook', lines=5)
Displaying 5 of 47 matches:
 on his desktop labeled " Kirkland Facebook " . He clicks and opens it. A menu
 's a Tuesday night ? The Kirkland Facebook is open on my desktop and some of 
hese people have pretty horrendous Facebook pics . ( MORE ) Billy Olson 's sit
does n't keep a public centralized Facebook so I 'm going to have to get all t
ry to download the entire Kirkland Facebook . Kids ' stuff . On the computer s
>>> text.concordance('bitch')
Displaying 2 of 2 matches:
 TheFacebook ? ERICA You called me a bitch on the internet , Mark . MARK That '
 published that Erica Albright was a bitch right before you made some ignorant 
>>> text.concordance('bitch.')
Displaying 1 of 1 matches:
. MARK ( V.O. ) Erica Albright 's a bitch. Do you think that 's because her fa
>>> text.concordance('CEO...Bitch')
Displaying 2 of 2 matches:
 a business card that says " I 'm CEO...Bitch " , that 's what I want for you ,
 cards out and looks at it . I 'm CEO...Bitch And over this we HEAR a woman 's 

単語の頻度分布を可視化する

>>> fdist = nltk.FreqDist(w.lower() for w in text)
>>> fdist.keys()[:50]
['.', 'the', 'to', ',', 'a', 'and', 'mark', 'you', 'i', "'s", '?', 'ed
uardo', 'of', ')', '(', 'it', 'that', 'in', 'is', 'we', "n't", 'he', '
on', 'sean', 'do', 'with', '-', ':', 'was', 'for', 'at', 'what', 'this
', '"', 'int.', 'cut', 'his', "'m", "'re", 'are', 'cameron', 'they', '
have', 'room', 'up', 'be', 'tyler', 'as', "'d", 'not']
>>> fdist.plot(50, cumulative=True)
>>> stopwords = nltk.corpus.stopwords.words('english')
>>> stopwords
['i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves', 'you', '
your', 'yours', 'yourself', 'yourselves', 'he', 'him', 'his', 'himself
', 'she', 'her', 'hers', 'herself', 'it', 'its', 'itself', 'they', 'th
em', 'their', 'theirs', 'themselves', 'what', 'which', 'who', 'whom',
(略)
>>> symbols = ["'", '"', '`', '.', ',', '-', '!', '?', ':', ';', '(', ')']
>>> fdist = nltk.FreqDist(w.lower() for w in text if w.lower() not in stopwords + symbols)
>>> fdist.plot(50, cumulative=True)

場面ごとの登場人物の推移を可視化する

>>> persons = ['MARK', 'ERICA', 'EDUARDO', 'CAMERON', 'TYLER', 'SEAN']
>>> text.dispersion_plot(persons)
  • Mark Zuckerbergは映画の主人公だけあって登場シーンが多い.ボート部の兄弟がメインで登場するシーン以外ではMarkはほぼ確実に登場している.
  • Erica Albrightは最初の方と映画の半ばあたりのみ登場している.半ばのシーンについてはMarkが久し振りにEricaに話しかけたあのシーンのことだろうなーと類推できる.
  • Eduardo SaverinはMarkに次いで登場している場面が多い.
  • ボート部の兄弟のCameron WinklevossとTyler Winklevossは要所要所に台詞があるが,Mark以外の他の人物とはあまり一緒に登場していない.
  • Sean Parkerは映画の後半で登場するので,当然ながら脚本の台詞も後半から出てきている.

以上

  • 文書の単語数の確認
  • Emacs...
  • 特定の単語が出現する文の検索
  • 単語の頻度分布の可視化
  • 場面ごとの登場人物の推移の可視化

参考資料