Извлечение долларовых сумм из контрактов, заключенных Министерством обороны США

Извлечение долларовых сумм из контрактов, заключенных Министерством обороны США

Я просматриваю пресс-релизы Министерства обороны (здесь) ищет суммы в долларах, превышающие 500 миллионов долларов. Каждый документ содержит от 1000 до 15 000 слов, с суммами в долларах, встроенными в обычный текст обсуждения. Есть около 2500 документов, которые я хотел бы просмотреть. Мой процент совпадений на данный момент (вручную) составляет около 1 из 8, поэтому на каждые 8 ​​документов, которые я ищу, я нахожу один с суммой в долларах, которую я ищу. Как только я нахожу контракт стоимостью, скажем, 546 миллионов долларов, я записываю компанию, дату и краткое описание.

Итак, мой вопрос: как автоматизировать поиск документов с номерами >500 000 000?

Вот пример одного абзаца

Корпорация General Dynamics Electric Boat Corp., Гротон, Коннектикут, получает награду234 229 426 долларов СШАконтракт с фиксированной оплатой стоимости и гонорара для проектного агента, планировочной верфи, инженерной и технической поддержки для действующих атомных подводных лодок. Усилия [...] Этот контракт включает опционы, которые, если будут реализованы, приведут к тому, что совокупная стоимость этого контракта составит$1,537,500,654. Работы будут выполняться в Гротоне, Коннектикут (73 процента); Бангоре, Вашингтон (9 процентов); Норфолке, Вирджиния (6 процентов); Ньюпорте, Род-Айленд (4 процента); Квонсете, Род-Айленд (3 процента); Кингс-Бей, Джорджия (3 процента); и Перл-Харборе, Гавайи (2 процента), и, как ожидается, будут завершены к 30 сентября 2015 года. Финансовый 2014 год: прочие закупки (ВМС); финансовые 2011, 2012, 2013 и 2014 годы: судостроительная конверсия (ВМС); финансовые 2014 год: исследования, разработки, испытания и оценка; и финансовые 2014 год: эксплуатация и техническое обслуживание (ВМС) финансирование в размере20 333 452 долл. СШАбудут обязаны в момент присуждения контракта, а средства по контракту в размере 1 520 650 долларов СШАистекает в конце финансового года. Этот контракт не был закуплен на конкурсной основе в соответствии с FAR 6.302-1(a)(2)(iii) - только один ответственный источник и никакие другие поставки или услуги не будут соответствовать требованиям агентства. Командование военно-морских систем, Вашингтон, округ Колумбия, является контрактной деятельностью (N00024-14-C-2104).

Я думаю, что это можно превратить во что-то вроде

234 229 426 долларов США

$1,537,500,654

20 333 452 долл. США

1 520 650 долларов США

На который я мог бы легко взглянуть, чтобы увидеть, стоит ли мне вернуться и прочитать документ. Было бы еще лучше, если бы я мог просто увидеть число 1,537,500,654.

Так что у меня действительно нет никаких навыков кодирования, и я надеялся, что это не понадобится. Мне не нужно, чтобы все было идеально. Я могу копировать и вставлять вещи, но я хотел бы как-то упростить это. Я действительно не знаю, с чего начать и какие приложения могут быть актуальны для моего положения. У меня есть доступ к Mac и PC. Любые советы, которые вы можете дать, будут оценены.

решение1

Создайте новую закладку и вставьте следующий код в поле местоположения:

javascript:%20(function(){var%20s%20=%20'';%20var%20d;%20$.ajax({url%20:%20document.URL,%20success%20:%20function(result){var%20d%20=%20/[$](\d[,]?)+/g%20;%20while%20(m=d.exec(result))%20{s%20+=%20m[0]+'\n';}%20alert(s);}});})();

Сохраните его под именем, например, "Показать значения в долларах". Это букмарклет. Щелкните его на веб-странице, и он выведет всплывающее оповещение со списком всех значений в долларах, которые встречаются на странице.

Приведенный выше код использует JQuery, поэтому, если веб-страница, на которой вы его используете, еще не загружает JQuery, вам нужно будет использовать этотДобавить JQueryсначала букмарклет.

настройка матча.

Довольно легко изменить значения, отображаемые букмарклетом. Например, код ниже изменен для отображения только 9-значных и более высоких сумм:

javascript:%20(function(){var%20s%20=%20'';%20var%20d;%20$.ajax({url%20:%20document.URL,%20success%20:%20function(result){var%20d%20=%20/[$](\d[,]?){8}(\d[,]?)+/g%20;%20while%20(m=d.exec(result))%20{s%20+=%20m[0]+'\n';}%20alert(s);}});})();

Если вы нашли {8}в этом коде и заменили его другим числом, скажитеН, вы измените пороговое количество цифрН+1.

Если вы хотите настроить этот букмарклет для более общего использования, вам нужно будет поискать "Регулярные выражения Javascript", чтобы узнать синтаксис, который вам понадобится. Эта часть ( /[$](\d[,]?)+/g) кода управляет сопоставлением. Если вы измените часть между /и /g, вы измените то, что соответствует букмарклету.

Связанный контент