メンズ 【日本製】和やか掛カバー・afit very(エフィット・ベリー)[軽量タオルカバー](シングルサイズ) 【セール】VIRGO



メンズ 【日本製】和やか掛カバー・afit very(エフィット・ベリー)[軽量タオルカバー](シングルサイズ) 【セール】VIRGO

とっても軽く、ふんわりあたたかい♪特に秋〜春先にかけてお使いいただきますとおふとんに入った瞬間の「冷た!」って感じが無く毛布が要らないくらいの気持ち良さ(*^-^*)サイズ:150cm×210cm素 材:パイル部/綿100%    グランド部/ポリエステル100%日本製◇このタオル生地は、マイヤー編み機で編み上がった 細番手のパイル地の表面をやわらかく起毛させて仕上げています。※お洗濯後の乾燥にタンブラー乾燥は、 生地が縮みますので、お避けください。

★送料無料★DRESS CAMP◆14/スタジャン/44/ウール/BLK【中古】【メンズウェア】 ワイズフォーメンY's for men ウールツィードジャケット ベージュグレーM【中古】 防寒3WAYダウンコート ジーベック xebec 1167 防寒着 M・L・LL 【セール】VIRGO ヴァルゴ ジャケット Camo Shop Coat【送料無料】【virgo ヴァルゴ】 マーモット Marmot メンズ アウター スノージャケット【Isotherm Polartec Alpha Pullover Jacket - Insulated】Cinder 【店内全品ポイント3倍以上!9月14日9:59迄】Works Bell/ワークスベルラフィックス専用ショートボス商品番号:0106S 【P11Sep16】 ZERO スーパーフロアマット (プレミアムスタンダード) HONDA ホンダ アヴァンシア TA1-4 H11/9-H15 【中古】中古部品 パレット MK21S ステアリングシャフト 【12214135】

ミラココア※2WD・リアヒーター有り/ダイハツ(H21/8〜23/6)専用設計フロアマット【デラックス・スポーティー】全座席+荷台トランク■耐久性・耐摩耗性に優れた安心の日本製/車種専用オリジナルフロアマット オーダーメイドオリジナルカーマット 車種専用タイプ デラックス 型番:エルグランド2 イスズ フィリー 1997年07月〜2002年05月 【日本製】和やか掛カバー・afit very(エフィット・ベリー)[軽量タオルカバー](シングルサイズ) タイムセール TRASER トレーサー 腕時計 TYPE3 PILOT SILVER シルバー P5900.506.K3.11 P5900506K311 高級機械式、腕時計、分解掃除・オーバーホール・修理・致します。アンティークモデルもOKです。 シチズン 懐中時計 レグノ ソーラー 電波 ゴールド CITIZEN REGUNO KL7-922-31【あす楽対応】 送料無料 インビクタ ( Invicta ) 男性用 腕時計 メンズ ウォッチ プロダイバーコレクション Pro Diver Collection シルバー [ 18941 ] ステューリング オリジナル 腕時計 Stuhrling Original 408L.12114 Marine Swiss Quartz Crystals Pink Dial Watch ベンジャミンムーアペイント リーガルセレクトマット 艶消し エコ水性塗料 golden dunes 4L (G221-2157-10) Benjaminmoore 塗料 水性塗料

【送料無料】【代引不可】 スタープレート DC53 35X250X150 DC53-35X250X150 (525-2008) 《金属素材》 エッシェンバッハ スタンドルーペジュニ【2757-2782016】(光学・精密測定機器・ルーペ) コウアツ 45ドエルボ 規格( PT-65A) 入数(1) 04154895-001 緑十字 すべり止め塗料 SVT-S (セット) 塗料・ローラー・ローラーハンドル・ローラー受皿 【日本製】和やか掛カバー・afit very(エフィット・ベリー)[軽量タオルカバー](シングルサイズ) アンダーアーマー Under Armour Performance Polo 2.0 - Short-Sleeve - Men's Black Steel アウトドア メンズ 男性用 シャツ Performance Shirts RITCHIE セールボートレーシング XP-98W マウンテンカーキ Mountain Khakis Granite Creek Shirt - Long-Sleeve - Men's Morning Sky アウトドア メンズ 男性用 シャツ Button-Down Shirts マウンテンハードウェア Mountain Hardwear Wickedcool Tank Top - Men's Steam アウトドア メンズ 男性用 シャツ Performance Shirts

