In [1]:
from glob import glob

txt_file_names = []

for t in glob('../depart_vision_text/*.txt'):
    if 'dedicated building' not in t:
        txt_file_names.append(t)

print 'len(txt_file_names)', len(txt_file_names)
len(txt_file_names) 39
In [2]:
import spacy

nlp = spacy.load('en')

import nltk
from nltk.corpus import stopwords

sw = set(stopwords.words('english'))
In [3]:
import codecs, re, string

def is_token_okay(t):
            
    is_okay = True

    if t.lower() in sw or t in string.punctuation or \
        t.lower() in ['\'s', '\u2019s', 'would', '\u2013', u'’s', u'“', u'‘', u'—', u'”', u'–']:
        is_okay = False

    try:
        noop = int(t)
        is_okay = False
    except:
        pass
        
    return is_okay

# -----------------------------------------------------------------------

features_all_texts = []

for txt_file_name in txt_file_names:
    
    text = codecs.open(txt_file_name, 'r', encoding='utf-8').read()
    text = re.sub('\s+', ' ', text.replace(u'\ufeff', ''))
    
    doc = nlp(unicode(text))
        
    features = []
    
    for s in doc.sents:
        
        #okay_tokens = []
        #all_tokens = []
        
        #for token in s:
            
        #    all_tokens.append(token.text.lower())
            
        #    if is_token_okay(token.text.lower()):
        #        okay_tokens.append(token.text.lower())
                
        #features += okay_tokens
                
        for chunk in s.noun_chunks:
            if chunk.text.lower() not in sw and len(chunk.text.lower().split(' ')) > 1:
                features.append(chunk.text.lower())
                
        #for NGRAM_LENGTH in [2, 3, 4]:
    
        #    for a in range(0, len(all_tokens) - NGRAM_LENGTH + 1):
            
        #        one_ngram = all_tokens[a: a + NGRAM_LENGTH]
            
        #        is_ngram_okay = True
        #        for token in one_ngram:
        #            if is_token_okay(token) == False:
        #                is_ngram_okay = False
                    
        #        if is_ngram_okay:
        #            features.append(' '.join(one_ngram))
                    
    features_all_texts.append(features)
    
print
print 'len(features_all_texts)', len(features_all_texts)
len(features_all_texts) 39
In [4]:
from gensim import corpora, models, similarities

dictionary = corpora.Dictionary(features_all_texts)
corpus = [dictionary.doc2bow(text) for text in features_all_texts]
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
/home/spenteco/anaconda2/envs/py2/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.22) or chardet (2.3.0) doesn't match a supported version!
  RequestsDependencyWarning)
In [5]:
from collections import defaultdict, Counter

document_frequencies = []

for k, v in dictionary.iteritems():
    if dictionary.dfs[k] > 1:
        if v.split(' ')[0] in ['a', 'the', 'our', 'an', 'both', 'this', 'these', 'their', 'other', 'its',
                              'such', 'that', 'top', 'faculty', 'many']:
            pass
        elif v.startswith('tenure-'):
            pass
        else:
            document_frequencies.append([dictionary.dfs[k], v])
    
document_frequencies.sort(reverse=True)

print 'len(document_frequencies)', len(document_frequencies)
len(document_frequencies) 272
In [6]:
for df in document_frequencies:
    print df
