commit 225fed031d73742b45c5d5ff88ea0cbe8459b475 Author: wchen342 Date: Wed Jul 6 05:41:13 2016 -0400 Initial commit of ex6 diff --git a/cs229_hw.iml b/cs229_hw.iml new file mode 100644 index 0000000..ad3c0a3 --- /dev/null +++ b/cs229_hw.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/ex6/ex6.py b/ex6/ex6.py new file mode 100644 index 0000000..f339b22 --- /dev/null +++ b/ex6/ex6.py @@ -0,0 +1,103 @@ +import numpy as np +import scipy.io +import matplotlib.pyplot as plt +from sklearn.svm import SVC + + +def plotdata(X, y): + pos = y == 1 + neg = y == 0 + plt.plot(X[:, :1][pos], X[:, 1:2][pos], 'k+', linewidth=1, markersize=7) + plt.plot(X[:, :1][neg], X[:, 1:2][neg], 'ko', markerfacecolor='y', markersize=7) + + +def visualize_boundary_linear(X, y, clf): + w = clf.coef_ + b = clf.intercept_ + xp = np.linspace(X[:, :1].min(), X[:, :1].max(), 100) + yp = - (w[0, 0] * xp + b) / w[0, 1] + plotdata(X, y) + plt.plot(xp, yp, '-b') + + +def visualize_boundary(X, y, clf): + plotdata(X, y) + x1plot = np.linspace(X[:, :1].min(), X[:, :1].max(), 100).T + x2plot = np.linspace(X[:, 1:2].min(), X[:, 1:2].max(), 100).T + X1, X2 = np.meshgrid(x1plot, x2plot) + vals = np.zeros(X1.shape) + for i in range(1, X1.shape[1]+1): + this_X = np.hstack((X1[:, i-1:i], X2[:, i-1:i])) + vals[:, i-1] = clf.predict(this_X) + + plt.contour(X1, X2, vals, [0], colors='b') + # plt.contour(X1, X2, vals, colors='b') + + +print('Loading and Visualizing Data ...\n') + +data = scipy.io.loadmat('mat/ex6data1.mat', matlab_compatible=True) + +X = data['X'] +y = data['y'] + +plotdata(X, y) +plt.show() + +print('Program paused. Press enter to continue.\n') +input() + +C = 1 +clf = SVC(C=C, kernel='linear') + +clf.fit(X, y.ravel()) +visualize_boundary_linear(X, y, clf) +plt.show() + +print('Program paused. Press enter to continue.\n') +input() + +print('Loading and Visualizing Data ...\n') + +data = scipy.io.loadmat('mat/ex6data2.mat', matlab_compatible=True) + +X = data['X'] +y = data['y'] + +plotdata(X, y) +plt.show() + +print('Program paused. Press enter to continue.\n') +input() + +print('\nTraining SVM with RBF Kernel (this may take 1 to 2 minutes) ...\n') + +C = 1 +sigma = 0.1 +gamma = 1 / (2 * sigma * sigma) +clf = SVC(C=C, gamma=gamma, kernel='rbf') +clf.fit(X, y.ravel()) + +visualize_boundary(X, y, clf) +plt.show() + +print('Program paused. Press enter to continue.\n') +input() + +print('Loading and Visualizing Data ...\n') +data = scipy.io.loadmat('mat/ex6data3.mat', matlab_compatible=True) + +X = data['X'] +y = data['y'] + +plotdata(X, y) +print('Program paused. Press enter to continue.\n') +input() + +clf.fit(X, y.ravel()) + +visualize_boundary(X, y, clf) +plt.show() + +print('Program paused. Press enter to continue.\n') +input() diff --git a/ex6/ex6_spam.py b/ex6/ex6_spam.py new file mode 100644 index 0000000..b276446 --- /dev/null +++ b/ex6/ex6_spam.py @@ -0,0 +1,97 @@ +import re +import numpy as np + +from nltk.stem.porter import PorterStemmer as stemmer + + +def readfile(filename): + fid = open(filename, mode='r') + if fid is not None: + file_content = fid.read() + fid.close() + else: + file_content = '' + print('Unable to open {0:s}\n'.format(filename)) + return file_content + + +def getvocablist(): + fid = open('text/vocab.txt') + # n = 1899 + vocablist = fid.read().splitlines() + vocablist = [string.split("\t")[1] for string in vocablist] + print(vocablist) + fid.close() + return vocablist + + +def process_email(email_content): + vocablist = getvocablist() + word_indices = [] + + # Preprocess + email_content = str(email_content).lower() # Lower case + email_content = re.sub(r'<[^<>]+>', '', email_content) # Strip all HTML + email_content = re.sub(r'[0-9]+', 'number', email_content) # Handle Numbers + email_content = re.sub(r'(http|https)://[^\s]*', 'httpaddr', email_content) # Handle URLS + email_content = re.sub(r'[^\s]+@[^\s]+', 'emailaddr', email_content) # Handle Email Addresses + email_content = re.sub(r'[$]+', 'dollar', email_content) # Handle $ sign + + print('\n==== Processed Email ====\n\n') + + word_list = re.split(r'[ @\$/#\.\-:&\*\+=\[\]\?!\(\)\{\},\'\">_<;%\n\r]', + email_content) # Tokenize and get rid of punctuation + ptn = re.compile(r'[^a-zA-Z0-9]') + stm = stemmer() + processed_content = [] + l = 0 + for word in word_list: + word = ptn.sub('', word).strip() # Remove any non alphanumeric characters + word = stm.stem(word) # Stem the word + if len(word) < 1: # Skip the word if it is too short + continue + if l > 78: + processed_content.append('\n') + l = 0 + else: + l += len(word) + 1 + processed_content.append(word) + + + # Look up the word in the dictionary and add to word_indices + try: + ind = vocablist.index(word) + except ValueError as e: + # print(e) + continue + if ind >= 0: + word_indices.append(ind) + + # Print to screen + print(' '.join(processed_content)) + return word_indices + + +def email_features(word_indices): + n = 1899 + x = np.zeros(n) + x[word_indices] = 1 + return x + + +## ==================== Part 2: Feature Extraction ==================== +# Now, you will convert each email into a vector of features in R^n. +# You should complete the code in emailFeatures.m to produce a feature +# vector for a given email. +print('\nExtracting features from sample email (emailSample1.txt)\n') + +file_contents = readfile('text/emailSample1.txt') +word_indices = process_email(file_contents) +features = email_features(word_indices) + +print('Length of feature vector: {0:d}\n'.format(len(features))) +print('Number of non-zero entries: {0:d}\n'.format(sum(features > 0))) + +print('Program paused. Press enter to continue.\n') +input() + diff --git a/ex6/mat/ex6data1.mat b/ex6/mat/ex6data1.mat new file mode 100644 index 0000000..ae0d2aa Binary files /dev/null and b/ex6/mat/ex6data1.mat differ diff --git a/ex6/mat/ex6data2.mat b/ex6/mat/ex6data2.mat new file mode 100644 index 0000000..c6ad661 Binary files /dev/null and b/ex6/mat/ex6data2.mat differ diff --git a/ex6/mat/ex6data3.mat b/ex6/mat/ex6data3.mat new file mode 100644 index 0000000..a0441ac Binary files /dev/null and b/ex6/mat/ex6data3.mat differ diff --git a/ex6/mat/spamTest.mat b/ex6/mat/spamTest.mat new file mode 100644 index 0000000..b7bf953 Binary files /dev/null and b/ex6/mat/spamTest.mat differ diff --git a/ex6/mat/spamTrain.mat b/ex6/mat/spamTrain.mat new file mode 100644 index 0000000..1b9c81f Binary files /dev/null and b/ex6/mat/spamTrain.mat differ diff --git a/ex6/text/emailSample1.txt b/ex6/text/emailSample1.txt new file mode 100644 index 0000000..eac52a3 --- /dev/null +++ b/ex6/text/emailSample1.txt @@ -0,0 +1,10 @@ +> Anyone knows how much it costs to host a web portal ? +> +Well, it depends on how many visitors you're expecting. +This can be anywhere from less than 10 bucks a month to a couple of $100. +You should checkout http://www.rackspace.com/ or perhaps Amazon EC2 +if youre running something big.. + +To unsubscribe yourself from this mailing list, send an email to: +groupname-unsubscribe@egroups.com + diff --git a/ex6/text/emailSample2.txt b/ex6/text/emailSample2.txt new file mode 100644 index 0000000..e47acda --- /dev/null +++ b/ex6/text/emailSample2.txt @@ -0,0 +1,34 @@ +Folks, + +my first time posting - have a bit of Unix experience, but am new to Linux. + + +Just got a new PC at home - Dell box with Windows XP. Added a second hard disk +for Linux. Partitioned the disk and have installed Suse 7.2 from CD, which went +fine except it didn't pick up my monitor. + +I have a Dell branded E151FPp 15" LCD flat panel monitor and a nVidia GeForce4 +Ti4200 video card, both of which are probably too new to feature in Suse's default +set. I downloaded a driver from the nVidia website and installed it using RPM. +Then I ran Sax2 (as was recommended in some postings I found on the net), but +it still doesn't feature my video card in the available list. What next? + +Another problem. I have a Dell branded keyboard and if I hit Caps-Lock twice, +the whole machine crashes (in Linux, not Windows) - even the on/off switch is +inactive, leaving me to reach for the power cable instead. + +If anyone can help me in any way with these probs., I'd be really grateful - +I've searched the 'net but have run out of ideas. + +Or should I be going for a different version of Linux such as RedHat? Opinions +welcome. + +Thanks a lot, +Peter + +-- +Irish Linux Users' Group: ilug@linux.ie +http://www.linux.ie/mailman/listinfo/ilug for (un)subscription information. +List maintainer: listmaster@linux.ie + + diff --git a/ex6/text/spamSample1.txt b/ex6/text/spamSample1.txt new file mode 100644 index 0000000..bab0ca2 --- /dev/null +++ b/ex6/text/spamSample1.txt @@ -0,0 +1,42 @@ +Do You Want To Make $1000 Or More Per Week? + + + +If you are a motivated and qualified individual - I +will personally demonstrate to you a system that will +make you $1,000 per week or more! This is NOT mlm. + + + +Call our 24 hour pre-recorded number to get the +details. + + + +000-456-789 + + + +I need people who want to make serious money. Make +the call and get the facts. + +Invest 2 minutes in yourself now! + + + +000-456-789 + + + +Looking forward to your call and I will introduce you +to people like yourself who +are currently making $10,000 plus per week! + + + +000-456-789 + + + +3484lJGv6-241lEaN9080lRmS6-271WxHo7524qiyT5-438rjUv5615hQcf0-662eiDB9057dMtVl72 + diff --git a/ex6/text/spamSample2.txt b/ex6/text/spamSample2.txt new file mode 100644 index 0000000..f8e8fce --- /dev/null +++ b/ex6/text/spamSample2.txt @@ -0,0 +1,8 @@ +Best Buy Viagra Generic Online + +Viagra 100mg x 60 Pills $125, Free Pills & Reorder Discount, Top Selling 100% Quality & Satisfaction guaranteed! + +We accept VISA, Master & E-Check Payments, 90000+ Satisfied Customers! +http://medphysitcstech.ru + + diff --git a/ex6/text/vocab.txt b/ex6/text/vocab.txt new file mode 100644 index 0000000..27f64a3 --- /dev/null +++ b/ex6/text/vocab.txt @@ -0,0 +1,1899 @@ +1 aa +2 ab +3 abil +4 abl +5 about +6 abov +7 absolut +8 abus +9 ac +10 accept +11 access +12 accord +13 account +14 achiev +15 acquir +16 across +17 act +18 action +19 activ +20 actual +21 ad +22 adam +23 add +24 addit +25 address +26 administr +27 adult +28 advanc +29 advantag +30 advertis +31 advic +32 advis +33 ae +34 af +35 affect +36 affili +37 afford +38 africa +39 after +40 ag +41 again +42 against +43 agenc +44 agent +45 ago +46 agre +47 agreement +48 aid +49 air +50 al +51 alb +52 align +53 all +54 allow +55 almost +56 alon +57 along +58 alreadi +59 alsa +60 also +61 altern +62 although +63 alwai +64 am +65 amaz +66 america +67 american +68 among +69 amount +70 amp +71 an +72 analysi +73 analyst +74 and +75 ani +76 anim +77 announc +78 annual +79 annuiti +80 anoth +81 answer +82 anti +83 anumb +84 anybodi +85 anymor +86 anyon +87 anyth +88 anywai +89 anywher +90 aol +91 ap +92 apolog +93 app +94 appar +95 appear +96 appl +97 appli +98 applic +99 appreci +100 approach +101 approv +102 apt +103 ar +104 archiv +105 area +106 aren +107 argument +108 arial +109 arm +110 around +111 arrai +112 arriv +113 art +114 articl +115 artist +116 as +117 ascii +118 ask +119 asset +120 assist +121 associ +122 assum +123 assur +124 at +125 atol +126 attach +127 attack +128 attempt +129 attent +130 attornei +131 attract +132 audio +133 aug +134 august +135 author +136 auto +137 autom +138 automat +139 avail +140 averag +141 avoid +142 awai +143 awar +144 award +145 ba +146 babi +147 back +148 background +149 backup +150 bad +151 balanc +152 ban +153 bank +154 bar +155 base +156 basenumb +157 basi +158 basic +159 bb +160 bc +161 bd +162 be +163 beat +164 beberg +165 becaus +166 becom +167 been +168 befor +169 begin +170 behalf +171 behavior +172 behind +173 believ +174 below +175 benefit +176 best +177 beta +178 better +179 between +180 bf +181 big +182 bill +183 billion +184 bin +185 binari +186 bit +187 black +188 blank +189 block +190 blog +191 blood +192 blue +193 bnumber +194 board +195 bodi +196 boi +197 bonu +198 book +199 boot +200 border +201 boss +202 boston +203 botan +204 both +205 bottl +206 bottom +207 boundari +208 box +209 brain +210 brand +211 break +212 brian +213 bring +214 broadcast +215 broker +216 browser +217 bug +218 bui +219 build +220 built +221 bulk +222 burn +223 bush +224 busi +225 but +226 button +227 by +228 byte +229 ca +230 cabl +231 cach +232 calcul +233 california +234 call +235 came +236 camera +237 campaign +238 can +239 canada +240 cannot +241 canon +242 capabl +243 capillari +244 capit +245 car +246 card +247 care +248 career +249 carri +250 cartridg +251 case +252 cash +253 cat +254 catch +255 categori +256 caus +257 cb +258 cc +259 cd +260 ce +261 cell +262 cent +263 center +264 central +265 centuri +266 ceo +267 certain +268 certainli +269 cf +270 challeng +271 chanc +272 chang +273 channel +274 char +275 charact +276 charg +277 charset +278 chat +279 cheap +280 check +281 cheer +282 chief +283 children +284 china +285 chip +286 choic +287 choos +288 chri +289 citi +290 citizen +291 civil +292 claim +293 class +294 classifi +295 clean +296 clear +297 clearli +298 click +299 client +300 close +301 clue +302 cnet +303 cnumber +304 co +305 code +306 collect +307 colleg +308 color +309 com +310 combin +311 come +312 comfort +313 command +314 comment +315 commentari +316 commerci +317 commiss +318 commit +319 common +320 commun +321 compani +322 compar +323 comparison +324 compat +325 compet +326 competit +327 compil +328 complet +329 comprehens +330 comput +331 concentr +332 concept +333 concern +334 condit +335 conf +336 confer +337 confid +338 confidenti +339 config +340 configur +341 confirm +342 conflict +343 confus +344 congress +345 connect +346 consid +347 consolid +348 constitut +349 construct +350 consult +351 consum +352 contact +353 contain +354 content +355 continu +356 contract +357 contribut +358 control +359 conveni +360 convers +361 convert +362 cool +363 cooper +364 copi +365 copyright +366 core +367 corpor +368 correct +369 correspond +370 cost +371 could +372 couldn +373 count +374 countri +375 coupl +376 cours +377 court +378 cover +379 coverag +380 crash +381 creat +382 creativ +383 credit +384 critic +385 cross +386 cultur +387 current +388 custom +389 cut +390 cv +391 da +392 dagga +393 dai +394 daili +395 dan +396 danger +397 dark +398 data +399 databas +400 datapow +401 date +402 dave +403 david +404 dc +405 de +406 dead +407 deal +408 dear +409 death +410 debt +411 decad +412 decid +413 decis +414 declar +415 declin +416 decor +417 default +418 defend +419 defens +420 defin +421 definit +422 degre +423 delai +424 delet +425 deliv +426 deliveri +427 dell +428 demand +429 democrat +430 depart +431 depend +432 deposit +433 describ +434 descript +435 deserv +436 design +437 desir +438 desktop +439 despit +440 detail +441 detect +442 determin +443 dev +444 devel +445 develop +446 devic +447 di +448 dial +449 did +450 didn +451 diet +452 differ +453 difficult +454 digit +455 direct +456 directli +457 director +458 directori +459 disabl +460 discount +461 discov +462 discoveri +463 discuss +464 disk +465 displai +466 disposit +467 distanc +468 distribut +469 dn +470 dnumber +471 do +472 doc +473 document +474 doe +475 doer +476 doesn +477 dollar +478 dollarac +479 dollarnumb +480 domain +481 don +482 done +483 dont +484 doubl +485 doubt +486 down +487 download +488 dr +489 draw +490 dream +491 drive +492 driver +493 drop +494 drug +495 due +496 dure +497 dvd +498 dw +499 dynam +500 ea +501 each +502 earli +503 earlier +504 earn +505 earth +506 easi +507 easier +508 easili +509 eat +510 eb +511 ebai +512 ec +513 echo +514 econom +515 economi +516 ed +517 edg +518 edit +519 editor +520 educ +521 eff +522 effect +523 effici +524 effort +525 either +526 el +527 electron +528 elimin +529 els +530 email +531 emailaddr +532 emerg +533 empir +534 employ +535 employe +536 en +537 enabl +538 encod +539 encourag +540 end +541 enemi +542 enenkio +543 energi +544 engin +545 english +546 enhanc +547 enjoi +548 enough +549 ensur +550 enter +551 enterpris +552 entertain +553 entir +554 entri +555 enumb +556 environ +557 equal +558 equip +559 equival +560 error +561 especi +562 essenti +563 establish +564 estat +565 estim +566 et +567 etc +568 euro +569 europ +570 european +571 even +572 event +573 eventu +574 ever +575 everi +576 everyon +577 everyth +578 evid +579 evil +580 exactli +581 exampl +582 excel +583 except +584 exchang +585 excit +586 exclus +587 execut +588 exercis +589 exist +590 exmh +591 expand +592 expect +593 expens +594 experi +595 expert +596 expir +597 explain +598 explor +599 express +600 extend +601 extens +602 extra +603 extract +604 extrem +605 ey +606 fa +607 face +608 fact +609 factor +610 fail +611 fair +612 fall +613 fals +614 famili +615 faq +616 far +617 fast +618 faster +619 fastest +620 fat +621 father +622 favorit +623 fax +624 fb +625 fd +626 featur +627 feder +628 fee +629 feed +630 feedback +631 feel +632 femal +633 few +634 ffffff +635 ffnumber +636 field +637 fight +638 figur +639 file +640 fill +641 film +642 filter +643 final +644 financ +645 financi +646 find +647 fine +648 finish +649 fire +650 firewal +651 firm +652 first +653 fit +654 five +655 fix +656 flag +657 flash +658 flow +659 fnumber +660 focu +661 folder +662 folk +663 follow +664 font +665 food +666 for +667 forc +668 foreign +669 forev +670 forget +671 fork +672 form +673 format +674 former +675 fortun +676 forward +677 found +678 foundat +679 four +680 franc +681 free +682 freedom +683 french +684 freshrpm +685 fri +686 fridai +687 friend +688 from +689 front +690 ftoc +691 ftp +692 full +693 fulli +694 fun +695 function +696 fund +697 further +698 futur +699 ga +700 gain +701 game +702 gari +703 garrigu +704 gave +705 gcc +706 geek +707 gener +708 get +709 gif +710 gift +711 girl +712 give +713 given +714 global +715 gnome +716 gnu +717 gnupg +718 go +719 goal +720 god +721 goe +722 gold +723 gone +724 good +725 googl +726 got +727 govern +728 gpl +729 grand +730 grant +731 graphic +732 great +733 greater +734 ground +735 group +736 grow +737 growth +738 gt +739 guarante +740 guess +741 gui +742 guid +743 ha +744 hack +745 had +746 half +747 ham +748 hand +749 handl +750 happen +751 happi +752 hard +753 hardwar +754 hat +755 hate +756 have +757 haven +758 he +759 head +760 header +761 headlin +762 health +763 hear +764 heard +765 heart +766 heaven +767 hei +768 height +769 held +770 hello +771 help +772 helvetica +773 her +774 herba +775 here +776 hermio +777 hettinga +778 hi +779 high +780 higher +781 highli +782 highlight +783 him +784 histori +785 hit +786 hold +787 home +788 honor +789 hope +790 host +791 hot +792 hour +793 hous +794 how +795 howev +796 hp +797 html +798 http +799 httpaddr +800 huge +801 human +802 hundr +803 ibm +804 id +805 idea +806 ident +807 identifi +808 idnumb +809 ie +810 if +811 ignor +812 ii +813 iii +814 iiiiiiihnumberjnumberhnumberjnumberhnumb +815 illeg +816 im +817 imag +818 imagin +819 immedi +820 impact +821 implement +822 import +823 impress +824 improv +825 in +826 inc +827 includ +828 incom +829 increas +830 incred +831 inde +832 independ +833 index +834 india +835 indian +836 indic +837 individu +838 industri +839 info +840 inform +841 initi +842 inlin +843 innov +844 input +845 insert +846 insid +847 instal +848 instanc +849 instant +850 instead +851 institut +852 instruct +853 insur +854 int +855 integr +856 intel +857 intellig +858 intend +859 interact +860 interest +861 interfac +862 intern +863 internet +864 interview +865 into +866 intro +867 introduc +868 inumb +869 invest +870 investig +871 investor +872 invok +873 involv +874 ip +875 ireland +876 irish +877 is +878 island +879 isn +880 iso +881 isp +882 issu +883 it +884 item +885 itself +886 jabber +887 jame +888 java +889 jim +890 jnumberiiiiiiihepihepihf +891 job +892 joe +893 john +894 join +895 journal +896 judg +897 judgment +898 jul +899 juli +900 jump +901 june +902 just +903 justin +904 keep +905 kei +906 kept +907 kernel +908 kevin +909 keyboard +910 kid +911 kill +912 kind +913 king +914 kingdom +915 knew +916 know +917 knowledg +918 known +919 la +920 lack +921 land +922 languag +923 laptop +924 larg +925 larger +926 largest +927 laser +928 last +929 late +930 later +931 latest +932 launch +933 law +934 lawrenc +935 le +936 lead +937 leader +938 learn +939 least +940 leav +941 left +942 legal +943 lender +944 length +945 less +946 lesson +947 let +948 letter +949 level +950 lib +951 librari +952 licens +953 life +954 lifetim +955 light +956 like +957 limit +958 line +959 link +960 linux +961 list +962 listen +963 littl +964 live +965 ll +966 lo +967 load +968 loan +969 local +970 locat +971 lock +972 lockergnom +973 log +974 long +975 longer +976 look +977 lose +978 loss +979 lost +980 lot +981 love +982 low +983 lower +984 lowest +985 lt +986 ma +987 mac +988 machin +989 made +990 magazin +991 mai +992 mail +993 mailer +994 main +995 maintain +996 major +997 make +998 maker +999 male +1000 man +1001 manag +1002 mani +1003 manual +1004 manufactur +1005 map +1006 march +1007 margin +1008 mark +1009 market +1010 marshal +1011 mass +1012 master +1013 match +1014 materi +1015 matter +1016 matthia +1017 mayb +1018 me +1019 mean +1020 measur +1021 mechan +1022 media +1023 medic +1024 meet +1025 member +1026 membership +1027 memori +1028 men +1029 mention +1030 menu +1031 merchant +1032 messag +1033 method +1034 mh +1035 michael +1036 microsoft +1037 middl +1038 might +1039 mike +1040 mile +1041 militari +1042 million +1043 mime +1044 mind +1045 mine +1046 mini +1047 minimum +1048 minut +1049 miss +1050 mistak +1051 mobil +1052 mode +1053 model +1054 modem +1055 modifi +1056 modul +1057 moment +1058 mon +1059 mondai +1060 monei +1061 monitor +1062 month +1063 monthli +1064 more +1065 morn +1066 mortgag +1067 most +1068 mostli +1069 mother +1070 motiv +1071 move +1072 movi +1073 mpnumber +1074 mr +1075 ms +1076 msg +1077 much +1078 multi +1079 multipart +1080 multipl +1081 murphi +1082 music +1083 must +1084 my +1085 myself +1086 name +1087 nation +1088 natur +1089 nbsp +1090 near +1091 nearli +1092 necessari +1093 need +1094 neg +1095 net +1096 netscap +1097 network +1098 never +1099 new +1100 newslett +1101 next +1102 nextpart +1103 nice +1104 nigeria +1105 night +1106 no +1107 nobodi +1108 non +1109 none +1110 nor +1111 normal +1112 north +1113 not +1114 note +1115 noth +1116 notic +1117 now +1118 nt +1119 null +1120 number +1121 numbera +1122 numberam +1123 numberanumb +1124 numberb +1125 numberbit +1126 numberc +1127 numbercb +1128 numbercbr +1129 numbercfont +1130 numbercli +1131 numbercnumb +1132 numbercp +1133 numberctd +1134 numberd +1135 numberdari +1136 numberdnumb +1137 numberenumb +1138 numberf +1139 numberfb +1140 numberff +1141 numberffont +1142 numberfp +1143 numberftd +1144 numberk +1145 numberm +1146 numbermb +1147 numberp +1148 numberpd +1149 numberpm +1150 numberpx +1151 numberst +1152 numberth +1153 numbertnumb +1154 numberx +1155 object +1156 oblig +1157 obtain +1158 obvious +1159 occur +1160 oct +1161 octob +1162 of +1163 off +1164 offer +1165 offic +1166 offici +1167 often +1168 oh +1169 ok +1170 old +1171 on +1172 onc +1173 onli +1174 onlin +1175 open +1176 oper +1177 opinion +1178 opportun +1179 opt +1180 optim +1181 option +1182 or +1183 order +1184 org +1185 organ +1186 origin +1187 os +1188 osdn +1189 other +1190 otherwis +1191 our +1192 out +1193 outlook +1194 output +1195 outsid +1196 over +1197 own +1198 owner +1199 oz +1200 pacif +1201 pack +1202 packag +1203 page +1204 pai +1205 paid +1206 pain +1207 palm +1208 panel +1209 paper +1210 paragraph +1211 parent +1212 part +1213 parti +1214 particip +1215 particular +1216 particularli +1217 partit +1218 partner +1219 pass +1220 password +1221 past +1222 patch +1223 patent +1224 path +1225 pattern +1226 paul +1227 payment +1228 pc +1229 peac +1230 peopl +1231 per +1232 percent +1233 percentag +1234 perfect +1235 perfectli +1236 perform +1237 perhap +1238 period +1239 perl +1240 perman +1241 permiss +1242 person +1243 pgp +1244 phone +1245 photo +1246 php +1247 phrase +1248 physic +1249 pick +1250 pictur +1251 piec +1252 piiiiiiii +1253 pipe +1254 pjnumber +1255 place +1256 plai +1257 plain +1258 plan +1259 planet +1260 plant +1261 planta +1262 platform +1263 player +1264 pleas +1265 plu +1266 plug +1267 pm +1268 pocket +1269 point +1270 polic +1271 polici +1272 polit +1273 poor +1274 pop +1275 popul +1276 popular +1277 port +1278 posit +1279 possibl +1280 post +1281 potenti +1282 pound +1283 powel +1284 power +1285 powershot +1286 practic +1287 pre +1288 predict +1289 prefer +1290 premium +1291 prepar +1292 present +1293 presid +1294 press +1295 pretti +1296 prevent +1297 previou +1298 previous +1299 price +1300 principl +1301 print +1302 printabl +1303 printer +1304 privaci +1305 privat +1306 prize +1307 pro +1308 probabl +1309 problem +1310 procedur +1311 process +1312 processor +1313 procmail +1314 produc +1315 product +1316 profession +1317 profil +1318 profit +1319 program +1320 programm +1321 progress +1322 project +1323 promis +1324 promot +1325 prompt +1326 properti +1327 propos +1328 proprietari +1329 prospect +1330 protect +1331 protocol +1332 prove +1333 proven +1334 provid +1335 proxi +1336 pub +1337 public +1338 publish +1339 pudg +1340 pull +1341 purchas +1342 purpos +1343 put +1344 python +1345 qnumber +1346 qualifi +1347 qualiti +1348 quarter +1349 question +1350 quick +1351 quickli +1352 quit +1353 quot +1354 radio +1355 ragga +1356 rais +1357 random +1358 rang +1359 rate +1360 rather +1361 ratio +1362 razor +1363 razornumb +1364 re +1365 reach +1366 read +1367 reader +1368 readi +1369 real +1370 realiz +1371 realli +1372 reason +1373 receiv +1374 recent +1375 recipi +1376 recommend +1377 record +1378 red +1379 redhat +1380 reduc +1381 refer +1382 refin +1383 reg +1384 regard +1385 region +1386 regist +1387 regul +1388 regular +1389 rel +1390 relat +1391 relationship +1392 releas +1393 relev +1394 reliabl +1395 remain +1396 rememb +1397 remot +1398 remov +1399 replac +1400 repli +1401 report +1402 repositori +1403 repres +1404 republ +1405 request +1406 requir +1407 research +1408 reserv +1409 resid +1410 resourc +1411 respect +1412 respond +1413 respons +1414 rest +1415 result +1416 retail +1417 return +1418 reveal +1419 revenu +1420 revers +1421 review +1422 revok +1423 rh +1424 rich +1425 right +1426 risk +1427 road +1428 robert +1429 rock +1430 role +1431 roll +1432 rom +1433 roman +1434 room +1435 root +1436 round +1437 rpm +1438 rss +1439 rule +1440 run +1441 sa +1442 safe +1443 sai +1444 said +1445 sale +1446 same +1447 sampl +1448 san +1449 saou +1450 sat +1451 satellit +1452 save +1453 saw +1454 scan +1455 schedul +1456 school +1457 scienc +1458 score +1459 screen +1460 script +1461 se +1462 search +1463 season +1464 second +1465 secret +1466 section +1467 secur +1468 see +1469 seed +1470 seek +1471 seem +1472 seen +1473 select +1474 self +1475 sell +1476 seminar +1477 send +1478 sender +1479 sendmail +1480 senior +1481 sens +1482 sensit +1483 sent +1484 sep +1485 separ +1486 septemb +1487 sequenc +1488 seri +1489 serif +1490 seriou +1491 serv +1492 server +1493 servic +1494 set +1495 setup +1496 seven +1497 seventh +1498 sever +1499 sex +1500 sexual +1501 sf +1502 shape +1503 share +1504 she +1505 shell +1506 ship +1507 shop +1508 short +1509 shot +1510 should +1511 show +1512 side +1513 sign +1514 signatur +1515 signific +1516 similar +1517 simpl +1518 simpli +1519 sinc +1520 sincer +1521 singl +1522 sit +1523 site +1524 situat +1525 six +1526 size +1527 skeptic +1528 skill +1529 skin +1530 skip +1531 sleep +1532 slow +1533 small +1534 smart +1535 smoke +1536 smtp +1537 snumber +1538 so +1539 social +1540 societi +1541 softwar +1542 sold +1543 solut +1544 solv +1545 some +1546 someon +1547 someth +1548 sometim +1549 son +1550 song +1551 soni +1552 soon +1553 sorri +1554 sort +1555 sound +1556 sourc +1557 south +1558 space +1559 spain +1560 spam +1561 spamassassin +1562 spamd +1563 spammer +1564 speak +1565 spec +1566 special +1567 specif +1568 specifi +1569 speech +1570 speed +1571 spend +1572 sponsor +1573 sport +1574 spot +1575 src +1576 ssh +1577 st +1578 stabl +1579 staff +1580 stai +1581 stand +1582 standard +1583 star +1584 start +1585 state +1586 statement +1587 statu +1588 step +1589 steve +1590 still +1591 stock +1592 stop +1593 storag +1594 store +1595 stori +1596 strategi +1597 stream +1598 street +1599 string +1600 strip +1601 strong +1602 structur +1603 studi +1604 stuff +1605 stupid +1606 style +1607 subject +1608 submit +1609 subscrib +1610 subscript +1611 substanti +1612 success +1613 such +1614 suffer +1615 suggest +1616 suit +1617 sum +1618 summari +1619 summer +1620 sun +1621 super +1622 suppli +1623 support +1624 suppos +1625 sure +1626 surpris +1627 suse +1628 suspect +1629 sweet +1630 switch +1631 system +1632 tab +1633 tabl +1634 tablet +1635 tag +1636 take +1637 taken +1638 talk +1639 tape +1640 target +1641 task +1642 tax +1643 teach +1644 team +1645 tech +1646 technic +1647 techniqu +1648 technolog +1649 tel +1650 telecom +1651 telephon +1652 tell +1653 temperatur +1654 templ +1655 ten +1656 term +1657 termin +1658 terror +1659 terrorist +1660 test +1661 texa +1662 text +1663 than +1664 thank +1665 that +1666 the +1667 thei +1668 their +1669 them +1670 themselv +1671 then +1672 theori +1673 there +1674 therefor +1675 these +1676 thi +1677 thing +1678 think +1679 thinkgeek +1680 third +1681 those +1682 though +1683 thought +1684 thousand +1685 thread +1686 threat +1687 three +1688 through +1689 thu +1690 thursdai +1691 ti +1692 ticket +1693 tim +1694 time +1695 tip +1696 tire +1697 titl +1698 tm +1699 to +1700 todai +1701 togeth +1702 token +1703 told +1704 toll +1705 tom +1706 toner +1707 toni +1708 too +1709 took +1710 tool +1711 top +1712 topic +1713 total +1714 touch +1715 toward +1716 track +1717 trade +1718 tradit +1719 traffic +1720 train +1721 transact +1722 transfer +1723 travel +1724 treat +1725 tree +1726 tri +1727 trial +1728 trick +1729 trip +1730 troubl +1731 true +1732 truli +1733 trust +1734 truth +1735 try +1736 tue +1737 tuesdai +1738 turn +1739 tv +1740 two +1741 type +1742 uk +1743 ultim +1744 un +1745 under +1746 understand +1747 unfortun +1748 uniqu +1749 unison +1750 unit +1751 univers +1752 unix +1753 unless +1754 unlik +1755 unlimit +1756 unseen +1757 unsolicit +1758 unsubscrib +1759 until +1760 up +1761 updat +1762 upgrad +1763 upon +1764 urgent +1765 url +1766 us +1767 usa +1768 usag +1769 usb +1770 usd +1771 usdollarnumb +1772 useless +1773 user +1774 usr +1775 usual +1776 util +1777 vacat +1778 valid +1779 valu +1780 valuabl +1781 var +1782 variabl +1783 varieti +1784 variou +1785 ve +1786 vendor +1787 ventur +1788 veri +1789 verifi +1790 version +1791 via +1792 video +1793 view +1794 virtual +1795 visa +1796 visit +1797 visual +1798 vnumber +1799 voic +1800 vote +1801 vs +1802 vulner +1803 wa +1804 wai +1805 wait +1806 wake +1807 walk +1808 wall +1809 want +1810 war +1811 warm +1812 warn +1813 warranti +1814 washington +1815 wasn +1816 wast +1817 watch +1818 water +1819 we +1820 wealth +1821 weapon +1822 web +1823 weblog +1824 websit +1825 wed +1826 wednesdai +1827 week +1828 weekli +1829 weight +1830 welcom +1831 well +1832 went +1833 were +1834 west +1835 what +1836 whatev +1837 when +1838 where +1839 whether +1840 which +1841 while +1842 white +1843 whitelist +1844 who +1845 whole +1846 whose +1847 why +1848 wi +1849 wide +1850 width +1851 wife +1852 will +1853 william +1854 win +1855 window +1856 wing +1857 winner +1858 wireless +1859 wish +1860 with +1861 within +1862 without +1863 wnumberp +1864 woman +1865 women +1866 won +1867 wonder +1868 word +1869 work +1870 worker +1871 world +1872 worldwid +1873 worri +1874 worst +1875 worth +1876 would +1877 wouldn +1878 write +1879 written +1880 wrong +1881 wrote +1882 www +1883 ximian +1884 xml +1885 xp +1886 yahoo +1887 ye +1888 yeah +1889 year +1890 yesterdai +1891 yet +1892 york +1893 you +1894 young +1895 your +1896 yourself +1897 zdnet +1898 zero +1899 zip