スタンダードソファ【OLIVEA】オリヴィア 幅75cm  【ソファー キャンプ調理 カウチソファ 一人掛け PENDLETON(ペンドルトン) スタンダードソファ 家具】 トルマリン 【あす楽】【HLS_DU】



スタンダードソファ【OLIVEA】オリヴィア 幅75cm  【ソファー キャンプ調理 カウチソファ 一人掛け PENDLETON(ペンドルトン) スタンダードソファ 家具】 トルマリン 【あす楽】【HLS_DU】

スタンダードソファ【OLIVEA】オリヴィア 幅75cm スタンダードソファ【OLIVEA】オリヴィア北欧の風を感じるデザインで部屋がセンスアップ。 シンプルであり、それでいてインテリアの中心となるようなカタチ。デザイン性のある背もたれが、普通のソファとはまた違った雰囲気を演出。肘掛けは細めの設計で、ゆったりくつろげる座面幅を確保。 脚を付け変えて、部屋が広く感じられるローソファとしても使用可能。 1人掛け〜3人掛け、オットマンの5サイズに、各サイズのソファ+オットマンのセットもご用意!商品名スタンダードソファ【OLIVEA】オリヴィア 幅75cm配送についてこちらの商品はメーカーより直送いたします。※配送会社は佐川急便、ヤマト運輸など※配送業者のご指定はお受けいたし兼ねます。ご了承ください。※商品は玄関渡しとなります。出荷について13:00までにご注文を頂いた場合、当日出荷が可能!配達指定が可能な時間帯在庫について在庫につきましては、随時確認を行っておりますが、ご注文を頂いた時点で、メーカー側で欠品、または、生産中止となっている場合がございます。何卒ご了承願います。送料についてこちら商品は同梱不可となっております!※同じ商品を2つ以上御注文いただいた場合、個別梱包となりそれぞれ送料がかかりますのでご了承下さい。検索ワードソファー コーナーソファー カウチソファ 家具 ソファー 一人掛け 1人掛け 2人掛け 3人掛け スタンダードソファ◇こちらの商品も売れています◇【Colorful Living Selection LeJOY】リジョイシリーズ:20色から選べる!カバーリングソファ・スタンダードタイプ木肘コーナーカウチソファ【OLLIE】オーリーシンプルモダンシリーズ【BLACK】ブラック ソファ2人掛け ウッド×ファブリックソファ【Lanoue】ラヌー デザインソファ【CRESWELL】クレスウェル 1P コーナーカウチソファ【MAXWELL】マクスウェルフランス産フェザー入りモダンデザインソファ【MODA】モーダ 【あす楽対応_東北】【あす楽対応_関東】【あす楽対応_甲信越】【あす楽対応_北陸】【あす楽対応_東海】【あす楽対応_近畿】

【noble】ノーブル トルマリン ラップサポーター 腰用 [男女兼用・1枚入り] #200105 (日本製) ブラック(Lサイズ)/6点入り(代引き不可)【ポイント10倍】 ダンノ(DANNO)クロームアレー5kgD384(d384)【P27Mar15】 PENDLETON(ペンドルトン) トート グレー 19373059108000 【送料無料!☆即日発送可能!】16-17モデル入荷!ゴールドウィン/ジュニアレーシングソフトシェルジャケット(Jr. Racing Soft Shell Jacket) GOLDWIN/スキーウェア ミドラージャケット GJ51600P【RCP】0716 【送料無料】SOTO(新富士バーナー)ステンレスダッチオーブン10インチ ハーフ ST910HF 【B】【TC】【NW】【ソト キャンプ用品 調理用品 キャンプ調理 アウトドア レジャー バーベキュー BBQ 登山 ピクニック フェス】【RCP】 【送料無料】オーダーカーテン▼ソフトウェーブ フラット(ヒダなし)・下部3ッ巻 プルミエ▼川島織物セルコン Premier ELEGANT PD1086D〜1087D カーテン【送料無料】アスワン オーセンス LACE 機能ボール&レース E4451 ハイグレード縫製約1.5倍ヒダ 【送料無料】オーダーカーテン▼スタンダードオーダー フラット(ヒダなし)・下部3ッ巻 機能レース プルミエ▼川島織物セルコン Premier PY1404D

純国産/日本製 糸引織 い草上敷 『湯沢』 江戸間8畳(約352×352cm)【送料込/送料無料】【ポイント10倍】 【送料無料】スミノエ EXマイクロファイバーラグ 200×200cm 正方形 ブラウン MS-300【代引不可】カーペット・マットインテリア・家具 スタンダードソファ【OLIVEA】オリヴィア 幅75cm  【ソファー カウチソファ 一人掛け スタンダードソファ 家具】 【あす楽】【HLS_DU】 Positive Grid BIAS FX Professional ギターエフェクト 【ポジティブグリッド】 【梅田ロフト店】 【国内正規品】【ダウンロード版】 自然オイル塗装 トレーキャビネット380 タイニー2【送料無料】【さらに表示価格より3%off】パソコンデスク 電話台【PR5】【zai3】 中古ノートパソコンTOSHIBA dynabook Satellite B551/C PB551CBBN77A51 【中古】 TOSHIBA dynabook Satellite B551/C 中古ノートパソコンCore i5 Win7 Pro 【代引不可】【サンワサプライ SANWA SUPPLY】デスクW1400 製品型番:SH-FD1470 中古ノートパソコンLenovo ThinkPad X220 4290-F19 【中古】 Lenovo ThinkPad X220 中古ノートパソコンCore i5 Win7 Pro Lenovo ThinkPad X220 中古ノートパソコンCore i5 Win7 Pro ★あす楽★【最新型】My神透水ボトルQキュウ 電動角質取り「フットケア」と「H2バッグ500ml」付特典  MyShintousuiBottle-Q 水素水生成器