[24, u'washington university']
[18, u'graduate students']
[15, u'st. louis']
[9, u'social work']
[8, u'religious studies']
[8, u'political science']
[8, u'comparative literature']
[7, u'recent years']
[7, u'art history']
[6, u'social sciences']
[6, u'brain sciences']
[6, u'all levels']
[5, u'undergraduate education']
[5, u'romance languages']
[5, u'planetary sciences']
[5, u'graduate studies']
[5, u'film and media studies']
[5, u'external funding']
[5, u'digital humanities']
[5, u'course offerings']
[5, u'computer science']
[5, u'area studies']
[4, u'undergraduate students']
[4, u'translation studies']
[4, u'student demand']
[4, u'strong ties']
[4, u'sexuality studies']
[4, u'second language acquisition']
[4, u'sam fox']
[4, u'research projects']
[4, u'research areas']
[4, u'public policy']
[4, u'public health']
[4, u'performing arts']
[4, u'medical school']
[4, u'medical humanities']
[4, u'latin america']
[4, u'graduate education']
[4, u'east asian studies']
[4, u'data science']
[4, u'core faculty']
[4, u'computational approaches']
[4, u'cognitive science']
[4, u'climate change']
[4, u'campus box']
[4, u'big data']
[4, u'american culture studies']
[4, u'all areas']
[4, u'african and african american studies']
[3, u'visual arts']
[3, u'vision statement']
[3, u'urban design']
[3, u'university college']
[3, u'undergraduate majors']
[3, u'two years']
[3, u'student interest']
[3, u'some cases']
[3, u'social science']
[3, u'social justice']
[3, u'research opportunities']
[3, u'quantitative approaches']
[3, u'postdoctoral fellows']
[3, u'performance studies']
[3, u'oxford university']
[3, u'one semester']
[3, u'new initiatives']
[3, u'new faculty']
[3, u'new courses']
[3, u'more students']
[3, u'material culture']
[3, u'literary studies']
[3, u'latinx studies']
[3, u'language study']
[3, u'joint appointments']
[3, u'joe loewenstein']
[3, u'introductory courses']
[3, u'interdisciplinary connections']
[3, u'human experience']
[3, u'graduate programs']
[3, u'first-year students']
[3, u'existing strengths']
[3, u'east asia']
[3, u'digital media']
[3, u'creative work']
[3, u'community engagement']
[3, u'columbia university']
[3, u'book history']
[3, u'american culture']
[3, u'all students']
[2, u'\u201cbig data']
[2, u'world report']
[2, u'whose work']
[2, u'whose research']
[2, u'university city']
[2, u'unique insights']
[2, u'undergraduate teaching']
[2, u'undergraduate studies']
[2, u'undergraduate interest']
[2, u'two offices']
[2, u'two important areas']
[2, u'training opportunities']
[2, u'traditional fields']
[2, u'traditional boundaries']
[2, u'tim parsons']
[2, u'three primary goals']
[2, u'sunita parikh']
[2, u'student and faculty interest']
[2, u'strong links']
[2, u'statistical methods']
[2, u'specific areas']
[2, u'space sciences']
[2, u'southern california']
[2, u'social movements']
[2, u'social media']
[2, u'social class']
[2, u'silicon valley']
[2, u'significant contributions']
[2, u'several paths']
[2, u'several departments']
[2, u'seven graduate students']
[2, u'scholarly attention']
[2, u'rhaisa williams']
[2, u'research methods']
[2, u'research activities']
[2, u'recent developments']
[2, u'rebecca wanzo']
[2, u'racial violence']
[2, u'quantitative biology']
[2, u'public discourse']
[2, u'public affairs']
[2, u'professional programs']
[2, u'princeton university']
[2, u'prestigious prizes']
[2, u'post-doctoral fellows']
[2, u'popular music']
[2, u'political theory']
[2, u'plate tectonics']
[2, u'planetary exploration']
[2, u'phd students']
[2, u'peer departments']
[2, u'paige mcginley']
[2, u'outside speakers']
[2, u'one reason']
[2, u'one course']
[2, u'one brookings drive']
[2, u'olin library']
[2, u'numerous opportunities']
[2, u'novel ways']
[2, u'notre dame']
[2, u'north america']
[2, u'no student']
[2, u'new ways']
[2, u'new strategies']
[2, u'new possibilities']
[2, u'new or enhanced areas']
[2, u'new majors']
[2, u'new hires']
[2, u'new areas']
[2, u'new approaches']
[2, u'near eastern languages']
[2, u'much progress']
[2, u'more time']
[2, u'more people']
[2, u'more faculty']
[2, u'media studies']
[2, u'meaningful ways']
[2, u'matthias g\xf6ritz']
[2, u'matt erlin']
[2, u'massive amounts']
[2, u'major contributions']
[2, u'machine learning']
[2, u'lynne tatlock']
[2, u'local organizations']
[2, u'local communities']
[2, u'limor golan']
[2, u'leadership roles']
[2, u'leadership positions']
[2, u'latin american studies']
[2, u'large data sets']
[2, u'language science']
[2, u'language learning']
[2, u'lab space']
[2, u'key questions']
[2, u'key areas']
[2, u'keen interest']
[2, u'junior faculty']
[2, u'joint degrees']
[2, u'joint appointment']
[2, u'jean allman']
[2, u'internship opportunities']
[2, u'international relations']
[2, u'interdisciplinary work']
[2, u'interdisciplinary study']
[2, u'interdisciplinary inquiry']
[2, u'interdisciplinary courses']
[2, u'interdisciplinary approaches']
[2, u'intellectual history']
[2, u'innovative courses']
[2, u'increased collaboration']
[2, u'humanities faculty']
[2, u'humanities departments']
[2, u'historical questions']
[2, u'hispanic studies']
[2, u'higher education']
[2, u'great potential']
[2, u'graduate courses']
[2, u'grad students']
[2, u'global studies']
[2, u'future plans']
[2, u'further development']
[2, u'french literature']
[2, u'formal modeling']
[2, u'extraterrestrial materials']
[2, u'ethnographic work']
[2, u'ethnic studies']
[2, u'environmental studies']
[2, u'environmental earth sciences']
[2, u'emerging trends']
[2, u'economic inequality']
[2, u'east asian languages']
[2, u'early modern studies']
[2, u'diversity science']
[2, u'diverse faculty']
[2, u'disciplinary boundaries']
[2, u'digital methods']
[2, u'digital history']
[2, u'different fields']
[2, u'different disciplines']
[2, u'developed workshops']
[2, u'departmental status']
[2, u'dean schaal']
[2, u'data sets']
[2, u'data collection']
[2, u'data analysis']
[2, u'current state']
[2, u'cultural history']
[2, u'cross-disciplinary collaborations']
[2, u'critical mass']
[2, u'creative writing']
[2, u'courtesy appointments']
[2, u'course releases']
[2, u'core courses']
[2, u'contemporary literature']
[2, u'considerable interest']
[2, u'considerable expertise']
[2, u'computational tools']
[2, u'computational methods']
[2, u'community outreach']
[2, u'cognitive neuroscience']
[2, u'class size']
[2, u'chinese history']
[2, u'chemical reactions']
[2, u'broad exposure']
[2, u'brief history']
[2, u'black studies']
[2, u'biological systems']
[2, u'biological problems']
[2, u'big data initiatives']
[2, u'arts & sciences departments']
[2, u'artificial intelligence']
[2, u'area studies programs']
[2, u'another area']
[2, u'ancient philosophy']
[2, u'ancient art']
[2, u'american intellectual history']
[2, u'american history']
[2, u'aging societies']
[2, u'additional space']
[2, u'additional faculty']
[2, u'academic vision']
[2, u'academic coordinator']
[2, u'33 faculty']
In [7]:
for df in document_frequencies:
    print df[1]
