{"id":19784079,"url":"https://github.com/openeventdata/dictionaries","last_synced_at":"2026-03-05T01:04:15.366Z","repository":{"id":10923533,"uuid":"13225441","full_name":"openeventdata/Dictionaries","owner":"openeventdata","description":"PETRARCH actor, agent and verb dictionaries","archived":false,"fork":false,"pushed_at":"2018-08-03T14:58:02.000Z","size":2999,"stargazers_count":22,"open_issues_count":2,"forks_count":16,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-02-28T13:20:52.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openeventdata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-30T19:47:21.000Z","updated_at":"2023-02-07T10:23:19.000Z","dependencies_parsed_at":"2022-08-29T20:31:24.963Z","dependency_job_id":null,"html_url":"https://github.com/openeventdata/Dictionaries","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/openeventdata/Dictionaries","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openeventdata%2FDictionaries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openeventdata%2FDictionaries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openeventdata%2FDictionaries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openeventdata%2FDictionaries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openeventdata","download_url":"https://codeload.github.com/openeventdata/Dictionaries/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openeventdata%2FDictionaries/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30104218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T00:38:46.881Z","status":"ssl_error","status_checked_at":"2026-03-05T00:38:45.829Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T06:10:15.778Z","updated_at":"2026-03-05T01:04:15.349Z","avatar_url":"https://github.com/openeventdata.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"PETRARCH Dictionary Formats\n===========================\n\n**This branch includes a major reorganization of the Petrarch dictionaries. The objective of this reorganization is to ensure that all the relevant dictionary entries are available to Petrarch and to make it much more intuitive to add entries in the future.** \n\nThere are five separate input dictionaries or lists that PETRACH makes use of:\nthe verb dictionary, the actor dictionary, the agent dictionary, the discard\nlist, and the issues list. The following sections describe these files in\ngreater detail. In addition to this documentation, which is intended for individuals \nplanning to work on dictionaries, the source code contains internal documentation on\nhow the dictionary information is stored by the program.\n\nThe PETRARCH dictionaries are generally derived from the earlier TABARI dictionaries, \nand information on those formats can be found in the TABARI manual: \n\n`http://eventdata.parusanalytics.com/tabari.dir/TABARI.0.8.4b2.manual.pdf \u003chttp://eventdata.parusanalytics.com/tabari.dir/TABARI.0.8.4b2.manual.pdf\u003e`_\n\nGeneral Rules for dictionaries\n------------------------------\n\nAll of the files are in \"flat ASCII\" format and should only be edited using a program that produces a a file without embedded control codes; for example Emacs or BBEdit.\n\n**Comments in input files:**\n\nComments should be delineated in either Python or XML style (which is inherited from HTML which \ninherited it from SGML) are allowed, as long as you don't get too clever. Basically, \nanything that looks like any of these is treated like a comment and skipped.\n\n::\n\n\t\u003c!-- [comment] --\u003e\n\t\n\tthings I want to actually read \u003c!-- [comment] --\u003e\n\t\n\tsome things I want \u003c!-- [comment] --\u003e and more of them\n\t\n\t\u003c!-- start of the comment\n\t\\[1 or more additional lines\\]\n\tend of the comment --\u003e\n\t\n\t# this is a Python-like comment, inherited from Unix\n\t\n\tsomething I want # followed by a Python-like comment\n\n \n\nFor the HTML-like comments,  the system doesn't use the formal definition that also says '--' is not allowed \ninside a comment: it just looks for --\u003e as a terminator\n\nThe program is *not* set up to handle clever variations like nested comments,  multiple \ncomments on a line, or non-comment information in multi-line comments: yes, we are\nperfectly capable of writing code that could handle these contingencies, but it \nis not a priority at the moment. We trust you can cope within these limits.\n\nBlank lines and lines with only whitespace are also skipped.\n\nFor legacy purposes, anything following ';' is treated as a comment: this is the old KEDS/TABARI formatting rule and TABARI actor dictionaries still more or less work.\n\n\n\nVerb Dictionary\n---------------\n\nThe verb dictionary consists of a set of synsets followed by a series of verb \nsynonyms and patterns.\n\n**Verb Synonym Blocks and Patterns:**\n\nA verb synonym block is a set of verbs which are synonymous (or close enough) with \nrespect to the patterns. The program automatically generates the regular forms of the \nverb if it is regular (and, implicitly, English); otherwise the irregular forms can be \nspecified in {...} following the primary verb. An optional code for the isolated verb \ncan\tfollow in [...].  \n\nThe verb block begins with a comment of the form \n\n::\n\n--- \u003cGENERAL DESCRIPTION\u003e [\u003cCODE\u003e] ---\n\nwhere the \"---\" signals the beginning of a new block. The code in [...] is the \nprimary code -- typically a two-digit+0 cue-category code -- for the block, and this \nwill be used for all other verbs unless these have their own code. If no code is \npresent, this defaults to the null code \"---\"  which indicates that the isolated verb \ndoes not generate an event. The null code also can be used as a secondary code.\t\n\nThis is followed by a set of patterns -- these begin with '-' -- which generally \nfollow the same syntax as TABARI patterns (see Chapter 5 of the TABARI manual). The pattern set is terminated with a  blank line.\n\n**Multiple-word verbs**\n\nMultiple-word \"verbs\" such as ``CONDON OFF``, ``WIRE TAP`` and ``BEEF UP`` are entered by \nconnecting the word with an underscore (these must be consecutive) and putting a '+' \nin front of the verb. Alternative forms must be specified: they are not constructed \nautomatically. These are treated in patterns just as single-word verbs are treated.\n\nExample:\n\n::\n\n    +BEEF_UP {+BEEFS_UP +BEEFED_UP +BEEFING_UP}\n    +CORDON_OFF {+CORDONED_OFF +CORDONS_OFF +CORDONING_OFF} \n    WIRE_+TAP {WIRE_+TAPPED  WIRE_+TAPPING }\n\n\n**Synsets:**\n\nSynonym sets (synsets) are labelled with a string beginning with \u0026 and defined using\nthe label followed by a series of lines beginning with ``+`` containing words or phrases.\nThe phrases are interpreted as requiring consecutive words; the words can be separated \nwith either spaces or underscores (they are converted to spaces). Synset phrases can \nonly contain words, not ``$``, ``+``, ``%`` or ``^`` tokens or synsets. At present, a synsets cannot  \ncontain another synset as an element. [see note below] Synsets be used anywhere in a  \npattern that a word or phrase can be used. A synset must be defined before it is used:  \na pattern containing an undefined synset will be ignored -- but those definitions can \noccur anywhere in the file.\n\nRegular plurals are generated automatically  by adding 'S' to the root, adding 'IES' if the root ends in 'Y', and added 'ES' if the root ends in 'SS'.  Plurals are not created when [1]_\n\n.. [1] The method for handling irregular plurals is currently different for the verbs and agents dictionaries: these will be reconciled in the future, probably using the agents syntax. \n\n* The phrase ends with ``_``. \n\n* The label ends with ``_``, in which case plurals are not generated for any of\n  the phrases; this is typically used for synonym sets that do not involve nouns\n        \nThe ``_`` is dropped in both cases. Irregular plurals do not have a special syntax; \njust enter these as additional synonyms.\n\n**Example:**\n\n::\n\n    \u0026CURRENCY \n    +DOLLARS\n    +EUROS\n    +AUSTRIAN FLORIN\n    +GOLDEN_GOBLIN_GALLEONS_\n    +PESO\n    +KRONER_\n    +YUM YENNYEN \n    +JAVANESE YEN\n    +SWISS FRANCS\n    +YEN\n\n    \u0026ALTCURR\n    +BITCOIN\n    +PIRATE GOLD_   \n    +LEPRECHAUN GOLD_\n\n    \u0026AUXVERB3_\n    +HAVE\n    +HAS\n    +HAD\n\n\n    ### GRANT ### \n    GRANT [070]\n    GIVE {GAVE GIVEN }  # jw  11/14/91\n    CONTRIBUTE # tony  3/12/91\n    - ** \u0026CURRENCY [903] # -PAS 12.01.12\n    - ** \u0026ALTCURR [904] # -PAS 14.05.08\n    - ** RUPEES  [071]\n\n\n    ### EXPLAIN_VERBAL ### \n    EXPLAIN [010]\n    COMMENT \n    ASSERT \n    SAY  {SAID }\n    CLARIFY {CLARIFIES CLARIFIED } [040]\n    CLEAR_UP \n    - ** RESTORATION RELATIONS [050:050]  # ANNOUNCE \u003cab 02 Dec 2005\u003e \n    - ** COMMIT \u0026MILITARY TO + [0332]  # SAY \u003csls 13 Mar 2008\u003e \n    - ** ATTACK ON + AS \u0026CRIME [018]  # DESCRIBE \u003cab 31 Dec 2005\u003e \n    - ** \u0026CURRENCY DEBT_RELIEF [0331]  # ANNOUNCE \u003cab 02 Dec 2005\u003e  , ANNOUNCE\n    - ** WELCOMED OFFER FROM + [050]  # ANNOUNCE \u003cab 02 Dec 2005\u003e \n    - ** + THAT $ WILL PULLOUT [0356]  # INFORM \u003csms 30 Nov 2007\u003e \n    - ** POSSIBILITY OF \u0026FIGHT [138]  # MENTION \u003cOY 11 Mar 2006\u003e \n    - ** AGREED JOIN COALITION [031]  # ANNOUNCE \u003cOY 15 Mar 2006\u003e \n    - ** TRACES RESPONSIBILITY [112]  # REPORT\n    - CONFIRMED ** OF BOMBINGS [010]  # REPORT\n    - ** INITIATIVE END \u0026FIGHT [036]  # ANNOUNCE \u003cab 02 Dec 2005\u003e \n\n    \u0026TESTSYN3\n        +TO THE END\n    +TO THE DEATH\n    +UNTIL HELL FREEZES OVER\n\n    \u0026TESTSYN4\n    +TO THE END OF THE EARTH\n    +TO THE DEATH\n\n    VOW  [170] ;tony  3/9/91\n    - ** RESIST \u0026TESTSYN3 [113] ; pas 4/20/03\n    - ** RESIST \u0026TESTSYN4  [115] ; pas 4/20/03\n    - ** RESISTANCE TO THE INVADING  [114] ; pas 4/20/03\n    - ** RESIST  [112] ;tony  4/29/91\n    - ** WAR  [173] ;tony  4/22/91\n\n\n    \n**Verb Dictionary Differences from TABARI:**\n\nOn the **very** remote chance -- see Note 1 -- that you are trying to modify a TABARI  \n.verbs dictionary to the PETRARCH format, the main thing you will need to eliminate \nany stemmed words:  PETRARCH only works with complete words. On the positive side, \nPETRARCH will only look at string as a \"verb\" if it has been identified as such by \nthe parser, so the patterns required for noun/verb disambiguation are no longer \nneeded. PATRARCH also does not allow disconjunctive sets in patterns: to accommodate \nlegacy dictionaries, patterns containing these are skipped, but in order to work,\nthese should be replaced with synsets. Also see additional remarks at the beginning \nof the file.\n\nThe other big difference between PETRARCH and TABARI is verb-noun disambiguation: \nthe pattern-based approach of TABARI needed a lot of information to insure that a \nword that **might** be a verb was, in fact, a verb (or was a noun that occurred in a \ncontext where it indicated an event anyway: TABARI's [in]famous tendency to code the \nright thing for the wrong reason. PETRARCH, in contrast, only looks as a verb when \nthe parsing has identified it as, in fact, a verb. This dramatically reduces false \npositives and eliminates the need for any pattern which was required simply for \ndisambiguation, but it also means that PETRARCH is a lot more discriminating about \nwhat actually constitutes an event. The big difference here is that verb-only \ncodes are the norm in PETRARCH dictionaries but the exception in TABARI dictionaries.\n\nThe active PETRARCH verbs dictionary has been extensively reorganized into both \nverb and noun synonym sets, and you are probably better off adding vocabulary to \nthis [see Note 1] than converting a dictionary, but it can be done. An unconverted \nTABARI dictionary, on the other hand, will generally not work at all well with \nPETRARCH.\n\nNote 1. \n\nYeah, right. Every project we've encountered -- including those funded by multiple \nmillions of dollars and those allegedly producing multiple millions of events -- has \nregarded the NSF-funded CAMEO verbs dictionaries as a sacred artifact of the Data \nFairy, lowered from Asgaard along the lines of this\n\n`http://www.wikiart.org/en/jacob-jordaens/allegory-of-the-peace-of-westphalia-1654 \u003chttp://www.wikiart.org/en/jacob-jordaens/allegory-of-the-peace-of-westphalia-1654\u003e`_\n\n[not exactly sure where the .verbs file is in that painting, but I'm sure it is in  \nthere somewhere]\n\nbut then subsequently subject said dictionaries to bitter complaints that they aren't \ncoding properly.\n\nLook, dudes and dudettes, these dictionaries have been open source for about as long \nas the US has been at war in Afghanistan -- which is to say, a really long time -- and \nif you don't like how the coding is being done, add some new open-source vocabulary \nto the dictionaries instead of merely parasitizing the existing work. Dude.\n\nThe **real** problem, one suspects, is embodied in the following nugget of wisdom:\n\n    Opportunity is missed by most people because it is dressed in overalls and looks \n    like work.\n    \n        -Thomas A. Edison\n\nDude.\n\nActor Dictionary\n----------------\n\nActor dictionaries are similar to those used in TABARI (see Chapter 5 of the manual) except that the date restrictions must be on separate lines (in TABARI, this was\noptional) The general structure of the actors dictionary is a series of records of the form\n\n::\n\n    [primary phrase]\n    [optional synonym phrases beginning with '+']\n    [optional date restrictions beginning with '\\t']\n\nA \"phrase string\" is a set of character strings separated by either blanks or\nunderscores.\n\nA \"code\" is a character string without blanks\n\nA \"date\" has the form YYYYMMDD or YYMMDD. These can be mixed, e.g.\n\n::\n\n    JAMES_BYRNES_  ; CountryInfo.txt\n        [USAELI 18970101-450703]\n        [USAGOV 450703-470121]\n\n**Primary phrase format:**\n\n``phrase_string  { optional [code] }``\n\nIf the code is present, it becomes the default code if none of the date restrictions\nare satisfied. If it is not present and none of the restrictions are satisfied,\nthis is equivalent to a null code\n\n*Synonym phrase*\n\n``+phrase_string``\n\n*Date restriction*\n\n``\\t[code restriction]``\n\nwhere ``\\t`` is the tab character and the restriction [1]_ takes the form\n\n::\n\n    \u003cdate : applies to times before date\n    \u003edate : applies to times after date\n    date-date: applies to times between dates\n\nThe limits of the date restrictions are interpreted as \"or equal to.\" A date restriction of the form ``\\t[code]`` is the same as a default restriction.\n\n\n**Example:**\n\n::\n\n\t# .actor file produced by translate.countryinfo.pl from CountryInfo.120106.txt\n\t# Generated at: Tue Jan 10 14:09:48 2012\n\t# Version: CountryInfo.120106.txt\n\n\tAFGHANISTAN_  [AFG]\n\t+AFGHAN_\n\t+AFGANISTAN_\n\t+AFGHANESTAN_\n\t+AFGHANYSTAN_\n\t+KABUL_\n\t+HERAT_\n\n\tMOHAMMAD_ZAHIR_SHAH_  ; CountryInfo.txt\n\t\t[AFGELI 320101-331108]\n\t\t[AFGGOV 331108-730717]\n\t\t[AFGELI 730717-070723]\n\n\tABDUL_QADIR_  ; CountryInfo.txt\n\t+NUR_MOHAMMAD_TARAKI_  ; CountryInfo.txt\n\t+HAFIZULLAH_AMIN_  ; CountryInfo.txt\n\t\t[AFGELI 620101-780427]\n\t\t[AFGGOV 780427-780430]\n\t\t[AFGELI]\n\n\tHAMID_KARZAI_  [AFGMIL]; CountryInfo.txt\n\t+BABRAK_KARMAL_  ; CountryInfo.txt\n\t+SIBGHATULLAH_MOJADEDI_  ; CountryInfo.txt\n\t\t[AFGGOV 791227-861124]\n\t\t[AFGGOV 791227-810611]\n\n**Detecting actors which are not in the dictionary**\n\nBecause PETRARCH uses parsed input, it has the option of detecting actors---noun phrases---which are not in the dictionary. This is set using the ``new_actor_length`` option in the ``PETR_config.ini`` file: see the description of that file for details.\n\nAgent Dictionary\n----------------\n\nBasic structure of the agents dictionary is a series of records of the form\n\n::\n\n        phrase_string {optional plural}  [agent_code]\n\n\nA \"phrase string\" is a set of character strings separated by either blanks or\nunderscores. As with the verb patterns, a blank between words means that additional words can occur between the previous word and the next word; a ``_`` (underscore) means that the words must be consecutive.\n\n\nAn \"agent_code\" is a character string without blanks that is either preceded (typically)\nor followed by ``~``. If the ``~`` precedes the code, the code is added after the actor\ncode; if it follows the code, the code is added before the actor code (usually done\nfor organizations, e.g. ``NGO~``)\n\n**Plurals:**\n\nRegular plurals -- those formed by adding 'S' to the root, adding 'IES' if the\nroot ends in 'Y', and added 'ES' if the root ends in 'SS' -- are generated automatically\n\nIf the plural has some other form, it follows the root inside {...}  [1]_\n\nIf a plural should not be formed -- that is, the root is only singular or only\nplural, or the singular and plural have the same form (e.g. \"police\"), use a null\nstring inside {}.\n\nIf there is more than one form of the plural -- \"attorneys general\" and \"attorneys\ngenerals\" are both in use -- just make a second entry with one of the plural forms\nnulled (though in this instance -- ain't living English wonderful? -- you could null\nthe singular and use an automatic plural on the plural form) Though in a couple\ntest sentences, this phrase confused the CoreNLP parser.\n\n**Substitution Markers:**\n\nThese are used to handle complex equivalents, notably\n\n::\n\n        !PERSON! = MAN, MEN, WOMAN, WOMEN, PERSON\n        !MINST! = MINISTER, MINISTERS, MINISTRY, MINISTRIES\n\nand used in the form\n\n::\n\n        CONGRESS!PERSON! [~LEG}\n        !MINIST!_OF_INTERNAL_AFFAIRS\n\nThe marker for the substitution set is of the form !...! and is followed by an =\nand a comma-delimited list; spaces are stripped from the elements of the list so\nthese can be added for clarity. Every item in the list is substituted for the marker,\nwith no additional plural formation, so the first construction would generate\n\n::\n\n        CONGRESSMAN [~LEG}\n        CONGRESSMEN [~LEG}\n        CONGRESSWOMAN [~LEG}\n        CONGRESSWOMEN [~LEG}\n        CONGRESSPERSON [~LEG}\n\n\n**Example:**\n\n::\n\n    \u003c!-- PETRARCH VALIDATION SUITE AGENTS DICTIONARY --\u003e\n    \u003c!-- VERSION: 0.1 --\u003e\n    \u003c!-- Last Update: 27 November 2013 --\u003e\n\n    PARLIAMENTARY_OPPOSITION {} [~OPP] #jap 11 Oct 2002\n    AMBASSADOR [~GOV] # LRP 02 Jun 2004\n    COPTIC_CHRISTIAN [~CHRCPT] # BNL 10 Jan 2002\n    FOREIGN_MINISTER [~GOVFRM] # jap 4/14/01\n    PRESIDENT [~GOVPRS] # ns 6/26/01\n    AIR_FORCE {} [~MIL] # ab 06 Jul 2005\n    OFFICIAL_MEDIA {} [~GOVMED] # ab 16 Aug 2005\n    ATTORNEY_GENERAL {ATTORNEYS_GENERAL} [~GOVATG] # mj 05 Jan 2006\n    FOREIGN_MINISTRY [~GOV] # mj 17 Apr 2006\n    HUMAN_RIGHTS_ACTIVISTS  [NGM~] # ns 6/14/01\n    HUMAN_RIGHTS_BODY  [NGO~] # BNL 07 Dec 2001\n    TROOP {} [~MIL] # ab 22 Aug 2005\n\nDiscard List\n------------\n\nThe discard list is used to identify sentences that should not be coded, for example sports events and historical chronologies.[2]_ If the string, prefixed with ' ', is found in the ``\u003cText\u003e...\u003c/Text\u003e`` sentence, the\nsentence is not coded. Prefixing the string with a '+' means the entire story is not\ncoded with the string is found. If the string ends with '_', the matched string must also end with\na blank or punctuation mark; otherwise it is treated as a stem. The matching is not\ncase sensitive.\n\n.. [2] In TABARI, discards were intermixed in the ``.actors`` dictionary and ``.verbs`` patterns, using the ``[###]`` code. They are now a separate dictionary. \n\n\n**Example:**\n\n::\n\n    +5K RUN #  ELH 06 Oct 2009\n    +ACADEMY AWARD   # LRP 08 Mar 2004\n    AFL GRAND FINAL   # MleH 06 Aug 2009\n    AFRICAN NATIONS CUP   # ab 13 Jun 2005\n    AMATEUR BOXING TOURNAMENT   # CTA 30 Jul 2009\n    AMELIA EARHART\n    ANDRE AGASSI   # LRP 10 Mar 2004\n    ASIAN CUP   # BNL 01 May 2003\n    ASIAN FOOTBALL   # ATS 9/27/01\n    ASIAN MASTERS CUP   # CTA 28 Jul 2009\n    +ASIAN WINTER GAMES   # sls 14 Mar 2008\n    ATP HARDCOURT TOURNAMENT   # mj 26 Apr 2006\n    ATTACK ON PEARL HARBOR   # MleH 10 Aug 2009\n    AUSTRALIAN OPEN\n    AVATAR   # CTA 14 Jul 2009\n    AZEROTH   # CTA 14 Jul 2009  (World of Warcraft)\n    BADMINTON  # MleH 28 Jul 2009\n    BALLCLUB   # MleH 10 Aug 2009\n    BASEBALL\n    BASKETBALL\n    BATSMAN  # MleH 14 Jul 2009\n    BATSMEN  # MleH 12 Jul 2009\n\nIssues List\n-----------\n\nThe optional ``Issues`` dictionary is used to do simple string matching and return a comma-delimited list of codes. The standard format is simply a set of lines of the form\n\n        ``\u003cstring\u003e [\u003ccode\u003e]``\n\nFor purposes of matching, a ' ' is added to the beginning and end of the string: at\npresent there are no wild cards, though that is easily added.\n\nThe following expansions can be used (these apply to the string that follows up to\nthe next blank):\n\n::\n\n        n: Create the singular and plural of the noun\n        v: Create the regular verb forms ('S','ED','ING')\n        +: Create versions with ' ' and '-'\n\nThe file format allows ``#`` to be used as a in-line comment delimiter.\n\nIssues are written to the event record as a comma-delimited list to a tab-delimited\nfield, e.g.\n\n::\n\n    20080801\tABC\tEDF\t0001\tPOSTSECONDARY_EDUCATION 2, LITERACY 1\tAFP0808-01-M008-02\n    20080801\tABC\tEDF\t0004        AFP0808-01-M007-01\n    20080801\tABC\tEDF\t0001\tNUCLEAR_WEAPONS 1\tAFP0808-01-M008-01\n\nwhere ``XXXX NN``, corresponds to the issue code and the number of matched phrases in the\nsentence that generated the event.\n\nThis feature is optional and triggered by a file name in the\n``PETR_config.ini`` file at ``issuefile_name = Phoenix.issues.140225.txt``.\n\nIn the current code, the occurrence of an ignore phrase of either type cancels all\ncoding of issues from the sentence.\n\n**Example:**\n\n::\n\n    \u003cISSUE CATEGORY=\"ID_ATROCITY\"\u003e\n    n:atrocity [ID_ATROCITY]\n    n:genocide [ID_ATROCITY]\n    ethnic cleansing [ID_ATROCITY]\n    ethnic v:purge [ID_ATROCITY]\n    ethnic n:purge [ID_ATROCITY]\n    war n:crime [ID_ATROCITY]\n    n:crime against humanity [ID_ATROCITY]\n    n:massacre [ID_ATROCITY]\n    v:massacre [ID_ATROCITY]\n    al+zarqawi network [NAMED_TERROR_GROUP]\n    ~Saturday Night massacre\n    ~St. Valentine's Day massacre\n    ~~Armenian genocide  # not coding historical cases\n    \u003c/ISSUE\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopeneventdata%2Fdictionaries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopeneventdata%2Fdictionaries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopeneventdata%2Fdictionaries/lists"}