Python 自然語(yǔ)言處理 2.8 練習(xí)

Natural Language Processing with Python
Python 自然語(yǔ)言處理
2.8練習(xí)


1. ○ Create a variable phrase containing a list of words. Experiment with the operations described in this chapter, including addition, multiplication, indexing, slicing, and sorting.




2. ○ Use the corpus module to explore austen-persuasion.txt . How many word tokens does this book have? How many word types?

>>> import nltk
>>> from nltk.corpus import gutenberg
>>> gutenberg.fileids()
>>> len(gutenberg.words('austen-persuasion.txt'))
98171
>>> len(set(gutenberg.words('austen-persuasion.txt')))
6132
>>> len(set([w.lower() for w in gutenberg.words('austen-persuasion.txt')]))
5835
>>> 
>>> 
>>> persuasion = gutenberg.words('austen-persuasion.txt')
>>> len(persuasion)          #tokens = len(persuasion)
>>> len(set(persuasion))     #types_1 = len(set(persuasion))
>>> len(set([w.lower for w in persuasion]))     #types_2 = len(set([w.lower for w in persuasion]))

tokens:98171
types:6132


3. ○ Use the Brown Corpus reader nltk.corpus.brown.words() or the Web Text Corpus reader nltk.corpus.webtext.words() to access some sample text in two different genres.


4. ○ Read in the texts of the State of the Union addresses, using the state_union corpus reader. Count occurrences of men , women , and people in each document. What has happened to the usage of these words over time?

#
# NLP with Python
#     ch2 2.8 EX2-8_q4
#

import nltk
from nltk.corpus import state_union

state_union.fileids()
cfd = nltk.ConditionalFreqDist((target,fileid[:4])
                                  for fileid in state_union.fileids()
                                  for w in state_union.words(fileid)
                                  for target in ['women','man','people']
                                  if w.lower().startswith(target))
cfd.plot()

5. ○ Investigate the holonym-meronym relations for some nouns. Remember that there are three kinds of holonym-meronym relation, so you need to use member_meronyms() ,part_meronyms() ,substance_meronyms() ,member_holonyms() ,part_holonyms() , and substance_holonyms() .

6. ○ In the discussion of comparative wordlists, we created an object called translate , which you could look up using words in both German and Italian in order to get corresponding words in English. What problem might arise with this approach? Can you suggest a way to avoid this problem?


7.○ According to Strunk and White’s Elements of Style, the word however, used at the start of a sentence, means “in whatever way” or “to whatever extent,” and not “nevertheless.” They give this example of correct usage: However you advise him,he will probably do as he thinks best. (http://www.bartleby.com/141/strunk3.html) Use the concordance tool to study actual usage of this word in the various texts wehave been considering. See also the LanguageLog posting “Fossilized prejudices about ‘however’” at http://itre.cis.upenn.edu/~myl/languagelog/archives/001913.html.


8.? Define a conditional frequency distribution over the Names Corpus that allowsyou to see which initial letters are more frequent for males versus females (see Figure 2-7).

#
# NLP with Python
#     ch2 2.8 EX2-8_q8
#

import nltk
from nltk.corpus import names

name_types = names.fileids()
# ['male.txt','female.txt']
male_names = names.words('male.txt')
female_names = names.words('female.txt')
# [w for w in male_names if w in female_names]

cfd = nltk.ConditionalFreqDist(
(fileid, name[1])
for fileid in names.fileids()
for name in names.words(fileid)
)

cfd.plot()

9.? Pick a pair of texts and study the differences between them, in terms of vocabulary, vocabulary richness, genre, etc. Can you find pairs of words that have quite different meanings across the two texts, such as monstrous in Moby Dick and in Sense and Sensibility?


10.? Read the BBC News article: “UK’s Vicky Pollards ‘left behind’” at http://news.bbc.co.uk/1/hi/education/6173441.stm. The article gives the following statistic about teen language: “the top 20 words used, including yeah, no, but and like, account for around a third of all words.” How many word types account for a third of all word tokens, for a variety of text sources? What do you conclude about this statistic? Read more about this on LanguageLog, at http://itre.cis.upenn.edu/~myl/languagelog/archives/003993.html.

stopwords 語(yǔ)料庫(kù), 高頻詞匯


11.? Investigate the table of modal distributions and look for other patterns. Try to explain them in terms of your own impressionistic understanding of the different genres. Can you find other closed classes of words that exhibit significant differences across different genres?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容