washington university
graduate students
st. louis
social work
religious studies
political science
comparative literature
recent years
art history
social sciences
brain sciences
all levels
undergraduate education
romance languages
planetary sciences
graduate studies
film and media studies
external funding
digital humanities
course offerings
computer science
area studies
undergraduate students
translation studies
student demand
strong ties
sexuality studies
second language acquisition
sam fox
research projects
research areas
public policy
public health
performing arts
medical school
medical humanities
latin america
graduate education
east asian studies
data science
core faculty
computational approaches
cognitive science
climate change
campus box
big data
american culture studies
all areas
african and african american studies
visual arts
vision statement
urban design
university college
undergraduate majors
two years
student interest
some cases
social science
social justice
research opportunities
quantitative approaches
postdoctoral fellows
performance studies
oxford university
one semester
new initiatives
new faculty
new courses
more students
material culture
literary studies
latinx studies
language study
joint appointments
joe loewenstein
introductory courses
interdisciplinary connections
human experience
graduate programs
first-year students
existing strengths
east asia
digital media
creative work
community engagement
columbia university
book history
american culture
all students
“big data
world report
whose work
whose research
university city
unique insights
undergraduate teaching
undergraduate studies
undergraduate interest
two offices
two important areas
training opportunities
traditional fields
traditional boundaries
tim parsons
three primary goals
sunita parikh
student and faculty interest
strong links
statistical methods
specific areas
space sciences
southern california
social movements
social media
social class
silicon valley
significant contributions
several paths
several departments
seven graduate students
scholarly attention
rhaisa williams
research methods
research activities
recent developments
rebecca wanzo
racial violence
quantitative biology
public discourse
public affairs
professional programs
princeton university
prestigious prizes
post-doctoral fellows
popular music
political theory
plate tectonics
planetary exploration
phd students
peer departments
paige mcginley
outside speakers
one reason
one course
one brookings drive
olin library
numerous opportunities
novel ways
notre dame
north america
no student
new ways
new strategies
new possibilities
new or enhanced areas
new majors
new hires
new areas
new approaches
near eastern languages
much progress
more time
more people
more faculty
media studies
meaningful ways
matthias göritz
matt erlin
massive amounts
major contributions
machine learning
lynne tatlock
local organizations
local communities
limor golan
leadership roles
leadership positions
latin american studies
large data sets
language science
language learning
lab space
key questions
key areas
keen interest
junior faculty
joint degrees
joint appointment
jean allman
internship opportunities
international relations
interdisciplinary work
interdisciplinary study
interdisciplinary inquiry
interdisciplinary courses
interdisciplinary approaches
intellectual history
innovative courses
increased collaboration
humanities faculty
humanities departments
historical questions
hispanic studies
higher education
great potential
graduate courses
grad students
global studies
future plans
further development
french literature
formal modeling
extraterrestrial materials
ethnographic work
ethnic studies
environmental studies
environmental earth sciences
emerging trends
economic inequality
east asian languages
early modern studies
diversity science
diverse faculty
disciplinary boundaries
digital methods
digital history
different fields
different disciplines
developed workshops
departmental status
dean schaal
data sets
data collection
data analysis
current state
cultural history
cross-disciplinary collaborations
critical mass
creative writing
courtesy appointments
course releases
core courses
contemporary literature
considerable interest
considerable expertise
computational tools
computational methods
community outreach
cognitive neuroscience
class size
chinese history
chemical reactions
broad exposure
brief history
black studies
biological systems
biological problems
big data initiatives
arts & sciences departments
artificial intelligence
area studies programs
another area
ancient philosophy
ancient art
american intellectual history
american history
aging societies
additional space
additional faculty
academic vision
academic coordinator
33 faculty
In [23]:
files_to_departments = {'Academic Plan for the Department of African and African American Studies.txt': 'African and African-American Studies',
'AcademicVisionBiologyFINAL.txt': 'Biology',
'AcademicVisionEnglish.txt': 'English',
'Academic_Vision_EPS-12-08-17.txt': 'Earth and Planetary Sciences',
'Academic Vision Statement - Education.txt': 'Education',
'AHA Vision Statement Dec 2017.txt': 'Art History and Archeology',
'AMCS academic vision statement 12.1.17-2.txt': 'American Culture Studies',
'Anthropology vision fall 2017 v 3.txt': 'Anthropology',
'A Vision for Chemistry 12-12-17.txt': 'Chemistry',
'Center for the Humanities Vision Statement Jan 2018.txt': 'Center for the Humanities',
'Classics Vision letterhead 12.01.17.txt': 'Classics',
'Econ Dept Vision Final.txt': 'Economics',
'EnSt_Vision_Statement.txt': 'Environmental Studies',
'FMS ACADEMIC VISION STATEMENT 12 01 17.txt': 'Film and Media Studies',
'German_Final_Vision_Statement .txt': 'German',
'HDW Next Steps 2017.txt': 'Humanities Digital Workshop',
'History Department Academic Vision.txt': 'History',
'IAS longterm plan.txt': 'International Area Studies',
'IPHVision.txt': 'Interdisciplinary Project in the Humanities',
'Linguistics Program Vision Statement.txt': 'Linguistics',
'MathDept10yearPlanNovember2017.txt': 'Mathematics',
'MCSS-Mission-Vision 1-2-2018.txt': 'McDonnell Center for the Space Sciences',
'Music DepartmentAcademic VisionDecember 2017.txt': 'Music',
'PAD Vision Statement (1).txt': 'Performing Arts Department',
'PBS_Vision_120117.txt': 'Psychological and Brain Sciences',
'PhilosophyVisionStatementFinal.txt': 'Philosophy',
'Physics_Department_Vision_for_Growth.txt': 'Physics',
'political science vision statement.txt': 'Political Science',
'RLL Vision Statement December 2017.txt': 'Romance Languages and Literatures',
'Sociology Vision Statement Dec 2017.txt': 'Sociology',
'Spanish Section Vision Statement .txt': 'Spanish',
'Urban Studies Prg.Planning Document.04.02.17. FINAL.txt': 'Urban Studies',
'Vision East Asian Studies Watt 17Dec01.txt': 'East Asian Studies',
'Vision for the department Dec 1 - JINELC.txt': 'Jewish, Islamic and Near Eastern Languages and Cultures',
'vision statement_Comparative Literature_2017.txt': 'Comparative Literature',
'Vision Statement EALC .txt': 'East Asian Languages and Cultures',
'Vision Statement Latin American Studies 2017.txt': 'Latin American Studies',
'Weidenbaum Center vision.txt': 'Weidenbaum Center',
'WGSSVisionStatement_12-1-17Final.txt': 'Women, Gender, and Sexuality Studies',}


