01 Повелитель спама
- Due Dec 11, 2012 at 1:59pm
- Points 20
- Questions 1
- Time Limit None
- Allowed Attempts Unlimited
Instructions
Повелитель спама!
В этом задании Вы должны попробовать написать такое регулярное выражение, которое поможет Вам находить электронные адреса в интернете, и дальше использовать их в своих коварных целях )
Ваше регулярное выражение должно выделять следующие типы электронных адресов:
jurafsky@stanford.edu
mgou@outlook.com
linguistics.mgou@gmail.com
И более сложные варианты:
jurafsky(at)cs.stanford.edu
jurafsky at csli dot stanford dot edu
И совсем сложные варианты:
<script type="text/javascript">obfuscate('stanford.edu','jurafsky')</script>
Вам не придется иметь дело с электронными адресами, типа того, который указал Jim Martin :
To send me email, try the simplest address that makes sense. :)
Ваша цель - добиться, чтобы количество False positive и False negative было минимально.
На уроке мы разберем технические детали подробнее - пока можете попробовать действовать по инструкции.
Рекомендую для разработки регулярного выражения пользоваться сайтом http://regexpal.com/
И пожалуйста помогайте друг другу с установкой и решением технических проблем, в том числе и через форум сайта.
Технические аспекты задания:
Для выполнения этого задания Вам понадобиться скачать и установить несколько программ.
1) Сначала скачайте и установите Python 2.7.3: http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi
2) Затем скачайте и установите PyScripter (IDE для Python): http://pyscripter.googlecode.com/files/PyScripter-v2.5.3-Setup.exe
Рекомендую устанавливать всё в директории по умолчанию.
Теперь Вам надо скачать файлы задания: 1.02.zip
Для простоты предлагаю папку 1 из этого архива разместить в корневом каталоге на диске С.
Когда все скачано, запустите PyScripter (иконка Питона с карандашом), и в нем запустите SpamLord.py :
Теперь Вам нужно указать пути, где находятся нужные нам для работы файлы. Для этого заходим Run, затем - Command Line Parameters:
и пишем там пути к папке \dev и файлу devGOLD (в данном случае папка 1 с заданием находится в корневом каталоге на диске С) :
"c:\1\data\dev\" "c:\1\data\devGOLD"
Обратите внимание - надо поставить галочку в боксе Use Command Line Parameters
Теперь Вы можете работать над Вашим регулярным выражением и попытаться найти все возможные электронные адреса:
Если что-то не удалось установить - не расстраивайтесь, в классе мы разберем как все сделать.
© from Dan Jurafsky and Chris Manning Natural Language Processing course at Stanford University