白十字 サルバタオルD(50枚入) ×20個【イージャパンモール】 エアロライフ ターンステッパーDR-3868 送料無料 【無料健康相談 対象製品】【ナビス】車椅子 AND−1−B 【fsp2124-6m】【02P06Aug16】 トーエイライト(TOEI LIGHT) エコカラー連結式マット T-1117 スタンダードソファ【OLIVEA】オリヴィア 幅75cm  【ソファー カウチソファ 一人掛け スタンダードソファ 家具】 【あす楽】【HLS_DU】 コーチ ≪取り寄せ商品≫LEGACY レガシー シグネチャー キャンバス 二つ折り長財布 48462/SBKBK FENDI フェンディ 二つ折り長財布 ズッカ柄 PVC ブラウン 0824楽天カード分割 【中古】[ic] (ホーボー) Hobo Lauren Womens Hunter ハンド バッグ ブランド 鞄 かばん グッチ Gucci Wホック財布 メンズ可 その他 ゴールド エナメルレザー 美品 【中古】 J14138 ★

吉田カバン ポーター PORTER シーン・2つ折りウォレット(中ベロ付)【財布】(メンズ 男性 ウォレット ブランド おしゃれ ハーフウォレット ファッション 二つ折り財布 poter プレゼント 吉田かばん 2つ折り財布 ポーター財布 敬老の日 ブランド財布 デザイン)10P03Sep16 レーシングスライダー クランクカバー AGRAS(アグラス) ゼファー1100(ZEPHYR)【P11Sep16】 リゾマ:RIZOMA ミラー類 ミラー 「サーキット 959」 【Circuit 959】右側用■ 【カワサキ純正パーツ】パイプ(フオ−クインナ) 【44013-1286】【KAWASAKI GENUINE PARTS】【取寄品】 【HEALTECH ELECTRONICS】【ヒールテックエレクトロニクス】【インジケーター】【ホンダ国内フルパワーGPDS-H01ギアインジケーター ブルー】 ツバキ チェーン Tsubaki Chain kit KAWASAKI KX450F (520 MX type)【ヨーロッパ直輸入品】 14 47 KX450F (450) 06-13|16 スタンダードソファ【OLIVEA】オリヴィア 幅75cm  【ソファー カウチソファ 一人掛け スタンダードソファ 家具】 【あす楽】【HLS_DU】 ツバキ チェーン Tsubaki Chain Kit (525-type OMEGA ORS)【ヨーロッパ直輸入品】 11 42 POLARIS SPORT 400L (400) 96-98 POLARIS XPRESS 400 (400) 96 1766 クリアキン Kuryakyn ヘビーインダストリーミラー (左右ペア) 黒/クローム 左右ペア

Dimotiv Type3Lブレーキ・クラッチレバーSET KTM カラー:ゴールド+オレンジ SPタケガワ[SP武川]:DタイプLCDスピード&タコメーター/12Vモンキー・ゴリラ・モンキー(FI) 【05-05-0039】 【USA在庫あり】 1142-0198 140-5157U4 アルティマックス(Ultimax) ベルト PRO Ski-Doo 1-29/64" x 52-11/16" [ブリジットベイリー] Brigitte Bailey レディース Jan Cami Dress ドレス 『韓国製』 SELLISHOP Luxury マルイドット柄 カーディガン「通勤服 コートカーデ,コーディガン,上品 30代 40代 50代 韓国 ファッショ 大人 大きいサイズ ウール 混 ジャケット 淑女 羽織る モード系 黒 グレー ニットコート」 プラーナ レディース ワンピース トップス Prana Nadia Dress - Women's Grapevine COMME des GARCONS コムデギャルソン レディース AD2014 フラワーチュール ノースリーブワンピース ブラック サイズXS【中古】 Fox フォックス レディーズ Fox Persuade Pullover Hoodie シャツ トップス T? グレー

「フジ」2016 SPORTIF 2.3 (スポルティフ) 外装16段変速 あさひ限定 ロードバイク「CBA-1」 店舗受取 Penn Gold Labelシリーズ Torque Spinning Reel (Black)【送料無料】【代引不可】【あす楽不可】【05P20Aug16】【0818】 16-17 BC Stream ビーシーストリーム H 54M/58M/62M エイチ メタル スノーボード SBX ハンマー 2017 予約商品 CORIMA(コリマ) 47mm 2Dリム単体 (700c) (WO)[ホイール][ロード用][リム] 16-17 NOVEMBER ノベンバー スノーボード KJ152 笠原啓二郎モデル ノーベンバー ライダーズモデル 【送料無料】 TATONKA タトンカ ジャゴス 50 AT2512 LOGOS/ロゴス 28056323 透湿レインスーツ・スロエ (ライトグリーン) 【Mサイズ】 【送料無料 ※一部地域除く】【VIPOLE バイポール】【トレッキングポール】品名:CARBON QL(カラー:ブラック/ホワイト)品番:#S1308-09 I型 2本1セット カーボン クイックロック 登山 AIRMONTE エアモンテ 正規品

(gregory)グレゴリー ハーフデイ コットンウッドカモ カブー Kavu Throwshirt Fleece Pullover - 1 2-Zip - Men's Charcoal メンズ 男性用 アウトドア フリース ジャケット コート アウター Fleece Jackets

ぬいぐるみライフ(仮)

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

参考資料