key_terms = {'african and african american studies': 'african and african american studies',
'black studies': 'african and african american studies',
'aging societies': 'aging societies',
'american culture': 'american culture',
'american culture studies': 'american culture',
'american history': 'american history',
'ancient art': 'ancient art',
'ancient philosophy': 'ancient philosophy',
'artificial intelligence': 'artificial intelligence',
'big data': 'big data',
'big data initiatives': 'big data',
'computational approaches': 'computational methods',
'computational methods': 'computational methods',
'computational tools': 'computational methods',
'data analysis': 'data science',
'data collection': 'data science',
'data science': 'data science',
'data sets': 'data science',
'digital history': 'digital humanities',
'digital humanities': 'digital humanities',
'digital methods': 'applied data science',
'large data sets': 'big data',
'machine learning': 'applied data science',
'quantitative approaches': 'quantitative approaches',
'quantitative biology': 'quantitative approaches',
'statistical methods': 'quantitative approaches',
'area studies': 'area studies',
'area studies programs': 'area studies',
'art history': 'art history',
'biological problems': 'biological problems',
'biological systems': 'biological systems',
'book history': 'book history',
'brain sciences': 'brain sciences',
'cognitive neuroscience': 'brain sciences',
'cognitive science': 'brain sciences',
'chemical reactions': 'chemical reactions',
'chinese history': 'chinese history',
'climate change': 'climate change',
'comparative literature': 'comparative literature',
'computer science': 'computer science',
'contemporary literature': 'contemporary literature',
'creative writing': 'creative writing',
'cultural history': 'cultural history',
'digital media': 'digital media',
'diverse faculty': 'diverse faculty',
'diversity science': 'diversity science',
'early modern studies': 'early modern studies',
'east asia': 'east asia',
'east asian languages': 'east asia',
'east asian studies': 'east asia',
'economic inequality': 'economic inequality',
'environmental earth sciences': 'environmental earth sciences',
'environmental studies': 'environmental studies',
'ethnic studies': 'ethnic studies',
'ethnographic work': 'ethnographic work',
'extraterrestrial materials': 'extraterrestrial materials',
'film and media studies': 'film and media studies',
'formal modeling': 'formal modeling',
'french literature': 'french literature',
'further development': 'further development',
'global studies': 'global studies',
'grad students': 'graduate education',
'graduate courses': 'graduate education',
'graduate education': 'graduate education',
'graduate programs': 'graduate education',
'graduate studies': 'graduate education',
'phd students': 'graduate education',
'higher education': 'higher education',
'hispanic studies': 'hispanic studies',
'historical questions': 'historical questions',
'human experience': 'human experience',
'innovative courses': 'innovative courses',
'american intellectual history': 'intellectual history',
'cross-disciplinary collaborations': 'interdisciplinary collaboration',
'different disciplines': 'interdisciplinary collaboration',
'different fields': 'interdisciplinary collaboration',
'disciplinary boundaries': 'interdisciplinary collaboration',
'increased collaboration': 'interdisciplinary collaboration',
'interdisciplinary approaches': 'interdisciplinary collaboration',
'interdisciplinary connections': 'interdisciplinary collaboration',
'interdisciplinary courses': 'interdisciplinary collaboration',
'interdisciplinary inquiry': 'interdisciplinary collaboration',
'interdisciplinary study': 'interdisciplinary collaboration',
'interdisciplinary work': 'interdisciplinary collaboration',
'international relations': 'international relations',
'internship opportunities': 'internship opportunities',
'language learning': 'language learning',
'second language acquisition': 'language learning',
'language science': 'language science',
'language study': 'language study',
'latin america': 'latin america',
'latin american studies': 'latin american studies',
'latinx studies': 'latinx studies',
'leadership positions': 'leadership positions',
'leadership roles': 'leadership roles',
'literary studies': 'literary studies',
'community engagement': 'local communities',
'community outreach': 'local communities',
'local communities': 'local communities',
'local organizations': 'local communities',
'st. louis': 'local communities',
'university city': 'local communities',
'material culture': 'material culture',
'media studies': 'media studies',
'medical humanities': 'medical humanities',
'medical school': 'medical school',
'near eastern languages': 'near eastern languages',
'outside speakers': 'outside speakers',
'performance studies': 'performance studies',
'performing arts': 'performing arts',
'planetary exploration': 'planetary sciences',
'planetary sciences': 'planetary sciences',
'plate tectonics': 'plate tectonics',
'political science': 'political science',
'political theory': 'political theory',
'popular music': 'popular music',
'post-doctoral fellows': 'post-doctoral fellows',
'postdoctoral fellows': 'post-doctoral fellows',
'professional programs': 'professional programs',
'public affairs': 'public affairs',
'public discourse': 'public discourse',
'public health': 'public health',
'public policy': 'public policy',
'racial violence': 'racial violence',
'religious studies': 'religious studies',
'research methods': 'research methods',
'romance languages': 'romance languages',
'sam fox': 'sam fox',
'sexuality studies': 'sexuality studies',
'silicon valley': 'silicon valley',
'social class': 'social class',
'social justice': 'social justice',
'social media': 'social media',
'social movements': 'social movements',
'social science': 'social science',
'social sciences': 'social sciences',
'social work': 'social work',
'southern california': 'southern california',
'space sciences': 'space sciences',
'training opportunities': 'training opportunities',
'translation studies': 'translation studies',
'first-year students': 'undergraduate education',
'introductory courses': 'undergraduate education',
'undergraduate education': 'undergraduate education',
'undergraduate majors': 'undergraduate education',
'undergraduate students': 'undergraduate education',
'undergraduate studies': 'undergraduate education',
'undergraduate teaching': 'undergraduate education',
'urban design': 'urban design',
'visual arts': 'visual arts',}
In [44]:
terms_frequencies = {}
terms_departments = {}