【包装/代引不可】【送料無料】LED LENSER(レッドレンザー) ヘッドランプ H14R.2 ギフトボックス入り 7299-R【人気 おすすめ セール 通販 激安 期間限定特価品】 ホワイトボード 脚付 掲示ボード 案内板 PTHK408 会議椅子 ミーティングチェアー DAチェア キャスター付 突板タイプ 背パッド付 布張り イトーキKDA-140C-Z9 インテル X540-T2 デュアルポート 10GBaseT アダプター コクヨ/エディアシステム下置扉付トレーユニットA4浅型 高さ1110 フラップテーブル AF-1860MP ホワイト 【日本製】和やか掛カバー・afit very(エフィット・ベリー)[軽量タオルカバー](シングルサイズ) VKR-1200R VKシリーズ 【本州、四国は開梱設置無料】 パモウナ 食器棚 家電収納が右 【幅120×奥行50×高さ187cm】 VKR-1200R パモウナ食器棚 パモウナ 安心 食器棚 120 P11Sep16 電気フードウォーマー1/1ヨコ型 KU-109Y【代引き不可】【スープウォーマー】【卓上ウォーマー】【業務用厨房機器厨房用品専門店】

【送料無料】新品!IKK【イトキン】伊東金属工業所 グリドル ATYS600 天然木ウォールナット材を使用した木製カウンター国産キッチンカウンター/ハイカウンター/バーカウンター日本製ツートン・天板ブラック黒グラスホルダー160・180cm 三宝(UK) UK18-8角ミラープレート (アクリル)2193000 30インチ/シェル 1個 【9月3日に初値下げ!】ステラマッカートニー レオパード柄ウエッジショートブーティ[LFWL64591]【FF】【中古】【2点以上同時購入or5400円以上のご購入で送料無料】 スペコ レディース スリッポン・ローファー シューズ Siesta Slide Canvas Off White スケッチャーズ レディース スニーカー シューズ Energy Burst White Clarks クラークス レディースシューズ 靴 サンダル フラット Banoy Tulia - Black Leather【代引不可】【あす楽不可】【送料無料】【05P20Aug16】【0818】 送料無料 アグ オーストラリア UGG AUSTRALIA ショート丈ムートンブーツ クラシックミニ CLASSIC MINI RUSTIC WEAVE ブーツ ショートブーツ ムートン ムートンブーツ レディースムートン ムートンブーツ レディース ウーマン ブーツ 【あす楽対応_北海道】

フロントブレーキホースキット クリアホース ステンレス ダイレクト YZF-R1 09〜11年 スウェッジライン(SWAGE-LINE)【P11Sep16】 【送料無料】 ビルドアライン BUILD A LINE ステン フロント スモーク YZF-R1 02-03 20631330S 【 バイクパーツ ブレーキ ブレーキホース 】 部品屋K&W DS1100専用ソロシートKIT リジットタイプ ステッチ タイプ:タイプC カラー:白 202050-31 シフトアップ ウェーブフローティングディスクローター ホンダ 220mm チタン/赤 2輪 スパイラル コンプリートシート ステップシート P033-1929 カワサキ KLX250/D-トラッカー 1998年〜2007年 【 送料無料 ! アウトレットセール 】Chrome クローム Bravo ブラボ Backpack バックパック リュック Blk/Wht ブラック/ホワイト ♪SUMMER SALE♪【日本製】【Made in Japan】【FU-SI FERNALLE/-Classic Python wallet collection-/フーシ フェルナーレ】アンティーク加工 パイソン × 牛革 折り財布【31195】【 国内送料無料!】レディース メンズ 男女兼用 蛇革 本革 ウォレット 財布 【CHUMS チャムス】CH60-2213<Spring Dale 50 II(2016年NEWモデル)>※取り寄せ品

ポリス 財布【POLICE】小銭入れ付き長財布 PA-58101-10 ブラックMETRO【メンズ 財布】 P11Sep16 オロビアンコ メンズ ラウンド 長財布 INTRA I3 LAP-I VITARA/DOL BLU オレンジ【ポイント10倍】【楽ギフ_包装】

ぬいぐるみライフ(仮)

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...
  • 特定の単語が出現する文の検索
  • 単語の頻度分布の可視化
  • 場面ごとの登場人物の推移の可視化

参考資料