for k, v in key_terms.iteritems():
    terms_frequencies[v] = 0
    terms_departments[v] = []


for n, text in enumerate(features_all_texts):
    
    has_key_term = False
    n_key_terms = 0
    matching_terms = []
    
    for token in text:
        if token in key_terms:
            has_key_term = True
            n_key_terms += 1
            matching_terms.append(key_terms[token])
            
    matching_terms = sorted(list(set(matching_terms)))
            
    department_name = files_to_departments[txt_file_names[n].split('/')[-1]]
    
    for m in matching_terms:
        terms_frequencies[m] += 1
        terms_departments[m].append(department_name)
            
    print has_key_term, n_key_terms, department_name
True 36 Latin American Studies
True 28 Biology
True 10 English
True 11 Philosophy
True 9 Music
True 38 East Asian Languages and Cultures
True 8 Film and Media Studies
True 9 Education
True 8 Center for the Humanities
True 7 Performing Arts Department
True 10 Physics
True 46 Humanities Digital Workshop
True 7 Anthropology
True 20 Environmental Studies
True 10 Earth and Planetary Sciences
True 20 Jewish, Islamic and Near Eastern Languages and Cultures
True 21 Art History and Archeology
True 14 History
True 4 International Area Studies
True 17 German
True 27 Women, Gender, and Sexuality Studies
True 19 Classics
True 4 Chemistry
True 10 Mathematics
True 41 Psychological and Brain Sciences
True 25 Political Science
True 10 Linguistics
True 13 Sociology
True 12 Urban Studies
True 18 Spanish
True 7 McDonnell Center for the Space Sciences
True 16 Weidenbaum Center
True 18 Comparative Literature
True 18 African and African-American Studies
True 27 American Culture Studies
True 6 Economics
True 38 Romance Languages and Literatures
True 31 East Asian Studies
True 11 Interdisciplinary Project in the Humanities
In [70]:
%matplotlib inline

import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
import seaborn as sns

sns.set_style("white")

print 'len(terms_frequencies)', len(terms_frequencies)

# https://matplotlib.org/examples/color/colormaps_reference.html
# https://amueller.github.io/word_cloud/generated/wordcloud.WordCloud.html#
# https://publicaffairs.wustl.edu/assets/color-palettes/

cmap = mpl.colors.ListedColormap(['#a51417', '#007360', '#6c7373'])

wordcloud = WordCloud(
                    font_path='/usr/share/fonts/truetype/liberation/LiberationSerif-Bold.ttf',
                    width=1000, 
                    height=1000,
                    margin=20,
                    background_color='white',
                    prefer_horizontal=0.5,
                    colormap=cmap).fit_words(terms_frequencies)

plt.figure()
plt.figure(figsize=(15, 15))
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()
len(terms_frequencies) 103
<Figure size 432x288 with 0 Axes>