├── .gitignore ├── README.md ├── amrreader ├── main.py ├── src │ ├── __init__.py │ ├── _nequery.py │ ├── models │ │ ├── Namedentity.py │ │ ├── Node.py │ │ └── Sentence.py │ ├── ne.py │ ├── path.py │ ├── producer.py │ ├── reader.py │ └── visualizer.py ├── static │ ├── html_head │ ├── ne_types │ │ ├── GPE.txt │ │ ├── ORG.txt │ │ ├── PER.txt │ │ └── isi_ne-type-sc.txt │ └── tables │ │ ├── ne-table.txt │ │ └── wikification-lookup-table.txt └── test │ └── test_amr_doc │ └── test └── docs └── example.png /.gitignore: -------------------------------------------------------------------------------- 1 | tmp/ 2 | 3 | # Byte-compiled / optimized / DLL files 4 | __pycache__/ 5 | *.py[cod] 6 | *$py.class 7 | 8 | # C extensions 9 | *.so 10 | 11 | # Distribution / packaging 12 | .Python 13 | env/ 14 | build/ 15 | develop-eggs/ 16 | dist/ 17 | downloads/ 18 | eggs/ 19 | .eggs/ 20 | lib/ 21 | lib64/ 22 | parts/ 23 | sdist/ 24 | var/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .coverage 43 | .coverage.* 44 | .cache 45 | nosetests.xml 46 | coverage.xml 47 | *,cover 48 | .hypothesis/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | 58 | # Flask stuff: 59 | instance/ 60 | .webassets-cache 61 | 62 | # Scrapy stuff: 63 | .scrapy 64 | 65 | # Sphinx documentation 66 | docs/_build/ 67 | 68 | # PyBuilder 69 | target/ 70 | 71 | # IPython Notebook 72 | .ipynb_checkpoints 73 | 74 | # pyenv 75 | .python-version 76 | 77 | # celery beat schedule file 78 | celerybeat-schedule 79 | 80 | # dotenv 81 | .env 82 | 83 | # virtualenv 84 | venv/ 85 | ENV/ 86 | 87 | # Spyder project settings 88 | .spyderproject 89 | 90 | # Rope project settings 91 | .ropeproject -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Quickstart 2 | 3 | python amrreader/main.py [-h] [-g GRAPH] [-n] [-p] [-e] [-v VISUALIZATION] indir outdir 4 | e.g., python amrreader/main.py amrreader/test/test_amr_doc/ output/ -v=n 5 | 6 | 7 | positional arguments: 8 | indir directory to AMR input files 9 | outdir output directory 10 | 11 | optional arguments: 12 | -g GRAPH, --graph GRAPH 13 | generate AMR graphs -g=n: standard graphs 14 | -g=s: simplified graphs 15 | -n, --node generate AMR nodes 16 | -p, --path generate AMR paths 17 | -e, --entity generate named entities 18 | -v VISUALIZATION, --visualization VISUALIZATION 19 | generate html visualization -v=n: standard graphs 20 | -v=s: simplified graphs 21 | 22 | - Ptyhon3 23 | - Your input should be raw AMR format (see amr-reader/tests/test_amr_doc/test). 24 | - If you would like to use AMR visualization functionality, please install [PyGraphviz](https://pygraphviz.github.io/) first.
25 | 26 | ## Example 27 | # ::snt I am cautiously anticipating the GOP nominee in 2012 not to be Mitt Romney. 28 | 29 | (a / anticipate-01 30 | :ARG0 (i / i) 31 | :ARG1 (n / nominate-01 :polarity - 32 | :ARG0 (p2 / political-party 33 | :wiki "Republican_Party_(United_States)" 34 | :name (n3 / name :op1 "GOP")) 35 | :ARG1 (p / person 36 | :wiki "Mitt_Romney" 37 | :name (n2 / name :op1 "Mitt" :op2 "Romney")) 38 | :time (d / date-entity :year 2012))) 39 | 40 | Visualization:
41 | 42 | Green Ellispe: concept 43 | Orange Ellispe: predict with sense 44 | Black Ellispe: constant 45 | Blue Rectangle: named entity 46 | ![alt tag](https://github.com/panx27/amr-reader/blob/master/docs/example.png) 47 | 48 | ## Citation 49 | If you would like to cite this work, please cite the following publication:
50 | [Unsupervised Entity Linking with Abstract Meaning Representation](http://nlp.cs.rpi.edu/paper/amrel.pdf). 51 | 52 | ## Demo 53 | [AMR based Entity Linker](http://panx27.github.io/amr) 54 | 55 | ## API 56 | [AMR based Entity Linker](http://panx27.github.io/amr_api) 57 | -------------------------------------------------------------------------------- /amrreader/main.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import re 4 | import argparse 5 | import logging 6 | from src import reader 7 | from src import ne 8 | from src import producer 9 | from src import path 10 | 11 | 12 | logger = logging.getLogger() 13 | logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s') 14 | logging.root.setLevel(level=logging.INFO) 15 | 16 | 17 | if __name__ == '__main__': 18 | parser = argparse.ArgumentParser() 19 | parser.description = 'AMR Reader' 20 | parser.add_argument('indir', help='directory to AMR input files') 21 | parser.add_argument('outdir', help='outpu directory') 22 | parser.add_argument('-g', '--graph', 23 | help='generate AMR graphs -g=n: standard graphs \ 24 | -g=s: simplified graphs ', type=str) 25 | parser.add_argument('-n', '--node', 26 | help='generate AMR nodes', action='store_true') 27 | parser.add_argument('-p', '--path', 28 | help='generate AMR paths', action='store_true') 29 | parser.add_argument('-e', '--entity', 30 | help='generate named entities', action='store_true') 31 | parser.add_argument('-v', '--visualization', 32 | help='generate html visualization \ 33 | -v=n standard graphs -v=s: simplified graphs', type=str) 34 | 35 | args = parser.parse_args() 36 | indir = args.indir 37 | outdir = args.outdir 38 | os.makedirs(outdir, exist_ok=True) 39 | 40 | for i in os.listdir(indir): 41 | logger.info('processing %s' % i) 42 | raw_amrs = open('%s/%s' % (indir, i), 'r').read() 43 | 44 | # Read raw AMR and add named entities 45 | sents = reader.main(raw_amrs) 46 | ne.add_named_entity(sents) 47 | 48 | if args.graph == 'n': 49 | producer.get_graph(sents, outdir) 50 | 51 | if args.graph == 's': 52 | producer.get_graph(sents, outdir, curt=True) 53 | 54 | if args.node: 55 | producer.get_node(sents, outdir) 56 | 57 | if args.entity: 58 | producer.get_namedentity(sents, outdir) 59 | 60 | if args.path: 61 | path.main(sents) 62 | producer.get_path(sents, outdir) 63 | 64 | if args.visualization == 'n': 65 | producer.get_html(sents, 'visualization', outdir) 66 | 67 | if args.visualization == 's': 68 | producer.get_html(sents, 'visualization', outdir, curt=True) 69 | -------------------------------------------------------------------------------- /amrreader/src/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panx27/amr-reader/d6161066c5b5c77ecf1a0347e70850e2a9814094/amrreader/src/__init__.py -------------------------------------------------------------------------------- /amrreader/src/_nequery.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Generate AMR named entity query 3 | ''' 4 | 5 | import copy 6 | import re 7 | 8 | ''' 9 | Adding name coreference 10 | ''' 11 | def add_name_coreference(amr_table): 12 | for docid in sorted(amr_table): 13 | named_entities_doc_level = list() 14 | for senid in sorted(amr_table[docid]): 15 | sen = amr_table[docid][senid] 16 | for i in sen.named_entities_: 17 | ne = sen.named_entities_[i] 18 | named_entities_doc_level.append(ne) 19 | 20 | ''' 21 | PER name coreference: 22 | main type is PER; 23 | subtypes of mi and mj are same; 24 | mi != mj; 25 | number of tokens of mi is 1; 26 | mj contain mi; 27 | ''' 28 | for i in named_entities_doc_level: 29 | if i.maintype_ != 'PER': 30 | continue 31 | for j in named_entities_doc_level: 32 | if i.subtype_ == j.subtype_ and \ 33 | i.entity_name_ != j.entity_name_: 34 | namei = i.entity_name_.split(' ') 35 | namej = j.entity_name_.split(' ') 36 | if len(namei) == 1 and namei[0] in namej: 37 | ne = amr_table[docid][i.senid_].named_entities_[i.name_] 38 | ne.coreference_ = j.entity_name_ 39 | 40 | ''' 41 | ORG name coreference: 42 | main type is ORG; 43 | capital letters; 44 | subtypes of mi and mj are same; 45 | ''' 46 | for i in named_entities_doc_level: 47 | if i.maintype_ != 'ORG': 48 | continue 49 | if i.entity_name_.isupper() != True: 50 | continue 51 | for j in named_entities_doc_level: 52 | if i.subtype_ == j.subtype_: 53 | namei = i.entity_name_ 54 | namej = j.entity_name_.split(' ') 55 | if len(namei) == len(namej) and len(namej) > 1: 56 | match = True 57 | for n in range(len(namej)): 58 | if namej[n][0] != namei[n]: 59 | match = False 60 | break 61 | if match == True: 62 | ne = amr_table[docid][i.senid_]. \ 63 | named_entities_[i.name_] 64 | ne.coreference_ = j.entity_name_ 65 | 66 | ''' 67 | Adding coherent set 68 | ''' 69 | def add_coherence(amr_table): 70 | ''' 71 | If multiple named entity nodes are connected by a same node, 72 | those named entity nodes are considered as coherent set 73 | ''' 74 | # conjunction_list = ["and", "or", "contrast-01", "either", 75 | # "neither", "slash", "between", "both"] 76 | for docid in sorted(amr_table): 77 | for senid in sorted(amr_table[docid]): 78 | sen = amr_table[docid][senid] 79 | amr_nodes = sen.amr_nodes_ 80 | for n in amr_nodes: 81 | node = amr_nodes[n] 82 | tmp = list() 83 | for i in node.next_: 84 | if i.is_entity_: 85 | tmp.append((node, i.edge_label_, 86 | sen.named_entities_[i.name_])) 87 | 88 | for i in tmp: 89 | ne = i[2] 90 | for j in tmp: 91 | if i != j: 92 | node_name = j[0].ful_name_ 93 | edge_label = j[1] 94 | coherent_ne = j[2] 95 | ne.coherence_.add((node_name, edge_label, 96 | coherent_ne)) 97 | 98 | ''' 99 | Search: :ARGn-of 100 | ''' 101 | def search_argnof(node, amr_nodes): 102 | for i in amr_nodes: 103 | for j in amr_nodes[i].next_: 104 | if j.name_ == node.name_: 105 | m = re.search('(:ARG\d)-of' ,j.edge_label_) 106 | if m != None: 107 | tmp = copy.copy(amr_nodes[i]) 108 | tmp.edge_label_ = m.group(1) 109 | tmp.next_ = list() 110 | node.next_.append(tmp) 111 | 112 | ''' 113 | Adding special role: have-org-role-91 114 | ''' 115 | def add_haveorgrole91(amr_table): 116 | for docid in sorted(amr_table): 117 | for senid in sorted(amr_table[docid]): 118 | sen = amr_table[docid][senid] 119 | amr_nodes = sen.amr_nodes_ 120 | named_entities = sen.named_entities_ 121 | 122 | ### have-org-role-91 123 | for n in amr_nodes: 124 | node = amr_nodes[n] 125 | if node.ful_name_ != 'have-org-role-91': 126 | continue 127 | else: 128 | search_argnof(node, amr_nodes) 129 | haveorgrole91 = dict() 130 | for i in node.next_: 131 | haveorgrole91[i.edge_label_] = i 132 | if ':ARG0' in haveorgrole91: 133 | arg0 = haveorgrole91[':ARG0'] 134 | if arg0.is_entity_: 135 | organization = '' 136 | title = '' 137 | per = named_entities[arg0.name_] 138 | per.neighbors_.add(('have-org-role-91:arg0', 139 | 'office holder')) 140 | if ':ARG1' in haveorgrole91: 141 | arg1 = haveorgrole91[':ARG1'] 142 | if arg1.is_entity_: 143 | org = named_entities[arg1.name_] 144 | organization = org.entity_name_ 145 | ### Adding coherence set 146 | per.coherence_.add(('have-org-role-91', 147 | ':ARG1', org)) 148 | org.coherence_.add(('have-org-role-91', 149 | ':ARG0', per)) 150 | else: 151 | organization = arg1.ful_name_ 152 | per.neighbors_.add(('have-org-role-91:arg1', 153 | organization)) 154 | 155 | if ':ARG2' in haveorgrole91: 156 | arg2 = haveorgrole91[':ARG2'] 157 | title = arg2.ful_name_ # TO-DO::id DF-202-185837-43_8915.18 :ARG2 is a subtree 158 | per.neighbors_.add(('have-org-role-91:arg2', 159 | title)) 160 | 161 | if organization != '' and title != '': 162 | per.neighbors_.add(('have-org-role-91:arg1arg2', 163 | organization + ' ' + title)) 164 | 165 | ''' 166 | Adding special role: have-rel-role-91 167 | ''' 168 | def add_haverelrole91(amr_table): 169 | for docid in sorted(amr_table): 170 | for senid in sorted(amr_table[docid]): 171 | sen = amr_table[docid][senid] 172 | amr_nodes = sen.amr_nodes_ 173 | named_entities = sen.named_entities_ 174 | 175 | ### have-rel-role-91 176 | for n in amr_nodes: 177 | node = amr_nodes[n] 178 | if node.ful_name_ != 'have-rel-role-91': 179 | continue 180 | else: 181 | search_argnof(node, amr_nodes) 182 | haverelrole91 = dict() 183 | for i in node.next_: 184 | haverelrole91[i.edge_label_] = i 185 | if ':ARG0' in haverelrole91 and ':ARG1' in haverelrole91: 186 | arg0 = haverelrole91[':ARG0'] 187 | arg1 = haverelrole91[':ARG1'] 188 | if arg0.is_entity_ and arg1.is_entity_: 189 | rel = 'have-rel-role-91' 190 | if ':ARG2' in haverelrole91: 191 | rel = haverelrole91[':ARG2'].ful_name_ 192 | ### Adding coherence set 193 | arg0_ne = named_entities[arg0.name_] 194 | arg1_ne = named_entities[arg1.name_] 195 | arg0_ne.coherence_.add(('have-rel-role-91', 196 | rel, arg1_ne)) 197 | arg1_ne.coherence_.add(('have-rel-role-91', 198 | rel, arg0_ne)) 199 | 200 | ''' 201 | Convert cardinal number to ordinal number 202 | ''' 203 | def cardinal_to_ordinal(num): 204 | if num[-1] == '1': 205 | return num + 'st' 206 | if num[-1] == '2': 207 | return num + 'nd' 208 | if num[-1] == '3': 209 | return num + 'rd' 210 | else: 211 | return num + 'th' 212 | 213 | ''' 214 | Adding global time 215 | ''' 216 | def add_date_entity(amr_table): 217 | num_to_month = dict() 218 | months = ['January', 'February', 'March', 'April', 'May', 'June', \ 219 | 'July', 'August', 'September', 'October', 'November', 'December'] 220 | for i in range(1, 13): 221 | num_to_month[str(i)] = months[i-1] 222 | 223 | for docid in sorted(amr_table): 224 | ### Find global time in doc level 225 | global_time_doc_level = set() 226 | for senid in sorted(amr_table[docid]): 227 | sen = amr_table[docid][senid] 228 | amr_nodes = sen.amr_nodes_ 229 | 230 | ### date-entity 231 | for n in amr_nodes: 232 | node = amr_nodes[n] 233 | if node.ful_name_ != 'date-entity': 234 | continue 235 | else: 236 | time = '' 237 | year = '' 238 | month = '' 239 | day = '' 240 | date_entity = dict() 241 | for i in node.next_: 242 | date_entity[i.edge_label_] = i 243 | 244 | ### Date: month/day/yaer 245 | if ':year' in date_entity: 246 | year = date_entity[':year'].name_ 247 | if ':month' in date_entity: 248 | month = date_entity[':month'].name_ 249 | if ':day' in date_entity: 250 | day = date_entity[':day'].name_ 251 | if year != '' and month != '' and day != '': 252 | date = '%s/%s/%s' % (month, day, year) 253 | global_time_doc_level.add(('global-time', date)) 254 | try: 255 | date = '%s %s %s' % (num_to_month[month], 256 | cardinal_to_ordinal(day), year) 257 | global_time_doc_level.add(('global-time', date)) 258 | except: 259 | pass 260 | elif month != '' and day != '': 261 | date = '%s/%s' % (month, day) 262 | global_time_doc_level.add(('global-time', date)) 263 | try: 264 | date = '%s %s' % (num_to_month[month], 265 | cardinal_to_ordinal(day)) 266 | global_time_doc_level.add(('global-time', date)) 267 | except: 268 | pass 269 | elif year != '': 270 | date = year 271 | global_time_doc_level.add(('global-time', date)) 272 | 273 | ### Other 274 | if ':century' in date_entity: 275 | m = re.search('(\d\d)\d*', 276 | date_entity[':century'].name_) 277 | if m != None: 278 | time = cardinal_to_ordinal(m.group(1)) + ' century' 279 | if ':weekday' in date_entity: 280 | time = date_entity[':weekday'].ful_name_ 281 | if ':season' in date_entity: 282 | time = date_entity[':season'].ful_name_ 283 | if ':decade' in date_entity: 284 | time = date_entity[':decade'].name_ 285 | if time != '': 286 | global_time_doc_level.add(('global-time', time)) 287 | 288 | ### Propagate golbal time in doc level 289 | for senid in sorted(amr_table[docid]): 290 | sen = amr_table[docid][senid] 291 | named_entities = sen.named_entities_ 292 | for n in named_entities: 293 | ne = named_entities[n] 294 | if global_time_doc_level != set(): 295 | ne.neighbors_ = ne.neighbors_.union(global_time_doc_level) 296 | 297 | ''' 298 | Adding global location 299 | ''' 300 | def add_location(amr_table): 301 | for docid in sorted(amr_table): 302 | ### Find global location (named entities only) in doc level 303 | global_loc_doc_level = set() 304 | for senid in sorted(amr_table[docid]): 305 | sen = amr_table[docid][senid] 306 | amr_nodes = sen.amr_nodes_ 307 | named_entities = sen.named_entities_ 308 | 309 | ### :location 310 | for n in amr_nodes: 311 | node = amr_nodes[n] 312 | if node.edge_label_ != ':location': 313 | continue 314 | else: 315 | for i in node.next_: 316 | if i.is_entity_: 317 | ne = named_entities[i.name_] 318 | global_loc_doc_level.add(('global-loc', 319 | ':location', ne)) 320 | 321 | ### Propagate global location in doc level 322 | for senid in sorted(amr_table[docid]): 323 | sen = amr_table[docid][senid] 324 | for n in named_entities: 325 | ne = named_entities[n] 326 | if global_loc_doc_level != set(): 327 | ne.coherence_ = ne.coherence_.union(global_loc_doc_level) 328 | 329 | ''' 330 | Retrieve AMR subtree - concept to leaf 331 | ''' 332 | def retrieve_ctl(node, path, paths_ctl, named_entities, amr_nodes): 333 | tmp = path[:] # Passing by value 334 | if (node.is_entity_) or \ 335 | (node.name_ in named_entities and node.ful_name_ == ''): 336 | ne = named_entities[node.name_] 337 | tmp.append((node.edge_label_, ne)) 338 | else: 339 | if node.ful_name_ == '': 340 | if amr_nodes[node.name_].ful_name_ != '': 341 | tmp.append((node.edge_label_, amr_nodes[node.name_].ful_name_)) 342 | else: 343 | tmp.append((node.edge_label_, node.name_)) # In case of :value 344 | else: 345 | tmp.append((node.edge_label_, node.ful_name_)) 346 | 347 | if node.next_ == list(): 348 | paths_ctl.append(tmp) 349 | for i in node.next_: 350 | retrieve_ctl(i, tmp, paths_ctl, named_entities, amr_nodes) 351 | 352 | ''' 353 | Adding semantic role 354 | ''' 355 | def add_semantic_role(amr_table): 356 | for docid in sorted(amr_table): 357 | for senid in sorted(amr_table[docid]): 358 | sen = amr_table[docid][senid] 359 | amr_nodes = sen.amr_nodes_ 360 | named_entities = sen.named_entities_ 361 | 362 | for n in amr_nodes: 363 | node = amr_nodes[n] 364 | for i in node.next_: 365 | if i.is_entity_: 366 | for j in node.next_: 367 | if i != j: 368 | paths_ctl = list() 369 | retrieve_ctl(j, list(), paths_ctl, 370 | named_entities, amr_nodes) 371 | ne = named_entities[i.name_] 372 | for path in paths_ctl: 373 | for k in path: 374 | if isinstance(k[1], str): # Node 375 | ne.neighbors_.add(k) 376 | elif k[1] != ne: # Named entity 377 | ne.coherence_.add((node.ful_name_, 378 | k[0], k[1])) 379 | 380 | ''' 381 | Merge coreferential named entities as a coreferential chian in doc level 382 | 383 | We treat a coreferential chain of mentions as a single mention. 384 | In doing so, the collaborator set for the entire chain is computed 385 | as the union over all of the chain's mentions' collaborator sets. 386 | ''' 387 | def get_chain_doc_level(amr_table): 388 | from Namedentity import NamedEntity 389 | 390 | for docid in sorted(amr_table): 391 | chain = dict() 392 | ### Merge 393 | for senid in sorted(amr_table[docid]): 394 | sen = amr_table[docid][senid] 395 | for i in sen.named_entities_: 396 | ne = sen.named_entities_[i] 397 | name = ne.name() 398 | if name not in chain: 399 | chain[name] = NamedEntity(entity_name=name, 400 | subtype=ne.subtype_, 401 | maintype=ne.maintype_, 402 | wiki=ne.wiki_) 403 | chain[name].neighbors_ = chain[name].neighbors_. \ 404 | union(ne.neighbors_) 405 | chain[name].coherence_ = chain[name].coherence_. \ 406 | union(ne.coherence_) 407 | 408 | ### Propagate 409 | for senid in sorted(amr_table[docid]): 410 | sen = amr_table[docid][senid] 411 | for i in sen.named_entities_: 412 | ne = sen.named_entities_[i] 413 | name = ne.name() 414 | ne.chain_ = chain[name] 415 | 416 | def list2dict(amres): 417 | res = dict() 418 | for snt in amres: 419 | senid = snt.senid_ 420 | try: 421 | docid = re.search('(.+)\.\d+', senid).group(1) 422 | except: 423 | docid = '' 424 | if docid not in res: 425 | res[docid] = dict() 426 | res[docid][senid] = snt 427 | return res 428 | 429 | def main(amres, coref=True, coherence=True, hor=True, 430 | hrr=True, time=True, loc=True, sr=True, chain=True): 431 | 432 | ### Convert list to dict 433 | amr_table = list2dict(amres) 434 | 435 | ### Adding name coreference 436 | if coref: 437 | add_name_coreference(amr_table) 438 | 439 | ### Adding coherent set 440 | if coherence: 441 | add_coherence(amr_table) 442 | 443 | ### Adding have-org-rol-91 444 | if hor: 445 | add_haveorgrole91(amr_table) 446 | 447 | ### Adding have-rel-rol-91 448 | if hrr: 449 | add_haverelrole91(amr_table) 450 | 451 | ### Adding global time 452 | if time: 453 | add_date_entity(amr_table) 454 | 455 | ### Adding global location 456 | if loc: 457 | add_location(amr_table) 458 | 459 | ### Adding semantic role 460 | if sr: 461 | add_semantic_role(amr_table) 462 | 463 | ### Adding coreferential chain 464 | if chain: 465 | get_chain_doc_level(amr_table) 466 | -------------------------------------------------------------------------------- /amrreader/src/models/Namedentity.py: -------------------------------------------------------------------------------- 1 | ''' 2 | AMR Named Entity Object 3 | ''' 4 | 5 | class NamedEntity(object): 6 | def __init__(self, sentid='', name='', entity_name='', 7 | subtype=None, maintype=None, wiki=''): 8 | self.sentid = sentid # Sentence id 9 | self.name = name # Name (acronym) 10 | self.entity_name = entity_name # Full entity name 11 | self.subtype = subtype # AMR sub-type 12 | self.maintype = maintype # PER, ORG, GPE 13 | self.wiki = wiki # Wikipedia title 14 | self.coreference = '' # Coreferential name 15 | self.neighbors = set() # AMR neighbors 16 | self.coherence = set() # Coherent named entities 17 | self.chain = NamedEntity # Coreferential chain 18 | 19 | def __str__(self): 20 | sentid = '# ::id %s\n' % self.sentid 21 | name = 'name: %s\n' % self.entity_name 22 | ne_type = 'entity type: %s\t%s\n' % (self.subtype, self.maintype) 23 | coreference = 'coreference: %s\n' % self.coreference 24 | wiki = '%s\n' % self.wiki 25 | return '%s' % (self.entity_name) 26 | 27 | def name(self): 28 | if self.coreference: 29 | return self.coreference 30 | else: 31 | return self.entity_name 32 | -------------------------------------------------------------------------------- /amrreader/src/models/Node.py: -------------------------------------------------------------------------------- 1 | ''' 2 | AMR Node Object 3 | ''' 4 | 5 | class Node(object): 6 | def __init__(self, name='', ful_name='', next_nodes=[], edge_label='', 7 | is_entity=False, entity_type='', entity_name='', wiki='', 8 | polarity=False, content=''): 9 | self.name = name # Node name (acronym) 10 | self.ful_name = ful_name # Full name of the node 11 | self.next_nodes = next_nodes # Next nodes (list) 12 | self.edge_label = edge_label # Edge label between two nodes 13 | self.is_entity = is_entity # Whether the node is named entity 14 | self.entity_type = entity_type # Entity type 15 | self.entity_name = entity_name # Entity name 16 | self.wiki = wiki # Entity Wikipedia title 17 | self.polarity = polarity # Whether the node is polarity 18 | self.content = content # Original content 19 | 20 | def __str__(self): 21 | if not self.ful_name: 22 | name = 'NODE NAME: %s\n' % self.name 23 | else: 24 | name = 'NODE NAME: %s / %s\n' % (self.name, self.ful_name) 25 | polarity = 'POLARITY: %s\n' % self.polarity 26 | children = 'LINK TO:\n' 27 | for i in self.next_nodes: 28 | if not i.ful_name: 29 | children += '\t(%s) -> %s\n' % (i.edge_label, i.name) 30 | else: 31 | children += '\t(%s) -> %s / %s\n' % \ 32 | (i.edge_label, i.name, i.ful_name) 33 | if not self.is_entity: 34 | return name + polarity + children 35 | else: 36 | s = 'ENTITY TYPE: %s\nENTITY NAME: %s\nWIKIPEDIA TITLE: %s\n' % \ 37 | (self.entity_type, self.entity_name, self.wiki) 38 | return name + polarity + s + children 39 | -------------------------------------------------------------------------------- /amrreader/src/models/Sentence.py: -------------------------------------------------------------------------------- 1 | ''' 2 | AMR Sentence Object 3 | ''' 4 | 5 | class Sentence(object): 6 | def __init__(self, sentid='', sent='', raw_amr='', comments='', 7 | amr_nodes=dict(), graph=list()): 8 | self.sentid = sentid # Sentence id 9 | self.sent = sent # Sentence 10 | self.raw_amr = raw_amr # Raw AMR 11 | self.comments = comments # Comments 12 | self.amr_nodes = amr_nodes # AMR ndoes table 13 | self.graph = graph # Path of the whole graph 14 | self.amr_paths = dict() # AMR paths 15 | self.named_entities = dict() # Named entities 16 | 17 | def __str__(self): 18 | return '%s%s\n' % (self.comments, self.raw_amr) 19 | -------------------------------------------------------------------------------- /amrreader/src/ne.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from .models.Namedentity import NamedEntity 4 | 5 | 6 | def get_subtype_mapping_table(): 7 | ''' 8 | AMR subtype to main type (PER, ORG, GPE) mapping table 9 | 10 | :return dict mapping: 11 | ''' 12 | currentpath = os.path.dirname(os.path.abspath(__file__)) 13 | 14 | mapping = {} 15 | with open(currentpath+'/../static/ne_types/isi_ne-type-sc.txt', 'r') as f: 16 | for line in f: 17 | if line.startswith('#'): 18 | continue 19 | line = line.rstrip('\n').split() 20 | mapping[line[1]] = line[0] 21 | return mapping 22 | 23 | 24 | def add_named_entity(sents): 25 | ''' 26 | Add NamedEntity objects into Sentence objects 27 | 28 | :param Sentence_object sents: Sentence objects 29 | ''' 30 | sttable = get_subtype_mapping_table() 31 | for snt in sents: 32 | for acr in snt.amr_nodes: 33 | node = snt.amr_nodes[acr] 34 | if node.is_entity: 35 | if node.entity_type in sttable: 36 | maintype = sttable[node.entity_type] 37 | else: 38 | maintype = None 39 | ne_obj = NamedEntity(sentid=snt.sentid, name=node.name, 40 | entity_name=node.entity_name, 41 | subtype=node.entity_type, 42 | maintype=maintype, wiki=node.wiki) 43 | snt.named_entities[node.name] = ne_obj 44 | -------------------------------------------------------------------------------- /amrreader/src/path.py: -------------------------------------------------------------------------------- 1 | def retrieve_path_rte(node, path, paths_rte, named_entities): 2 | ''' 3 | Retrieve path - root to entity 4 | ''' 5 | for i in node.next_nodes: 6 | tmp = path[:] # Passing by value 7 | if i.is_entity: 8 | ne = named_entities[i.name] 9 | path.append((i.edge_label, ne)) 10 | paths_rte.append(path) 11 | retrieve_path_rte(i, path, paths_rte, named_entities) 12 | path = tmp 13 | else: 14 | tmp.append((i.edge_label, i.ful_name)) 15 | retrieve_path_rte(i, tmp, paths_rte, named_entities) 16 | 17 | def retrieve_path_etl(node, path, paths_etl, named_entities, amr_nodes): 18 | ''' 19 | Retrieve path - entity to leaf 20 | ''' 21 | if node.next_nodes == []: 22 | paths_etl.append(path) 23 | for i in node.next_nodes: 24 | tmp = path[:] # Passing by value 25 | if (i.is_entity) or \ 26 | (i.name in named_entities and i.ful_name == ''): 27 | ne = named_entities[i.name] 28 | tmp.append((i.edge_label, ne)) 29 | retrieve_path_etl(i, tmp, paths_etl, named_entities, amr_nodes) 30 | else: 31 | if i.ful_name == '': 32 | if amr_nodes[i.name].ful_name: 33 | tmp.append((i.edge_label, amr_nodes[i.name].ful_name)) 34 | else: 35 | tmp.append((i.edge_label, i.name)) # In case of :value 36 | else: 37 | tmp.append((i.edge_label, i.ful_name)) 38 | retrieve_path_etl(i, tmp, paths_etl, named_entities, amr_nodes) 39 | 40 | 41 | def main(sents): 42 | for snt in sents: 43 | amr_nodes = snt.amr_nodes 44 | graph = snt.graph 45 | root = amr_nodes[graph[0][1]] 46 | 47 | paths_rte = list() # Path - root to entity 48 | paths_etl = list() # Path - entity to leaf 49 | 50 | # Generate path - root to entity 51 | retrieve_path_rte(root, [('@root', root.ful_name)], 52 | paths_rte, snt.named_entities) 53 | if paths_rte: 54 | snt.amr_paths['rte'] = paths_rte 55 | 56 | # Generate path - entity to leaf 57 | for acr in amr_nodes: 58 | node = amr_nodes[acr] 59 | if node.is_entity and node.next_nodes: 60 | ne = snt.named_entities[node.name] 61 | retrieve_path_etl(node, [('@entity', ne)], paths_etl, 62 | snt.named_entities, snt.amr_nodes) 63 | if paths_etl: 64 | snt.amr_paths['etl'] = paths_etl 65 | -------------------------------------------------------------------------------- /amrreader/src/producer.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | 4 | def html_get_ne(ne): 5 | name = '%s ---> %s
' % \ 6 | (ne.entity_name, ne.wiki) 7 | coreference = ' Coref. name: %s
' % \ 8 | ne.coreference 9 | neighbors = ' Neighbors:    ' 10 | for i in ne.neighbors: 11 | neighbors += '%s ' % str(i) 12 | neighbors += '
' 13 | coherence = ' Coheret set:  ' 14 | for i in ne.coherence: 15 | coherence += '(%s, %s, %s) ' % (i[0], i[1], i[2].entity_name) 16 | coherence += '
' 17 | return '%s\n%s\n%s\n%s\n
' % (name, coreference, neighbors, coherence) 18 | 19 | 20 | def html_get_sentence(sent): 21 | graph = '' % sent.sentid 22 | senid = '

%s

' % sent.sentid 23 | comments = '

%s

' % sent.comments.split('\n')[0] 24 | sentence = '

%s

' % sent.sent 25 | amr = '

%s

' % sent.raw_amr \ 26 | .replace('\n', '
') \ 27 | .replace(' ', ' ') 28 | nes = '
\n' % (sent.sentid, sent.sentid) 31 | for i in sent.named_entities: 32 | nes += html_get_ne(sent.named_entities[i]) 33 | nes += '
' 34 | return '\n%s\n%s\n%s\n%s\n%s\n%s\n\n' % \ 35 | (senid, sentence, amr, comments, nes, graph) 36 | 37 | 38 | def get_html(sents, filename, outdir, curt=False): 39 | from src import visualizer 40 | with open('%s/%s.html' % (outdir, filename), 'w') as fw: 41 | graph_dir = '%s/%s' % (outdir, 'graphs') 42 | os.makedirs(graph_dir, exist_ok=True) 43 | phead = os.path.dirname(os.path.abspath(__file__)) + '/../static/html_head' 44 | fw.write(open(phead, 'r').read()) 45 | 46 | for snt in sents: 47 | if curt: 48 | visualizer.visualizer_curt(snt, graph_dir) 49 | else: 50 | visualizer.visualizer(snt, graph_dir) 51 | fw.write(html_get_sentence(snt)) 52 | 53 | 54 | def get_graph(sents, outdir, curt=False): 55 | from src import visualizer 56 | graph_dir = '%s/%s' % (outdir, 'graphs') 57 | os.makedirs(graph_dir, exist_ok=True) 58 | for snt in sents: 59 | if curt: 60 | visualizer.visualizer_curt(snt, graph_dir) 61 | else: 62 | visualizer.visualizer(snt, graph_dir) 63 | 64 | 65 | def get_node(sents, outdir): 66 | with open('%s/amr_nodes' % outdir, 'w') as fw: 67 | for snt in sents: 68 | for acr in sorted(snt.amr_nodes): 69 | node = snt.amr_nodes[acr] 70 | if node.ful_name == 'name': # Ingore 'n / name' node 71 | pass 72 | else: 73 | fw.write('%s\n%s\n' % (snt.sentid, node)) 74 | 75 | 76 | def get_namedentity(sents, outdir): 77 | with open('%s/amr_nes' % outdir, 'w') as fw: 78 | for snt in sents: 79 | for acr in sorted(snt.amr_nodes): 80 | node = snt.amr_nodes[acr] 81 | if node.is_entity: 82 | fw.write('%s\t%s / %s\t%s\t%s\n' % \ 83 | (snt.sentid, node.name, node.ful_name, 84 | node.entity_name, node.wiki)) 85 | 86 | 87 | def get_path(sents, outdir): 88 | with open('%s/amr_paths' % outdir, 'w') as fw: 89 | for snt in sents: 90 | for path_type in snt.amr_paths: 91 | paths = snt.amr_paths[path_type] 92 | for p in paths: 93 | path = '' 94 | for i in p: 95 | path += '(\'%s\', \'%s\'), ' % (i[0], i[1]) 96 | fw.write('%s\t%s\t[%s]\n' % \ 97 | (snt.sentid, path_type, path.strip(', '))) 98 | 99 | 100 | def get_query(sents, outdir): 101 | with open('%s/amr_queries' % outdir, 'w') as fw: 102 | for snt in sents: 103 | for i in snt.named_entities: 104 | ne = snt.named_entities[i] 105 | query = '%s(%s|%s)' % (ne.name(), ne.subtype, ne.maintype) 106 | for i in ne.neighbors: 107 | query += '%s;' % i[1] 108 | query += '|' 109 | for i in ne.coherence: 110 | query += '%s;' % i[2].name() 111 | fw.write('%s\t%s\t%s\n' % \ 112 | (snt.senid, ne.entity_name, query.strip(';'))) 113 | 114 | 115 | def get_newiki(amr_corpus, outdir): 116 | wiki = set() 117 | with open('%s/amr_nes_wiki' % outdir, 'w') as fw: 118 | for docid in sorted(amr_corpus): 119 | for sentid in sorted(amr_corpus[docid]): 120 | sent = amr_corpus[docid][sentid] 121 | assert sent.senid == sentid 122 | amr_nodes = sen.amr_nodes 123 | for n in amr_nodes: 124 | node = amr_nodes[n] 125 | if node.is_entity: 126 | wiki.add(node.wiki) 127 | for i in sorted(wiki): 128 | fw.write('%s\n' % i) 129 | -------------------------------------------------------------------------------- /amrreader/src/reader.py: -------------------------------------------------------------------------------- 1 | import sys 2 | sys.setrecursionlimit(10000) 3 | import os 4 | import re 5 | import copy 6 | import urllib.parse 7 | import uuid 8 | 9 | from .models.Node import Node 10 | from .models.Sentence import Sentence 11 | 12 | 13 | def amr_validator(raw_amr): # TODO: add more test cases 14 | ''' 15 | AMR validator 16 | 17 | :param str raw_amr: 18 | :return bool: 19 | ''' 20 | if raw_amr.count('(') == 0: 21 | return False 22 | if raw_amr.count(')') == 0: 23 | return False 24 | if raw_amr.count('(') != raw_amr.count(')'): 25 | return False 26 | return True 27 | 28 | 29 | def split_amr(raw_amr, contents): 30 | ''' 31 | Split raw AMR based on '()' 32 | 33 | :param str raw_amr: 34 | :param list contentss: 35 | ''' 36 | if not raw_amr: 37 | return 38 | else: 39 | if raw_amr[0] == '(': 40 | contents.append([]) 41 | for i in contents: 42 | i.append(raw_amr[0]) 43 | elif raw_amr[0] == ')': 44 | for i in contents: 45 | i.append(raw_amr[0]) 46 | amr_contents.append(''.join(contents[-1])) 47 | contents.pop(-1) 48 | else: 49 | for i in contents: 50 | i.append(raw_amr[0]) 51 | raw_amr = raw_amr[1:] 52 | split_amr(raw_amr, contents) 53 | 54 | 55 | def generate_node_single(content, amr_nodes_content, amr_nodes_acronym): 56 | ''' 57 | Generate Node object for single '()' 58 | 59 | :param str context: 60 | :param dict amr_nodes_content: content as key 61 | :param dict amr_nodes_acronym: acronym as key 62 | ''' 63 | try: 64 | assert content.count('(') == 1 and content.count(')') == 1 65 | except AssertionError: 66 | raise Exception('Unmatched parenthesis') 67 | 68 | predict_event = re.search('(\w+)\s/\s(\S+)', content) 69 | if predict_event: 70 | acr = predict_event.group(1) # Acronym 71 | ful = predict_event.group(2).strip(')') # Full name 72 | else: 73 | acr, ful = '-', '-' 74 | 75 | # In case of :polarity - 76 | is_polarity = True if re.search(":polarity\s-", content) else False 77 | 78 | # :ARG ndoes 79 | arg_nodes = [] 80 | nodes = re.findall(':\S+\s\S+', content) 81 | for i in nodes: 82 | i = re.search('(:\S+)\s(\S+)', i) 83 | role = i.group(1) 84 | concept = i.group(2).strip(')') 85 | if role == ':wiki': 86 | continue 87 | if role == ':polarity': 88 | continue 89 | if concept in amr_nodes_acronym: 90 | node = copy.copy(amr_nodes_acronym[concept]) 91 | node.next_nodes = [] 92 | # In case of (d / date-entity :year 2012) 93 | else: 94 | node = Node(name=concept) 95 | amr_nodes_acronym[concept] = node 96 | node.edge_label = role 97 | arg_nodes.append(node) 98 | 99 | # Node is a named entity 100 | names = re.findall(':op\d\s\"\S+\"', content) 101 | if len(names) > 0: 102 | entity_name = '' 103 | for i in names: 104 | entity_name += re.match(':op\d\s\"(\S+)\"', i).group(1) + ' ' 105 | entity_name = urllib.parse.unquote_plus(entity_name.strip()) 106 | new_node = Node(name=acr, ful_name=ful, next_nodes=arg_nodes, 107 | entity_name=entity_name, 108 | polarity=is_polarity, content=content) 109 | amr_nodes_content[content] = new_node 110 | amr_nodes_acronym[acr] = new_node 111 | else: 112 | new_node = Node(name=acr, ful_name=ful, next_nodes=arg_nodes, 113 | polarity=is_polarity, content=content) 114 | amr_nodes_content[content] = new_node 115 | amr_nodes_acronym[acr] = new_node 116 | 117 | 118 | def generate_nodes_multiple(content, amr_nodes_content, amr_nodes_acronym): 119 | ''' 120 | Generate Node object for nested '()' 121 | 122 | :param str context: 123 | :param dict amr_nodes_content: content as key 124 | :param dict amr_nodes_acronym: acronym as key 125 | ''' 126 | try: 127 | assert content.count('(') > 1 and content.count(')') > 1 128 | assert content.count('(') == content.count(')') 129 | except AssertionError: 130 | raise Exception('Unmatched parenthesis') 131 | 132 | _content = content 133 | arg_nodes = [] 134 | is_named_entity = False 135 | 136 | # Remove existing nodes from the content, and link these nodes to the root 137 | # of the subtree 138 | for i in sorted(amr_nodes_content, key=len, reverse=True): 139 | if i in content: 140 | e = content.find(i) 141 | s = content[:e].rfind(':') 142 | role = re.search(':\S+\s', content[s:e]).group() # Edge label 143 | content = content.replace(role+i, '', 1) 144 | amr_nodes_content[i].edge_label = role.strip() 145 | if ':name' in role: 146 | is_named_entity = True 147 | ne = amr_nodes_content[i] 148 | else: 149 | arg_nodes.append(amr_nodes_content[i]) 150 | 151 | predict_event = re.search('\w+\s/\s\S+', content).group().split(' / ') 152 | if predict_event: 153 | acr = predict_event[0] # Acronym 154 | ful = predict_event[1] # Full name 155 | else: 156 | acr, ful = '-', '-' 157 | 158 | # In case of :polarity - 159 | is_polarity = True if re.search(":polarity\s-", content) else False 160 | 161 | nodes = re.findall(':\S+\s\S+', content) 162 | for i in nodes: 163 | i = re.search('(:\S+)\s(\S+)', i) 164 | role = i.group(1) 165 | concept = i.group(2).strip(')') 166 | if role == ':wiki' and is_named_entity: 167 | continue 168 | if role == ':polarity': 169 | continue 170 | if concept in amr_nodes_acronym: 171 | node = copy.copy(amr_nodes_acronym[concept]) 172 | node.next_nodes = [] 173 | # In case of (d / date-entity :year 2012) 174 | else: 175 | node = Node(name=concept) 176 | amr_nodes_acronym[concept] = node 177 | node.edge_label = role 178 | arg_nodes.append(node) 179 | 180 | # Named entity is a special node, so the subtree of a 181 | # named entity will be merged. For example, 182 | # (p / person :wiki - 183 | # :name (n / name 184 | # :op1 "Pascale")) 185 | # will be merged as one node. 186 | # According to AMR Specification, "we fill the :instance 187 | # slot from a special list of standard AMR named entity types". 188 | # Thus, for named entity node, we will use entity type 189 | # (p / person in the example above) instead of :instance 190 | 191 | if is_named_entity: 192 | # Get Wikipedia title: 193 | if re.match('.+:wiki\s-.*', content): 194 | wikititle = '-' # Entity is NIL, Wiki title does not exist 195 | else: 196 | m = re.search(':wiki\s\"(.+?)\"', content) 197 | if m: 198 | wikititle = urllib.parse.unquote_plus(m.group(1)) # Wiki title 199 | else: 200 | wikititle = '' # There is no Wiki title information 201 | 202 | new_node = Node(name=acr, ful_name=ful, next_nodes=arg_nodes, 203 | edge_label=ne.ful_name, is_entity=True, 204 | entity_type=ful, entity_name=ne.entity_name, 205 | wiki=wikititle, polarity=is_polarity, content=content) 206 | amr_nodes_content[_content] = new_node 207 | amr_nodes_acronym[acr] = new_node 208 | 209 | elif len(arg_nodes) > 0: 210 | new_node = Node(name=acr, ful_name=ful, next_nodes=arg_nodes, 211 | polarity=is_polarity, content=content) 212 | amr_nodes_content[_content] = new_node 213 | amr_nodes_acronym[acr] = new_node 214 | 215 | 216 | def revise_node(content, amr_nodes_content, amr_nodes_acronym): 217 | ''' 218 | In case of single '()' contains multiple nodes 219 | e.x. (m / moment :poss p5) 220 | 221 | :param str context: 222 | :param dict amr_nodes_content: content as key 223 | :param dict amr_nodes_acronym: acronym as key 224 | ''' 225 | m = re.search('\w+\s/\s\S+\s+(.+)', content.replace('\n', '')) 226 | if m and ' / name' not in content and ':polarity -' not in content: 227 | arg_nodes = [] 228 | acr = re.search('\w+\s/\s\S+', content).group().split(' / ')[0] 229 | nodes = re.findall('\S+\s\".+\"|\S+\s\S+', m.group(1)) 230 | for i in nodes: 231 | i = re.search('(:\S+)\s(.+)', i) 232 | role = i.group(1) 233 | concept = i.group(2).strip(')') 234 | if concept in amr_nodes_acronym: 235 | node = copy.copy(amr_nodes_acronym[concept]) 236 | node.next_nodes = [] 237 | else: # in case of (d / date-entity :year 2012) 238 | node = Node(name=concept) 239 | amr_nodes_acronym[concept] = node 240 | node.edge_label = role 241 | arg_nodes.append(node) 242 | amr_nodes_acronym[acr].next_nodes = arg_nodes 243 | amr_nodes_content[content].next_nodes = arg_nodes 244 | 245 | 246 | def retrieve_path(node, parent, path): 247 | ''' 248 | Retrieve AMR nodes path 249 | 250 | :param Node_object node: 251 | :param str parent: 252 | :param list path: 253 | ''' 254 | path.append((parent, node.name, node.edge_label)) 255 | for i in node.next_nodes: 256 | retrieve_path(i, node.name, path) 257 | 258 | 259 | def amr_reader(raw_amr): 260 | ''' 261 | :param str raw_amr: input raw amr 262 | :return dict amr_nodes_acronym: 263 | :return list path: 264 | ''' 265 | global amr_contents 266 | amr_contents = [] 267 | amr_nodes_content = {} # Content as key 268 | amr_nodes_acronym = {} # Acronym as key 269 | path = [] # Nodes path 270 | 271 | split_amr(raw_amr, []) 272 | for i in amr_contents: 273 | if i.count('(') == 1 and i.count(')') == 1: 274 | generate_node_single(i, amr_nodes_content, amr_nodes_acronym) 275 | for i in amr_contents: 276 | if i.count('(') > 1 and i.count(')') > 1: 277 | generate_nodes_multiple(i, amr_nodes_content, amr_nodes_acronym) 278 | for i in amr_contents: 279 | if i.count('(') == 1 and i.count(')') == 1: 280 | revise_node(i, amr_nodes_content, amr_nodes_acronym) 281 | 282 | # The longest node (entire AMR) should be the root 283 | root = amr_nodes_content[sorted(amr_nodes_content, key=len, reverse=True)[0]] 284 | retrieve_path(root, '@', path) 285 | 286 | return amr_nodes_acronym, path 287 | 288 | 289 | def main(raw_amrs): 290 | ''' 291 | :param str raw_amrs: input raw amrs, separated by '\n' 292 | :return list res: Sentence objects 293 | ''' 294 | res = [] 295 | for i in re.split('\n\s*\n', raw_amrs): 296 | sent = re.search('::snt (.*?)\n', i) 297 | sent = sent.group(1) if sent else '' 298 | sentid = re.search('::id (.*?) ', i) 299 | if sentid: 300 | sentid = sentid.group(1) 301 | else: 302 | sentid = uuid.uuid4() 303 | 304 | raw_amr = '' 305 | comments = '' 306 | for line in i.splitlines(True): 307 | if line.startswith('# '): 308 | comments += line 309 | continue 310 | 311 | # convert '( )' to '%28 %29' in :wiki 312 | m = re.search(':wiki\s\"(.+?)\"', line) 313 | if m: 314 | line = line.replace(m.group(1), 315 | urllib.parse.quote_plus(m.group(1))) 316 | 317 | # convert '( )' to '%28 %29' in :name 318 | m = re.findall('\"(\S+)\"', line) 319 | for i in m: 320 | if '(' in i or ')' in i: 321 | line = line.replace(i, urllib.parse.quote_plus(i)) 322 | raw_amr += line 323 | 324 | if not raw_amr: 325 | continue 326 | if not amr_validator(raw_amr): 327 | raise Exception('Invalid raw AMR: %s' % sentid) 328 | 329 | amr_nodes_acronym, path = amr_reader(raw_amr) 330 | sent_obj = Sentence(sentid, sent, raw_amr, comments, 331 | amr_nodes_acronym, path) 332 | res.append(sent_obj) 333 | 334 | return res 335 | -------------------------------------------------------------------------------- /amrreader/src/visualizer.py: -------------------------------------------------------------------------------- 1 | import re 2 | import pygraphviz as pgv 3 | 4 | 5 | def visualizer(sent, outdir, show_wiki=True): 6 | ''' 7 | AMR visualizer 8 | Please install 9 | - graphviz 10 | - pygraphviz 11 | 12 | :param Sentence_object sent: input Sentence object 13 | :param str outdir: output dir 14 | :param bool show_wiki: visualize wiki title 15 | ''' 16 | 17 | nodes = set() 18 | for i in sent.graph: 19 | nodes.add(i[0]) 20 | nodes.add(i[1]) 21 | 22 | # Draw nodes 23 | G = pgv.AGraph(strict=False, directed=True) 24 | for i in nodes: 25 | if i == '@': # Root 26 | continue 27 | node = sent.amr_nodes[i] 28 | pol = '' 29 | if node.polarity: 30 | pol = '\npolarity' 31 | if node.ful_name: 32 | # 1. Node is a named entity 33 | if node.is_entity: 34 | ne = sent.named_entities[node.name] 35 | if show_wiki: 36 | ne_name = '%s\nwiki: %s' % (ne.entity_name, ne.wiki) 37 | else: 38 | ne_name = '%s\n' % ne.entity_name 39 | G.add_node(i, shape='point', fillcolor='red') 40 | G.add_node(i + '#' + ne.subtype, shape='box', color='blue', 41 | label=ne_name) 42 | G.add_edge(i, i + '#' + ne.subtype, 43 | label=ne.subtype + pol) 44 | # 2. Node is an instance 45 | else: 46 | full_name = '%s' % node.ful_name 47 | G.add_node(i, shape='point', fillcolor='red') 48 | if re.match('\S+-\d+', full_name): # Node has sense tag 49 | G.add_node(i + '#instance', shape='egg', color='orange', 50 | label=full_name) 51 | else: 52 | G.add_node(i + '#instance', shape='egg', color='green', 53 | label=full_name) 54 | G.add_edge(i, i + '#instance', label='instance' + pol, 55 | fontname='times italic') 56 | # 3. Node is a concept 57 | else: 58 | G.add_node(i, shape='ellipse', color='black') 59 | 60 | # Draw edge label 61 | for i in sent.graph: 62 | if i[0] == '@': 63 | continue 64 | G.add_edge(i[0], i[1], label=i[2], fontname='monospace') 65 | 66 | G.layout() 67 | G.layout(prog='dot') 68 | G.draw('%s/%s.png' % (outdir, sent.sentid)) 69 | 70 | 71 | def visualizer_curt(sen, outdir, show_wiki=True): 72 | ''' 73 | AMR visualizer simplified graph 74 | Please install 75 | - graphviz 76 | - pygraphviz 77 | 78 | :param Sentence_object sent: input Sentence object 79 | :param str outdir: output dir 80 | :param bool show_wiki: visualize wiki title 81 | ''' 82 | 83 | nodes = set() 84 | for i in sen.graph: 85 | nodes.add(i[0]) 86 | nodes.add(i[1]) 87 | 88 | # Draw nodes 89 | G = pgv.AGraph(strict=False, directed=True) 90 | for i in nodes: 91 | if i == '@': # Root 92 | continue 93 | node = sen.amr_nodes[i] 94 | pol = '' 95 | if node.polarity: 96 | pol = '\n- polarity' 97 | if node.ful_name: 98 | # 1. Node is a named entity 99 | if node.is_entity: 100 | if show_wiki: 101 | ne_name = '%s\nwiki: %s' % (node.entity_name, node.wiki) 102 | else: 103 | ne_name = '%s\n' % node.entity_name 104 | G.add_node(i, shape='box', color='blue', 105 | label=node.ful_name + '\n' + ne_name + pol) 106 | # 2. Node is an instance 107 | else: 108 | full_name = '%s' % node.ful_name 109 | if re.match('\S+-\d+', full_name): # Node has sense tag 110 | G.add_node(i, shape='egg', color='orange', 111 | label=full_name + pol) 112 | else: 113 | G.add_node(i, shape='egg', color='green', 114 | label=full_name + pol) 115 | # 3. Node is a concept 116 | else: 117 | G.add_node(i, shape='ellipse', color='black') 118 | 119 | # Draw edge label 120 | for i in sen.graph: 121 | if i[0] == '@': 122 | continue 123 | G.add_edge(i[0], i[1], label=i[2], fontname='monospace') 124 | 125 | G.layout() 126 | G.layout(prog='dot') 127 | G.draw('%s/%s.png' % (outdir, sen.sentid)) 128 | -------------------------------------------------------------------------------- /amrreader/static/html_head: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 15 | 16 | -------------------------------------------------------------------------------- /amrreader/static/ne_types/GPE.txt: -------------------------------------------------------------------------------- 1 | nation 2 | republic 3 | township 4 | country-region 5 | village 6 | state 7 | local-region 8 | capital 9 | country 10 | region 11 | world-region 12 | county 13 | city-district 14 | city 15 | district 16 | area 17 | valley 18 | town 19 | territory 20 | site 21 | province 22 | suburb 23 | street 24 | cosmodrome 25 | city-disctrict 26 | gpe 27 | continent -------------------------------------------------------------------------------- /amrreader/static/ne_types/ORG.txt: -------------------------------------------------------------------------------- 1 | league 2 | research-institute 3 | gang 4 | committee 5 | group 6 | organisation 7 | federation 8 | bank 9 | school 10 | university 11 | team 12 | laboratory 13 | factory 14 | public-institution 15 | government-organization 16 | conglomerate 17 | ministry 18 | institute 19 | alliance 20 | firm 21 | club 22 | academy 23 | company 24 | political-party 25 | subsidiary 26 | institution 27 | criminal-organization 28 | regime 29 | court 30 | corporation 31 | agency 32 | consortium 33 | department 34 | party 35 | organization 36 | force 37 | cartel 38 | government-orgnization 39 | body 40 | military 41 | hospital 42 | government-entity 43 | compnay 44 | convention 45 | organiztion 46 | political-organization 47 | news-agency 48 | conference 49 | government-organzation 50 | bloc 51 | religion 52 | militia 53 | government-organiztion 54 | publication -------------------------------------------------------------------------------- /amrreader/static/ne_types/PER.txt: -------------------------------------------------------------------------------- 1 | regional-group 2 | research-group 3 | religious-group 4 | ethnic-group 5 | nationality 6 | animal 7 | scientist 8 | socialite 9 | gymnast 10 | citizen 11 | brother 12 | journalist 13 | husband 14 | secretary 15 | attorney 16 | lawyer 17 | girl 18 | accomplice 19 | activist 20 | physicist 21 | boss 22 | princess 23 | boy 24 | sister 25 | daughter 26 | counterpart 27 | family 28 | son 29 | co-leader 30 | king 31 | dissident 32 | general 33 | comedian 34 | terrorist 35 | doctor 36 | idiot 37 | cardinal 38 | cleric 39 | mother 40 | businessman 41 | president 42 | man 43 | correspondent 44 | cosmonaut 45 | wife 46 | person 47 | chief 48 | undersecretary 49 | governor 50 | colonel 51 | spokesman 52 | legend 53 | envoy 54 | deputy 55 | archbishop 56 | commissioner 57 | farmer 58 | someone 59 | brigadier 60 | monarch 61 | colonel-general 62 | secretary-general 63 | lawmaker 64 | major 65 | treasurer 66 | premier 67 | foreign-minister 68 | chairman 69 | colonel-inf 70 | pope 71 | brigadier-general 72 | senior-commander 73 | spokeswoman 74 | expert 75 | senator 76 | guerrilla 77 | dictator 78 | minister 79 | commander 80 | member 81 | director 82 | engineer-01 83 | director-general 84 | president-elect 85 | ambassador 86 | executive 87 | chancellor 88 | officer 89 | emperor 90 | empress 91 | watchdog 92 | head 93 | analyst 94 | monopoly 95 | official 96 | major-general 97 | -------------------------------------------------------------------------------- /amrreader/static/ne_types/isi_ne-type-sc.txt: -------------------------------------------------------------------------------- 1 | # superclass amr-ne-type (as of 3/16/2015) 2 | GPE area 3 | GPE city 4 | GPE city-district 5 | GPE continent 6 | GPE country 7 | GPE country-region 8 | GPE county 9 | GPE district 10 | GPE empire 11 | GPE enclave 12 | GPE local-region 13 | GPE province 14 | GPE region 15 | GPE republic 16 | GPE site 17 | GPE state 18 | GPE suburb 19 | GPE territory 20 | GPE town 21 | GPE township 22 | GPE village 23 | GPE world-region 24 | ORG agency 25 | ORG band 26 | ORG bank 27 | ORG bloc 28 | ORG cartel 29 | ORG club 30 | ORG committee 31 | ORG company 32 | ORG conference 33 | ORG conglomerate 34 | ORG consortium 35 | ORG corporation 36 | ORG criminal-organization 37 | ORG department 38 | ORG division 39 | ORG factory 40 | ORG federation 41 | ORG firm 42 | ORG foundation 43 | ORG gang 44 | ORG government-organization 45 | ORG group 46 | ORG hospital 47 | ORG institution 48 | ORG laboratory 49 | ORG league 50 | ORG magazine 51 | ORG military 52 | ORG monastery 53 | ORG monopoly 54 | ORG movement 55 | ORG network 56 | ORG organization 57 | ORG political-party 58 | ORG public-institution 59 | ORG publication 60 | ORG regime 61 | ORG research-institute 62 | ORG school 63 | ORG subsidiary 64 | ORG team 65 | ORG think-tank 66 | ORG tribe 67 | ORG university 68 | PER accomplice 69 | PER activist 70 | PER athlete 71 | PER attorney 72 | PER boy 73 | PER businessman 74 | PER child 75 | PER cleric 76 | PER comedian 77 | PER cosmonaut 78 | PER dissident 79 | PER doctor 80 | PER ethnic-group 81 | PER family 82 | PER girl 83 | PER guru 84 | PER guy 85 | PER gymnast 86 | PER idiot 87 | PER journalist 88 | PER lawyer 89 | PER madam 90 | PER man 91 | PER person 92 | PER physicist 93 | PER poet 94 | PER politician 95 | PER prince 96 | PER princess 97 | PER regional-group 98 | PER religious-group 99 | PER scientist 100 | PER socialite 101 | PER terrorist 102 | PER victim 103 | PER woman 104 | -------------------------------------------------------------------------------- /amrreader/static/tables/ne-table.txt: -------------------------------------------------------------------------------- 1 | Aboriginal Aborigine 2 | Abyssinian Abyssinia 3 | Aeolian Aeolus 4 | Afghan Afghanistan 5 | Afghani Afghanistan 6 | Afghanistani Afghanistan 7 | African Africa 8 | Albanian Albania 9 | Aleutian Aleut 10 | Algerian Algeria 11 | American America 12 | Andorran Andorra 13 | Angolan Angola 14 | Arabic Arab 15 | Arawakan Arawak 16 | Argentine Argentina 17 | Argentinian Argentina 18 | Armenian Armenia 19 | Aruban Aruba 20 | Asian Asia 21 | Athenian Athens 22 | Australian Australia 23 | Austrian Austria 24 | Azerbaijani Azerbaijan 25 | Bahamian Bahamas 26 | Bahrainian Bahrain 27 | Bangladeshi Bangladesh 28 | Basotho Lesotho 29 | Belarusian Belarus 30 | Belgian Belgium 31 | Bhutanese Bhutan 32 | Bohemian Bohemia 33 | Bolivian Bolivia 34 | Bosnian Bosnia and Herzegovina 35 | Brazilian Brazil 36 | British Great Britain 37 | Bulgarian Bulgaria 38 | Calabrian Calabria 39 | Cambodian Cambodia 40 | Cameroonian Cameroon 41 | Canadian Canada 42 | Cantonese Canton 43 | Caucasian Caucasia 44 | Celtic Celt 45 | Central American Central America 46 | Central European Central Europe 47 | Ceylonese Ceylon 48 | Chadian Chad 49 | Chechen Chechnya 50 | Chilean Chile 51 | Chinese China 52 | Colombian Colombia 53 | Columbian Columbus 54 | Congolese Congo 55 | Coptic Copt 56 | Costa Rican Costa Rica 57 | Croatian Croatia 58 | Cuban Cuba 59 | Cypriot Cyprus 60 | Czech Czechoslovakia 61 | Czechoslovak Czechoslovakia 62 | Czechoslovakian Czechoslovakia 63 | Danish Denmark 64 | Dutch Netherlands 65 | East German East Germany 66 | East Pakistani East Pakistan 67 | Eastern East 68 | Eastern European Eastern Europe 69 | Ecuadorian Ecuador 70 | Egyptian Egypt 71 | El Salvadoran El Salvador 72 | English England 73 | Equatorial Guinean Equatorial Guinea 74 | Eritrean Eritrea 75 | Estonian Estonia 76 | Ethiopian Ethiopia 77 | European Europe 78 | Far Eastern Far East 79 | Faroese Faroe Islands 80 | Fijian Fiji 81 | Filipino Philippines 82 | Finnish Finland 83 | Franciscan Francis of Assisi 84 | French France 85 | Gabonese Gabon 86 | Gallic Gaul 87 | Galwegian Galloway 88 | Gambian Gambia 89 | Georgian Georgia 90 | German Germany 91 | Ghanaian Ghana 92 | Gothic Goth 93 | Greek Greece 94 | Guatemalan Guatemala 95 | Guinean Guinea 96 | Guyanan Guyana 97 | Haitian Haiti 98 | Hawaiian Hawaii 99 | Hebraic Hebrew 100 | Himalayan Himalaya 101 | Hindu Hinduism 102 | Honduran Honduras 103 | Hungarian Hungary 104 | Icelander Iceland 105 | Icelandic Iceland 106 | Indonesian Indonesia 107 | Iranian Iran 108 | Iraqi Iraq 109 | Irish Ireland 110 | Islamic Islam 111 | Israeli Israel 112 | Italian Italy 113 | Jamaican Jamaica 114 | Japanese Japan 115 | Jesuitical Jesuit 116 | Jewish Jew 117 | Jewish Jew 118 | Jewish Judaism 119 | Jordanian Jordan 120 | Jovian Jupiter 121 | Judeo-Christian Christianity 122 | Judeo-Christian Judaism 123 | Kashmiri Kashmir 124 | Kazakh Kazakhstan 125 | Kazakhstani Kazakhstan 126 | Kenyan Kenya 127 | Kenyian Kenya 128 | Kirghizian Kirghistan 129 | Korean Korea 130 | Kosovar Kosovo 131 | Kurdish Kurdistan 132 | Kuwaiti Kuwait 133 | Kyrgyz Kyrgyzstan 134 | Kyrgyzstani Kyrgyzstan 135 | Lao Laos 136 | Laotian Laos 137 | Latin Latium 138 | Latin American Latin America 139 | Latvian Latvia 140 | Lebanese Lebanon 141 | Levantine Levant 142 | Liberian Liberia 143 | Libyan Libya 144 | Liechtensteiner Liechtenstein 145 | Lithuanian Lithuania 146 | Luxembourger Luxembourg 147 | Macedonian Macedonia 148 | Malagasy Madagascar 149 | Malawian Malawi 150 | Malaysian Malaysia 151 | Maldivian Maldives 152 | Malian Mali 153 | Maltese Malta 154 | Masonic Freemason 155 | Mauritanian Mauritius 156 | Mauritian Mauritius 157 | Mayan Maya 158 | medieval Middle Ages 159 | Mexican Mexico 160 | Middle Eastern Middle East 161 | Moldovan Moldova 162 | Monacan Monaco 163 | Monegasque Monaco 164 | Mongolian Mongolia 165 | Montenegrin Montenegro 166 | Moroccan Morocco 167 | Mosotho Lesotho 168 | Mozambican Mozambique 169 | Muslim Islam 170 | Myanmaran Myanmar 171 | Namibian Namibia 172 | Nauruan Nauru 173 | neolithic Neolithic Age 174 | Nepalese Nepal 175 | Nepali Nepal 176 | New Zealander New Zealand 177 | Ni-Vanuatu Vanuatu 178 | Nicaraguan Nicaragua 179 | Nigeran Niger 180 | Nilotic Nile 181 | Nordic Scandinavia 182 | North American North America 183 | North Korean North Korea 184 | Northern North 185 | Northern European Northern Europe 186 | Norwegian Norway 187 | Omani Oman 188 | Pakistani Pakistan 189 | Palauan Palau 190 | Palestinian Palestine 191 | Panamanian Panama 192 | Papua New Guinean Papua New Guinea 193 | Paraguayan Paraguay 194 | Persian Persia 195 | Peruvian Peru 196 | Pharaonic Pharaoh 197 | Philippine Philippines 198 | Polish Poland 199 | Portuguese Portugal 200 | Puerto Rican Puerto Rico 201 | Qatari Qatar 202 | Quechuan Quechua 203 | Republican Republican Party 204 | Rhenish Rhine 205 | Riemannian Riemann 206 | Roman Rome 207 | Romanian Romania 208 | Romany Gypsy 209 | Romany Romani 210 | Ruandan Ruanda 211 | Russian Russia 212 | Rwandan Rwanda 213 | Sahraouian Western Sahara 214 | Sahrawi Western Sahara 215 | Sahrawian Western Sahara 216 | Salvadoran El Salvador 217 | Samoan Samoa 218 | Saudi Arabian Saudi Arabia 219 | Scandinavian Scandinavia 220 | Scottish Scotland 221 | Senegalese Senegal 222 | Seychellois Seychelles 223 | Siamese Siam 224 | Sierra Leonean Sierra Leone 225 | Singaporean Singapore 226 | Sinhala Sinhalese 227 | Sinitic Chinese 228 | Siouan Sioux 229 | Slovak Slovakia 230 | Slovene Slovenia 231 | Slovenian Slovenia 232 | Somali Somalia 233 | Somalian Somalia 234 | South African South Africa 235 | South American South America 236 | South Korean South Korea 237 | Southeast Asian Southeast Asia 238 | Southern South 239 | Southern European Southern Europe 240 | Spanish Spain 241 | SriLankan Sri Lanka 242 | Stalinist Stalin 243 | Sudanese Sudan 244 | Surinamese Suriname 245 | Swazi Swaziland 246 | Swedish Sweden 247 | Swiss Switzerland 248 | Syrian Syria 249 | Taiwanese Taiwan 250 | Tajik Tajikistan 251 | Tajikistani Tajikistan 252 | Tanzanian Tanzania 253 | Tchadian Tchad 254 | Teutonic Teuton 255 | Texan Texas 256 | Thai Thailand 257 | Tibetan Tibet 258 | Timorese Timor 259 | Togolese Togo 260 | Tongan Tonga 261 | Trojan Troy 262 | Tunisian Tunisia 263 | Turkic Turki 264 | Turkish Turkey 265 | Turkmen Turkmenistan 266 | Tuscan Tuscany 267 | Tuvaluan Tuvalu 268 | Ugandan Uganda 269 | Ukrainian Ukraine 270 | Uruguayan Uruguay 271 | Uzbek Uzbekistan 272 | Uzbekistani Uzbekistan 273 | Venezuelan Venezuela 274 | Virginian Virginia 275 | Welch Wales 276 | Welsh Wales 277 | West German West Germany 278 | West Pakistani West Pakistan 279 | Western West 280 | Western European Western Europe 281 | Western Samoan Western Samoa 282 | Wilsonian Wilson 283 | Yemeni Yemen 284 | Yugoslav Yugoslavia 285 | Yugoslavian Yugoslavia 286 | Zairian Zaire 287 | Zambian Zambia 288 | Zimbabwean Zimbabwe 289 | Zoroastrian Zoroaster 290 | -------------------------------------------------------------------------------- /amrreader/static/tables/wikification-lookup-table.txt: -------------------------------------------------------------------------------- 1 | # biomed list 2 | ::ne-surf AIDS ::ne-type disease ::wiki HIV%2FAIDS 3 | ::ne-surf HIV ::ne-type disease ::wiki HIV%2FAIDS 4 | ::ne-surf HIV/AIDS ::ne-type disease ::wiki HIV%2FAIDS 5 | ::ne-surf hepatitis B ::ne-type disease ::wiki Hepatitis_B 6 | ::ne-surf meningitis ::ne-type disease ::wiki Meningitis 7 | ::ne-surf Alzheimer's disease ::ne-type disease ::wiki Alzheimer's_disease 8 | ::ne-surf Alzheimers disease ::ne-type disease ::wiki Alzheimer's_disease 9 | ::ne-surf Alzheimer disease ::ne-type disease ::wiki Alzheimer's_disease 10 | ::ne-surf Alzheimer's ::ne-type disease ::wiki Alzheimer's_disease 11 | ::ne-surf Alzheimers ::ne-type disease ::wiki Alzheimer's_disease 12 | ::ne-surf Alzheimer ::ne-type disease ::wiki Alzheimer's_disease 13 | ::ne-surf leukemia ::ne-type disease ::wiki Leukemia 14 | ::ne-surf type 2 diabetes ::ne-type disease ::wiki Diabetes_mellitus_type_2 15 | ::ne-surf cancer ::ne-type disease ::wiki Cancer 16 | ::ne-surf lung cancer ::ne-type disease ::wiki Lung_cancer 17 | ::ne-surf tubercolosis ::ne-type disease ::wiki Tuberculosis 18 | ::ne-surf tuberculosis ::ne-type disease ::wiki Tuberculosis 19 | ::ne-surf Parkinson's disease ::ne-type disease ::wiki Parkinson's_disease 20 | ::ne-surf Parkinsons disease ::ne-type disease ::wiki Parkinson's_disease 21 | ::ne-surf Parkinson disease ::ne-type disease ::wiki Parkinson's_disease 22 | ::ne-surf Parkinson's ::ne-type disease ::wiki Parkinson's_disease 23 | ::ne-surf Parkinsons ::ne-type disease ::wiki Parkinson's_disease 24 | ::ne-surf Parkinson ::ne-type disease ::wiki Parkinson's_disease 25 | 26 | ::ne-surf citric acid cycle ::ne-type pathway ::wiki Citric_acid_cycle 27 | ::ne-surf Krebs cycle ::ne-type pathway ::wiki Citric_acid_cycle 28 | 29 | ::ne-surf myoglobin ::ne-type protein ::wiki Myoglobin 30 | 31 | # city list 32 | ::ne-surf Hong Kong ::ne-type city ::wiki Hong_Kong 33 | ::ne-surf Moscow ::ne-type city ::wiki Moscow 34 | ::ne-surf Paris ::ne-type city ::wiki Paris 35 | ::ne-surf London ::ne-type city ::wiki London 36 | ::ne-surf Beijing ::ne-type city ::wiki Beijing 37 | ::ne-surf Vienna ::ne-type city ::wiki Vienna 38 | ::ne-surf Washington ::ne-type city ::wiki Washington,_D.C. 39 | ::ne-surf Manokwari ::ne-type city ::wiki Manokwari 40 | ::ne-surf Tehran ::ne-type city ::wiki Tehran 41 | ::ne-surf Pyongyang ::ne-type city ::wiki Pyongyang 42 | ::ne-surf Shanghai ::ne-type city ::wiki Shanghai 43 | ::ne-surf New Delhi ::ne-type city ::wiki New_Delhi 44 | ::ne-surf New York ::ne-type city ::wiki New_York_City 45 | ::ne-surf Tokyo ::ne-type city ::wiki Tokyo 46 | ::ne-surf Geneva ::ne-type city ::wiki Geneva 47 | ::ne-surf Hanoi ::ne-type city ::wiki Hanoi 48 | ::ne-surf Seoul ::ne-type city ::wiki Seoul 49 | ::ne-surf Sydney ::ne-type city ::wiki Sydney 50 | ::ne-surf Tianjin ::ne-type city ::wiki Tianjin 51 | ::ne-surf Zahedan ::ne-type city ::wiki Zahedan 52 | ::ne-surf Tallinn ::ne-type city ::wiki Tallinn 53 | ::ne-surf Baghdad ::ne-type city ::wiki Baghdad 54 | ::ne-surf Berlin ::ne-type city ::wiki Berlin 55 | ::ne-surf Kabul ::ne-type city ::wiki Kabul 56 | ::ne-surf Rio de Janeiro ::ne-type city ::wiki Rio_de_Janeiro 57 | ::ne-surf Riyadh ::ne-type city ::wiki Riyadh 58 | ::ne-surf Brussels ::ne-type city ::wiki Brussels 59 | ::ne-surf Cairo ::ne-type city ::wiki Cairo 60 | ::ne-surf Islamabad ::ne-type city ::wiki Islamabad 61 | ::ne-surf Ho Chi Minh City ::ne-type city ::wiki Ho_Chi_Minh_City 62 | ::ne-surf Karachi ::ne-type city ::wiki Karachi 63 | ::ne-surf Hyderabad ::ne-type city ::wiki Hyderabad 64 | ::ne-surf Mumbai ::ne-type city ::wiki Mumbai 65 | ::ne-surf Bangkok ::ne-type city ::wiki Bangkok 66 | ::ne-surf Bonn ::ne-type city ::wiki Bonn 67 | ::ne-surf Dublin ::ne-type city ::wiki Dublin 68 | ::ne-surf Kuala Lumpur ::ne-type city ::wiki Kuala_Lumpur 69 | ::ne-surf Madrid ::ne-type city ::wiki Madrid 70 | ::ne-surf Pretoria ::ne-type city ::wiki Pretoria 71 | ::ne-surf Quetta ::ne-type city ::wiki Quetta 72 | ::ne-surf Teheran ::ne-type city ::wiki Tehran 73 | ::ne-surf Amman ::ne-type city ::wiki Amman 74 | ::ne-surf Boston ::ne-type city ::wiki Boston 75 | ::ne-surf Dubai ::ne-type city ::wiki Dubai 76 | ::ne-surf Jakarta ::ne-type city ::wiki Jakarta 77 | ::ne-surf Lahore ::ne-type city ::wiki Lahore 78 | ::ne-surf Manila ::ne-type city ::wiki Manila 79 | ::ne-surf Mecca ::ne-type city ::wiki Mecca 80 | ::ne-surf Mexico City ::ne-type city ::wiki Mexico_City 81 | ::ne-surf Qom ::ne-type city ::wiki Qom 82 | ::ne-surf Taipei ::ne-type city ::wiki Taipei 83 | ::ne-surf Tirana ::ne-type city ::wiki Tirana 84 | ::ne-surf Toronto ::ne-type city ::wiki Toronto 85 | ::ne-surf Washington D.C. ::ne-type city ::wiki Washington,_D.C. 86 | ::ne-surf Algiers ::ne-type city ::wiki Algiers 87 | ::ne-surf Bangalore ::ne-type city ::wiki Bangalore 88 | ::ne-surf Beirut ::ne-type city ::wiki Beirut 89 | ::ne-surf Bogota ::ne-type city ::wiki Bogot%C3%A1 90 | ::ne-surf Cape Town ::ne-type city ::wiki Cape_Town 91 | ::ne-surf Damascus ::ne-type city ::wiki Damascus 92 | ::ne-surf Glasgow ::ne-type city ::wiki Glasgow 93 | ::ne-surf Istanbul ::ne-type city ::wiki Istanbul 94 | ::ne-surf Kathmandu ::ne-type city ::wiki Kathmandu 95 | ::ne-surf Mogadishu ::ne-type city ::wiki Mogadishu 96 | ::ne-surf Montreal ::ne-type city ::wiki Montreal 97 | ::ne-surf Rome ::ne-type city ::wiki Rome 98 | ::ne-surf Stratford-upon-Avon ::ne-type city ::wiki Stratford-upon-Avon 99 | ::ne-surf Washington ::ne-type city ::wiki Washington,_D.C. 100 | ::ne-surf Washington DC ::ne-type city ::wiki Washington,_D.C. 101 | ::ne-surf Bombay ::ne-type city ::wiki Mumbai 102 | ::ne-surf Munich ::ne-type city ::wiki Munich 103 | ::ne-surf New York City ::ne-type city ::wiki New_York_City 104 | ::ne-surf Hamburg ::ne-type city ::wiki Hamburg 105 | ::ne-surf Bucharest ::ne-type city ::wiki Bucharest 106 | ::ne-surf Kandahar ::ne-type city ::wiki Kandahar 107 | ::ne-surf Los Angeles ::ne-type city ::wiki Los_Angeles 108 | ::ne-surf San Francisco ::ne-type city ::wiki San_Francisco 109 | ::ne-surf Macao ::ne-type city ::wiki Macau 110 | ::ne-surf Macau ::ne-type city ::wiki Macau 111 | ::ne-surf Cluj ::ne-type city ::wiki Cluj-Napoca 112 | ::ne-surf Cluj-Napoca ::ne-type city ::wiki Cluj-Napoca 113 | ::ne-surf Klausenburg ::ne-type city ::wiki Cluj-Napoca 114 | ::ne-surf Kolozsvár ::ne-type city ::wiki Cluj-Napoca 115 | ::ne-surf Bethlehem ::ne-type city ::wiki Bethlehem 116 | ::ne-surf Nanjing ::ne-type city ::wiki Nanjing 117 | ::ne-surf Tripoli ::ne-type city ::wiki Tripoli 118 | ::ne-surf Guangzhou ::ne-type city ::wiki Guangzhou 119 | ::ne-surf The Hague ::ne-type city ::wiki The_Hague 120 | ::ne-surf Den Haag ::ne-type city ::wiki The_Hague 121 | ::ne-surf 's-Gravenhage ::ne-type city ::wiki The_Hague 122 | 123 | 124 | ::ne-surf Manhattan ::ne-type city-district ::wiki Manhattan 125 | ::ne-surf Brooklyn ::ne-type city-district ::wiki Brooklyn 126 | ::ne-surf Hollywood ::ne-type city-district ::wiki Hollywood 127 | ::ne-surf Pudong ::ne-type city-district ::wiki Pudong 128 | ::ne-surf Tempelhof ::ne-type city-district ::wiki Tempelhof 129 | ::ne-surf Bergedorf ::ne-type city-district ::wiki Bergedorf 130 | ::ne-surf Schwabing ::ne-type city-district ::wiki Schwabing 131 | ::ne-surf Knightsbridge ::ne-type city-district ::wiki Knightsbridge 132 | 133 | ::ne-surf Indianapolis ::ne-type city ::wiki Indianapolis 134 | ::ne-surf Boca Raton ::ne-type city ::wiki Boca_Raton,_Florida 135 | # company list 136 | ::ne-surf AFP ::ne-type publication ::wiki Agence_France-Presse 137 | ::ne-surf AFP ::ne-type agency ::wiki Agence_France-Presse 138 | ::ne-surf Xinhua News Agency ::ne-type publication ::wiki Xinhua_News_Agency 139 | ::ne-surf IRNA ::ne-type publication ::wiki Islamic_Republic_News_Agency 140 | ::ne-surf IRNA ::ne-type agency ::wiki Islamic_Republic_News_Agency 141 | ::ne-surf YouTube ::ne-type publication ::wiki YouTube 142 | ::ne-surf Associated Press ::ne-type publication ::wiki Associated_Press 143 | ::ne-surf Interfax ::ne-type publication ::wiki Interfax 144 | ::ne-surf Interfax ::ne-type agency ::wiki Interfax 145 | ::ne-surf Agence France-Presse ::ne-type publication ::wiki Agence_France-Presse 146 | ::ne-surf ITAR-TASS ::ne-type publication ::wiki Information_Telegraph_Agency_of_Russia 147 | ::ne-surf ITAR-TASS ::ne-type agency ::wiki Information_Telegraph_Agency_of_Russia 148 | ::ne-surf Itar-Tass ::ne-type publication ::wiki Information_Telegraph_Agency_of_Russia 149 | ::ne-surf Fars News Agency ::ne-type publication ::wiki Fars_News_Agency 150 | ::ne-surf News Agency Fars ::ne-type publication ::wiki Fars_News_Agency 151 | ::ne-surf Reuters ::ne-type publication ::wiki Reuters 152 | ::ne-surf Reuters ::ne-type agency ::wiki Reuters 153 | ::ne-surf Xinhua ::ne-type publication ::wiki Xinhua_News_Agency 154 | ::ne-surf Fars ::ne-type publication ::wiki Fars_News_Agency 155 | ::ne-surf A.F.P. ::ne-type publication ::wiki Agence_France-Presse 156 | ::ne-surf A. F. P. ::ne-type publication ::wiki Agence_France-Presse 157 | ::ne-surf AP ::ne-type publication ::wiki Associated_Press 158 | ::ne-surf Agence France Presse ::ne-type publication ::wiki Agence_France-Presse 159 | 160 | ::ne-surf Hindustan Aeronautics Limited ::ne-type company ::wiki Hindustan_Aeronautics_Limited 161 | ::ne-surf Alstom ::ne-type company ::wiki Alstom 162 | ::ne-surf Siemens ::ne-type company ::wiki Siemens 163 | ::ne-surf Areva ::ne-type company ::wiki Areva 164 | ::ne-surf Embraer ::ne-type company ::wiki Embraer 165 | ::ne-surf Boeing ::ne-type company ::wiki Boeing 166 | ::ne-surf SAIC ::ne-type company ::wiki SAIC_Motor 167 | ::ne-surf UMC ::ne-type company ::wiki United_Microelectronics_Corporation 168 | ::ne-surf Boeing Corporation ::ne-type company ::wiki Boeing 169 | ::ne-surf Hynix ::ne-type company ::wiki SK_Hynix 170 | ::ne-surf Abbott ::ne-type company ::wiki Abbott_Laboratories 171 | ::ne-surf Volkswagen ::ne-type company ::wiki Volkswagen 172 | ::ne-surf Bell Canada ::ne-type company ::wiki Bell_Canada 173 | ::ne-surf Google ::ne-type company ::wiki Google 174 | ::ne-surf Lorillard ::ne-type company ::wiki Lorillard_Tobacco_Company 175 | ::ne-surf BP ::ne-type company ::wiki BP 176 | ::ne-surf IBM ::ne-type company ::wiki IBM 177 | ::ne-surf Microsoft ::ne-type company ::wiki Microsoft 178 | ::ne-surf Volkswagen AG ::ne-type company ::wiki Volkswagen 179 | ::ne-surf Du Pont ::ne-type company ::wiki DuPont 180 | ::ne-surf General Motors ::ne-type company ::wiki General_Motors 181 | ::ne-surf Goldman Sachs ::ne-type company ::wiki Goldman_Sachs 182 | ::ne-surf Microsoft Corp. ::ne-type company ::wiki Microsoft 183 | ::ne-surf Bank of China ::ne-type company ::wiki Bank_of_China 184 | 185 | ::ne-surf Agricultural Bank of China ::ne-type company ::wiki Agricultural_Bank_of_China 186 | ::ne-surf Bank of America ::ne-type company ::wiki Bank_of_America 187 | ::ne-surf Berkshire Hathaway ::ne-type company ::wiki Berkshire_Hathaway 188 | ::ne-surf BNP Paribas ::ne-type company ::wiki BNP_Paribas 189 | ::ne-surf Chevron ::ne-type company ::wiki Chevron_Corporation 190 | ::ne-surf Chevron Corporation ::ne-type company ::wiki Chevron_Corporation 191 | ::ne-surf China Construction Bank ::ne-type company ::wiki China_Construction_Bank 192 | ::ne-surf Chrysler ::ne-type company ::wiki Chrysler 193 | ::ne-surf Citigroup ::ne-type company ::wiki Citigroup 194 | ::ne-surf Commerzbank ::ne-type company ::wiki Commerzbank 195 | ::ne-surf Credit Suisse ::ne-type company ::wiki Credit_Suisse 196 | ::ne-surf Deutsche Bank ::ne-type company ::wiki Deutsche_Bank 197 | ::ne-surf Dresdner Bank ::ne-type company ::wiki Dresdner_Bank 198 | ::ne-surf DuPont ::ne-type company ::wiki DuPont 199 | ::ne-surf Exxon Mobil ::ne-type company ::wiki ExxonMobil 200 | ::ne-surf ExxonMobil ::ne-type company ::wiki ExxonMobil 201 | ::ne-surf Exxon Mobile ::ne-type company ::wiki ExxonMobil 202 | ::ne-surf ExxonMobile ::ne-type company ::wiki ExxonMobil 203 | ::ne-surf Gazprom ::ne-type company ::wiki Gazprom 204 | ::ne-surf General Electric ::ne-type company ::wiki General_Electric 205 | ::ne-surf ICBC ::ne-type company ::wiki Industrial_and_Commercial_Bank_of_China 206 | ::ne-surf Industrial and Commercial Bank of China ::ne-type company ::wiki Industrial_and_Commercial_Bank_of_China 207 | ::ne-surf JPMorgan Chase ::ne-type company ::wiki JPMorgan_Chase 208 | ::ne-surf Mazda ::ne-type company ::wiki Mazda 209 | ::ne-surf Nissan ::ne-type company ::wiki Nissan 210 | ::ne-surf Paribas ::ne-type company ::wiki Paribas 211 | ::ne-surf Petro China ::ne-type company ::wiki PetroChina 212 | ::ne-surf PetroChina ::ne-type company ::wiki PetroChina 213 | ::ne-surf Royal Dutch Shell ::ne-type company ::wiki Royal_Dutch_Shell 214 | ::ne-surf Sony ::ne-type company ::wiki Sony 215 | ::ne-surf Toyota ::ne-type company ::wiki Toyota 216 | ::ne-surf Wells Fargo ::ne-type company ::wiki Wells_Fargo 217 | 218 | 219 | ::ne-surf The Financial Times ::ne-type newspaper ::wiki Financial_Times 220 | ::ne-surf The Wall Street Journal ::ne-type newspaper ::wiki The_Wall_Street_Journal 221 | ::ne-surf Wall Street Journal ::ne-type newspaper ::wiki The_Wall_Street_Journal 222 | ::ne-surf WSJ ::ne-type newspaper ::wiki The_Wall_Street_Journal 223 | ::ne-surf Guardian ::ne-type newspaper ::wiki The_Guardian 224 | ::ne-surf Los Angeles Times ::ne-type newspaper ::wiki Los_Angeles_Times 225 | ::ne-surf L.A. Times ::ne-type newspaper ::wiki Los_Angeles_Times 226 | ::ne-surf LA Times ::ne-type newspaper ::wiki Los_Angeles_Times 227 | ::ne-surf The Daily Telegraph ::ne-type newspaper ::wiki The_Daily_Telegraph 228 | ::ne-surf New York Times ::ne-type newspaper ::wiki The_New_York_Times 229 | ::ne-surf NY Times ::ne-type newspaper ::wiki The_New_York_Times 230 | ::ne-surf NYT ::ne-type newspaper ::wiki The_New_York_Times 231 | ::ne-surf The New York Times ::ne-type newspaper ::wiki The_New_York_Times 232 | ::ne-surf The Guardian ::ne-type newspaper ::wiki The_Guardian 233 | 234 | ::ne-surf Der Spiegel ::ne-type magazine ::wiki Der_Spiegel 235 | ::ne-surf L'Express ::ne-type magazine ::wiki L'Express_(France) 236 | ::ne-surf Newsweek ::ne-type magazine ::wiki Newsweek 237 | ::ne-surf The Economist ::ne-type magazine ::wiki The_Economist 238 | ::ne-surf The New Yorker ::ne-type magazine ::wiki The_New_Yorker 239 | 240 | # continent list 241 | ::ne-surf Europe ::ne-type continent ::wiki Europe 242 | ::ne-surf Asia ::ne-type continent ::wiki Asia 243 | ::ne-surf Africa ::ne-type continent ::wiki Africa 244 | ::ne-surf South America ::ne-type continent ::wiki South_America 245 | ::ne-surf North America ::ne-type continent ::wiki North_America 246 | ::ne-surf Australia ::ne-type continent ::wiki Australia_(continent) 247 | ::ne-surf America ::ne-type continent ::wiki Americas 248 | ::ne-surf Antarctica ::ne-type continent ::wiki Antarctica 249 | ::ne-surf Americas ::ne-type continent ::wiki Americas 250 | # country list 251 | ::ne-surf Iran ::ne-type country ::wiki Iran 252 | ::ne-surf China ::ne-type country ::wiki China 253 | ::ne-surf United States ::ne-type country ::wiki United_States 254 | ::ne-surf North Korea ::ne-type country ::wiki North_Korea 255 | ::ne-surf India ::ne-type country ::wiki India 256 | ::ne-surf Afghanistan ::ne-type country ::wiki Afghanistan 257 | ::ne-surf Russia ::ne-type country ::wiki Russia 258 | ::ne-surf France ::ne-type country ::wiki France 259 | ::ne-surf Pakistan ::ne-type country ::wiki Pakistan 260 | ::ne-surf US ::ne-type country ::wiki United_States 261 | ::ne-surf Japan ::ne-type country ::wiki Japan 262 | ::ne-surf Myanmar ::ne-type country ::wiki Burma 263 | ::ne-surf Iraq ::ne-type country ::wiki Iraq 264 | ::ne-surf U.S. ::ne-type country ::wiki United_States 265 | ::ne-surf Taiwan ::ne-type country ::wiki Taiwan 266 | ::ne-surf Vietnam ::ne-type country ::wiki Vietnam 267 | ::ne-surf Australia ::ne-type country ::wiki Australia 268 | ::ne-surf South Korea ::ne-type country ::wiki South_Korea 269 | ::ne-surf Germany ::ne-type country ::wiki Germany 270 | ::ne-surf Libya ::ne-type country ::wiki Libya 271 | ::ne-surf Britain ::ne-type country ::wiki United_Kingdom 272 | ::ne-surf Israel ::ne-type country ::wiki Israel 273 | ::ne-surf South Africa ::ne-type country ::wiki South_Africa 274 | ::ne-surf Brazil ::ne-type country ::wiki Brazil 275 | ::ne-surf Thailand ::ne-type country ::wiki Thailand 276 | ::ne-surf Indonesia ::ne-type country ::wiki Indonesia 277 | ::ne-surf Estonia ::ne-type country ::wiki Estonia 278 | ::ne-surf Saudi Arabia ::ne-type country ::wiki Saudi_Arabia 279 | ::ne-surf Georgia ::ne-type country ::wiki Georgia_(country) 280 | ::ne-surf Singapore ::ne-type country ::wiki Singapore 281 | ::ne-surf Soviet Union ::ne-type country ::wiki Soviet_Union 282 | ::ne-surf Laos ::ne-type country ::wiki Laos 283 | ::ne-surf Malaysia ::ne-type country ::wiki Malaysia 284 | ::ne-surf Russian Federation ::ne-type country ::wiki Russia 285 | ::ne-surf Philippines ::ne-type country ::wiki Philippines 286 | ::ne-surf Kazakhstan ::ne-type country ::wiki Kazakhstan 287 | ::ne-surf Zimbabwe ::ne-type country ::wiki Zimbabwe 288 | ::ne-surf Egypt ::ne-type country ::wiki Egypt 289 | ::ne-surf Jordan ::ne-type country ::wiki Jordan 290 | ::ne-surf United Kingdom ::ne-type country ::wiki United_Kingdom 291 | ::ne-surf Italy ::ne-type country ::wiki Italy 292 | ::ne-surf Spain ::ne-type country ::wiki Spain 293 | ::ne-surf Tajikistan ::ne-type country ::wiki Tajikistan 294 | ::ne-surf Republic of Korea ::ne-type country ::wiki South_Korea 295 | ::ne-surf Ukraine ::ne-type country ::wiki Ukraine 296 | ::ne-surf Syria ::ne-type country ::wiki Syria 297 | ::ne-surf Canada ::ne-type country ::wiki Canada 298 | ::ne-surf Colombia ::ne-type country ::wiki Colombia 299 | ::ne-surf Algeria ::ne-type country ::wiki Algeria 300 | ::ne-surf Cambodia ::ne-type country ::wiki Cambodia 301 | ::ne-surf Kingdom of Cambodia ::ne-type country ::wiki Cambodia 302 | ::ne-surf Venezuela ::ne-type country ::wiki Venezuela 303 | ::ne-surf America ::ne-type country ::wiki United_States 304 | ::ne-surf Albania ::ne-type country ::wiki Albania 305 | ::ne-surf Sweden ::ne-type country ::wiki Sweden 306 | ::ne-surf Switzerland ::ne-type country ::wiki Switzerland 307 | ::ne-surf Turkey ::ne-type country ::wiki Turkey 308 | ::ne-surf Kenya ::ne-type country ::wiki Kenya 309 | ::ne-surf Great Britain ::ne-type country ::wiki United_Kingdom 310 | ::ne-surf Mexico ::ne-type country ::wiki Mexico 311 | ::ne-surf Democratic People's Republic of Korea ::ne-type country ::wiki North_Korea 312 | ::ne-surf Cuba ::ne-type country ::wiki Cuba 313 | ::ne-surf Nepal ::ne-type country ::wiki Nepal 314 | ::ne-surf Bulgaria ::ne-type country ::wiki Bulgaria 315 | ::ne-surf Kyrgyzstan ::ne-type country ::wiki Kyrgyzstan 316 | ::ne-surf Korea ::ne-type country ::wiki Korea 317 | ::ne-surf Morocco ::ne-type country ::wiki Morocco 318 | ::ne-surf Somalia ::ne-type country ::wiki Somalia 319 | ::ne-surf Yemen ::ne-type country ::wiki Yemen 320 | ::ne-surf Peru ::ne-type country ::wiki Peru 321 | ::ne-surf Greece ::ne-type country ::wiki Greece 322 | ::ne-surf Netherlands ::ne-type country ::wiki Netherlands 323 | ::ne-surf Costa Rica ::ne-type country ::wiki Costa_Rica 324 | ::ne-surf Islamic Republic of Iran ::ne-type country ::wiki Iran 325 | ::ne-surf Nicaragua ::ne-type country ::wiki Nicaragua 326 | ::ne-surf Nigeria ::ne-type country ::wiki Nigeria 327 | ::ne-surf Austria ::ne-type country ::wiki Austria 328 | ::ne-surf Lebanon ::ne-type country ::wiki Lebanon 329 | ::ne-surf UK ::ne-type country ::wiki United_Kingdom 330 | ::ne-surf Uzbekistan ::ne-type country ::wiki Uzbekistan 331 | ::ne-surf Belarus ::ne-type country ::wiki Belarus 332 | ::ne-surf Belgium ::ne-type country ::wiki Belgium 333 | ::ne-surf Norway ::ne-type country ::wiki Norway 334 | ::ne-surf Poland ::ne-type country ::wiki Poland 335 | ::ne-surf Qatar ::ne-type country ::wiki Qatar 336 | ::ne-surf Denmark ::ne-type country ::wiki Denmark 337 | ::ne-surf Finland ::ne-type country ::wiki Finland 338 | ::ne-surf Mauritania ::ne-type country ::wiki Mauritania 339 | ::ne-surf Croatia ::ne-type country ::wiki Croatia 340 | ::ne-surf PRC ::ne-type country ::wiki China 341 | ::ne-surf Serbia ::ne-type country ::wiki Serbia 342 | ::ne-surf Serbia and Montenegro ::ne-type country ::wiki Serbia_and_Montenegro 343 | ::ne-surf United Arab Emirates ::ne-type country ::wiki United_Arab_Emirates 344 | ::ne-surf United States of America ::ne-type country ::wiki United_States 345 | ::ne-surf Cape Verde ::ne-type country ::wiki Cape_Verde 346 | ::ne-surf China ::ne-type country ::wiki China 347 | ::ne-surf Czech Republic ::ne-type country ::wiki Czech_Republic 348 | ::ne-surf Libyan Arab Jamahiriya ::ne-type country ::wiki Libya 349 | ::ne-surf Slovakia ::ne-type country ::wiki Slovakia 350 | ::ne-surf Argentina ::ne-type country ::wiki Argentina 351 | ::ne-surf Bangladesh ::ne-type country ::wiki Bangladesh 352 | ::ne-surf Chile ::ne-type country ::wiki Chile 353 | ::ne-surf Ecuador ::ne-type country ::wiki Ecuador 354 | ::ne-surf England ::ne-type country ::wiki England 355 | ::ne-surf Great Britain ::ne-type country ::wiki United_Kingdom 356 | ::ne-surf Honduras ::ne-type country ::wiki Honduras 357 | ::ne-surf Lao People's Democratic Republic ::ne-type country ::wiki Laos 358 | ::ne-surf Macedonia ::ne-type country ::wiki Republic_of_Macedonia 359 | ::ne-surf Republic of Macedonia ::ne-type country ::wiki Republic_of_Macedonia 360 | ::ne-surf former Yugoslav Republic of Macedonia ::ne-type country ::wiki Republic_of_Macedonia 361 | ::ne-surf Former Yugoslav Republic of Macedonia ::ne-type country ::wiki Republic_of_Macedonia 362 | ::ne-surf FYROM ::ne-type country ::wiki Republic_of_Macedonia 363 | ::ne-surf Yugoslavia ::ne-type country ::wiki Yugoslavia 364 | ::ne-surf Bosnia-Herzegovina ::ne-type country ::wiki Bosnia_and_Herzegovina 365 | ::ne-surf Bosnia Herzegovina ::ne-type country ::wiki Bosnia_and_Herzegovina 366 | ::ne-surf Brunei ::ne-type country ::wiki Brunei 367 | ::ne-surf Kosovo ::ne-type country ::wiki Kosovo 368 | ::ne-surf Lithuania ::ne-type country ::wiki Lithuania 369 | ::ne-surf Palestine ::ne-type country ::wiki State_of_Palestine 370 | ::ne-surf Romania ::ne-type country ::wiki Romania 371 | ::ne-surf Tanzania ::ne-type country ::wiki Tanzania 372 | ::ne-surf United Republic of Tanzania ::ne-type country ::wiki Tanzania 373 | ::ne-surf Tanzania United Republic ::ne-type country ::wiki Tanzania 374 | ::ne-surf Tunisia ::ne-type country ::wiki Tunisia 375 | ::ne-surf Turkmenistan ::ne-type country ::wiki Turkmenistan 376 | ::ne-surf Moldova ::ne-type country ::wiki Moldova 377 | ::ne-surf Monaco ::ne-type country ::wiki Monaco 378 | ::ne-surf Palestine ::ne-type country ::wiki State_of_Palestine 379 | ::ne-surf People's Republic of China ::ne-type country ::wiki China 380 | ::ne-surf Scotland ::ne-type country ::wiki Scotland 381 | ::ne-surf Sudan ::ne-type country ::wiki Sudan 382 | ::ne-surf Syrian Arab Republic ::ne-type country ::wiki Syria 383 | ::ne-surf UAE ::ne-type country ::wiki United_Arab_Emirates 384 | ::ne-surf USA ::ne-type country ::wiki United_States 385 | ::ne-surf Armenia ::ne-type country ::wiki Armenia 386 | ::ne-surf Bahrain ::ne-type country ::wiki Bahrain 387 | ::ne-surf Burma ::ne-type country ::wiki Burma 388 | ::ne-surf Democratic People's Republic Of Korea ::ne-type country ::wiki North_Korea 389 | ::ne-surf Ghana ::ne-type country ::wiki Ghana 390 | ::ne-surf Hungary ::ne-type country ::wiki Hungary 391 | ::ne-surf Hungary Republic ::ne-type country ::wiki Hungary 392 | ::ne-surf Hungarian Republic ::ne-type country ::wiki Hungary 393 | ::ne-surf Ireland ::ne-type country ::wiki Republic_of_Ireland 394 | ::ne-surf Kuwait ::ne-type country ::wiki Kuwait 395 | ::ne-surf Malta ::ne-type country ::wiki Malta 396 | ::ne-surf Mozambique ::ne-type country ::wiki Mozambique 397 | ::ne-surf New Zealand ::ne-type country ::wiki New_Zealand 398 | ::ne-surf Niger ::ne-type country ::wiki Niger 399 | ::ne-surf Oman ::ne-type country ::wiki Oman 400 | ::ne-surf Phillipines ::ne-type country ::wiki Philippines 401 | ::ne-surf Russia Federation ::ne-type country ::wiki Russia 402 | ::ne-surf South Sudan ::ne-type country ::wiki South_Sudan 403 | ::ne-surf Southern Sudan ::ne-type country ::wiki South_Sudan 404 | ::ne-surf Sri Lanka ::ne-type country ::wiki Sri_Lanka 405 | ::ne-surf USSR ::ne-type country ::wiki Soviet_Union 406 | ::ne-surf Afganistan ::ne-type country ::wiki Afghanistan 407 | ::ne-surf Azerbaijan ::ne-type country ::wiki Azerbaijan 408 | ::ne-surf Bolivia ::ne-type country ::wiki Bolivia 409 | ::ne-surf Botswana ::ne-type country ::wiki Botswana 410 | ::ne-surf Burundi ::ne-type country ::wiki Burundi 411 | ::ne-surf Chad ::ne-type country ::wiki Chad 412 | ::ne-surf DPRK ::ne-type country ::wiki North_Korea 413 | ::ne-surf Democratic Korea ::ne-type country ::wiki North_Korea 414 | ::ne-surf Democratic Republic of Korea ::ne-type country ::wiki North_Korea 415 | ::ne-surf Ethiopia ::ne-type country ::wiki Ethiopia 416 | ::ne-surf European Union ::ne-type country ::wiki European_Union 417 | ::ne-surf French Republic ::ne-type country ::wiki France 418 | ::ne-surf Guatemala ::ne-type country ::wiki Guatemala 419 | ::ne-surf Haiti ::ne-type country ::wiki Haiti 420 | ::ne-surf Ivory Coast ::ne-type country ::wiki Ivory_Coast 421 | ::ne-surf Libya Arab Jamahiriya ::ne-type country ::wiki Libya 422 | ::ne-surf Madagascar ::ne-type country ::wiki Madagascar 423 | ::ne-surf Mali ::ne-type country ::wiki Mali 424 | ::ne-surf Northern Ireland ::ne-type country ::wiki Northern_Ireland 425 | ::ne-surf Panama ::ne-type country ::wiki Panama 426 | ::ne-surf People's Democratic Republic of Korea ::ne-type country ::wiki North_Korea 427 | ::ne-surf Phillippines ::ne-type country ::wiki Philippines 428 | ::ne-surf Portugal ::ne-type country ::wiki Portugal 429 | ::ne-surf Senegal ::ne-type country ::wiki Senegal 430 | ::ne-surf Slovenia ::ne-type country ::wiki Slovenia 431 | ::ne-surf Soviet ::ne-type country ::wiki Soviet_Union 432 | ::ne-surf Suriname ::ne-type country ::wiki Suriname 433 | ::ne-surf The US ::ne-type country ::wiki United_States 434 | ::ne-surf U.K. ::ne-type country ::wiki United_Kingdom 435 | ::ne-surf U.S ::ne-type country ::wiki United_States 436 | ::ne-surf Uganda ::ne-type country ::wiki Uganda 437 | ::ne-surf Uruguay ::ne-type country ::wiki Uruguay 438 | ::ne-surf Viet Nam ::ne-type country ::wiki Vietnam 439 | ::ne-surf Zambia ::ne-type country ::wiki Zambia 440 | ::ne-surf Andorra ::ne-type country ::wiki Andorra 441 | ::ne-surf Angola ::ne-type country ::wiki Angola 442 | ::ne-surf Antigua and Barbuda ::ne-type country ::wiki Antigua_and_Barbuda 443 | ::ne-surf Bahamas ::ne-type country ::wiki The_Bahamas 444 | ::ne-surf The Bahamas ::ne-type country ::wiki The_Bahamas 445 | ::ne-surf Barbados ::ne-type country ::wiki Barbados 446 | ::ne-surf Belize ::ne-type country ::wiki Belize 447 | ::ne-surf Benin ::ne-type country ::wiki Benin 448 | ::ne-surf Bhutan ::ne-type country ::wiki Bhutan 449 | ::ne-surf Bosnia ::ne-type country ::wiki Bosnia_and_Herzegovina 450 | ::ne-surf Bosnia and Herzegovina ::ne-type country ::wiki Bosnia_and_Herzegovina 451 | ::ne-surf Bosnia and Herzegowina ::ne-type country ::wiki Bosnia_and_Herzegovina 452 | ::ne-surf Burkina Faso ::ne-type country ::wiki Burkina_Faso 453 | ::ne-surf Cameroon ::ne-type country ::wiki Cameroon 454 | ::ne-surf Central African Republic ::ne-type country ::wiki Central_African_Republic 455 | ::ne-surf Comoros ::ne-type country ::wiki Comoros 456 | ::ne-surf Democratic Republic of Congo ::ne-type country ::wiki Democratic_Republic_of_the_Congo 457 | ::ne-surf Democratic Republic of the Congo ::ne-type country ::wiki Democratic_Republic_of_the_Congo 458 | ::ne-surf Congo-Kinshasa ::ne-type country ::wiki Democratic_Republic_of_the_Congo 459 | ::ne-surf Zaire ::ne-type country ::wiki Democratic_Republic_of_the_Congo 460 | ::ne-surf Republic of Congo ::ne-type country ::wiki Republic_of_the_Congo 461 | ::ne-surf Republic of the Congo ::ne-type country ::wiki Republic_of_the_Congo 462 | ::ne-surf Congo Republic ::ne-type country ::wiki Republic_of_the_Congo 463 | ::ne-surf Congo-Brazzaville ::ne-type country ::wiki Republic_of_the_Congo 464 | ::ne-surf Cote d'Ivoire ::ne-type country ::wiki Ivory_Coast 465 | ::ne-surf Cyprus ::ne-type country ::wiki Cyprus 466 | ::ne-surf Djibouti ::ne-type country ::wiki Djibouti 467 | ::ne-surf Dominica ::ne-type country ::wiki Dominica 468 | ::ne-surf Dominican Republic ::ne-type country ::wiki Dominican_Republic 469 | ::ne-surf East Timor ::ne-type country ::wiki East_Timor 470 | ::ne-surf El Salvador ::ne-type country ::wiki El_Salvador 471 | ::ne-surf Equatorial Guinea ::ne-type country ::wiki Equatorial_Guinea 472 | ::ne-surf Eritrea ::ne-type country ::wiki Eritrea 473 | ::ne-surf Fiji ::ne-type country ::wiki Fiji 474 | ::ne-surf Gabon ::ne-type country ::wiki Gabon 475 | ::ne-surf Gabonese Republic ::ne-type country ::wiki Gabon 476 | ::ne-surf Gabon Republic ::ne-type country ::wiki Gabon 477 | ::ne-surf Gambia ::ne-type country ::wiki The_Gambia 478 | ::ne-surf The Gambia ::ne-type country ::wiki The_Gambia 479 | ::ne-surf Grenada ::ne-type country ::wiki Grenada 480 | ::ne-surf Guinea ::ne-type country ::wiki Guinea 481 | ::ne-surf Guinea-Bissau ::ne-type country ::wiki Guinea-Bissau 482 | ::ne-surf Guinea Bissau ::ne-type country ::wiki Guinea-Bissau 483 | ::ne-surf Guyana ::ne-type country ::wiki Guyana 484 | ::ne-surf Republic of Ireland ::ne-type country ::wiki Republic_of_Ireland 485 | ::ne-surf Irish Republic ::ne-type country ::wiki Republic_of_Ireland 486 | ::ne-surf Jamaica ::ne-type country ::wiki Jamaica 487 | ::ne-surf Kiribati ::ne-type country ::wiki Kiribati 488 | ::ne-surf Kirghizia ::ne-type country ::wiki Kyrgyzstan 489 | ::ne-surf Latvia ::ne-type country ::wiki Latvia 490 | ::ne-surf Latvian Republic ::ne-type country ::wiki Latvia 491 | ::ne-surf Republic of Latvia ::ne-type country ::wiki Latvia 492 | ::ne-surf Lesotho ::ne-type country ::wiki Lesotho 493 | ::ne-surf Liberia ::ne-type country ::wiki Liberia 494 | ::ne-surf Liechtenstein ::ne-type country ::wiki Liechtenstein 495 | ::ne-surf Lithuania ::ne-type country ::wiki Lithuania 496 | ::ne-surf Luxembourg ::ne-type country ::wiki Luxembourg 497 | ::ne-surf Malawi ::ne-type country ::wiki Malawi 498 | ::ne-surf Maldives ::ne-type country ::wiki Maldives 499 | ::ne-surf Marshall Islands ::ne-type country ::wiki Marshall_Islands 500 | ::ne-surf Mauritius ::ne-type country ::wiki Mauritius 501 | ::ne-surf Mongolia ::ne-type country ::wiki Mongolia 502 | ::ne-surf Montenegro ::ne-type country ::wiki Montenegro 503 | ::ne-surf Namibia ::ne-type country ::wiki Namibia 504 | ::ne-surf Nauru ::ne-type country ::wiki Nauru 505 | ::ne-surf Palau ::ne-type country ::wiki Palau 506 | ::ne-surf Papua New Guinea ::ne-type country ::wiki Papua_New_Guinea 507 | ::ne-surf Paraguay ::ne-type country ::wiki Paraguay 508 | ::ne-surf Rwanda ::ne-type country ::wiki Rwanda 509 | ::ne-surf Saint Kitts and Nevis ::ne-type country ::wiki Saint_Kitts_and_Nevis 510 | ::ne-surf Saint Lucia ::ne-type country ::wiki Saint_Lucia 511 | ::ne-surf Saint Vincent and the Grenadines ::ne-type country ::wiki Saint_Vincent_and_the_Grenadines 512 | ::ne-surf Samoa ::ne-type country ::wiki Samoa 513 | ::ne-surf San Marino ::ne-type country ::wiki San_Marino 514 | ::ne-surf Sao Tome and Principe ::ne-type country ::wiki S%C3%A3o_Tom%C3%A9_and_Pr%C3%ADncipe 515 | ::ne-surf São Tomé and Príncipe ::ne-type country ::wiki S%C3%A3o_Tom%C3%A9_and_Pr%C3%ADncipe 516 | ::ne-surf Seychelles ::ne-type country ::wiki Seychelles 517 | ::ne-surf Sierra Leone ::ne-type country ::wiki Sierra_Leone 518 | ::ne-surf Solomon Islands ::ne-type country ::wiki Solomon_Islands 519 | ::ne-surf Swaziland ::ne-type country ::wiki Swaziland 520 | ::ne-surf Togo ::ne-type country ::wiki Togo 521 | ::ne-surf Tonga ::ne-type country ::wiki Tonga 522 | ::ne-surf Trinidad and Tobago ::ne-type country ::wiki Trinidad_and_Tobago 523 | ::ne-surf Tuvalu ::ne-type country ::wiki Tuvalu 524 | ::ne-surf Vanuatu ::ne-type country ::wiki Vanuatu 525 | ::ne-surf Vatican ::ne-type country ::wiki Vatican_City 526 | ::ne-surf Vatican City ::ne-type country ::wiki Vatican_City 527 | ::ne-surf Wales ::ne-type country ::wiki Wales 528 | ::ne-surf West Samoa ::ne-type country ::wiki Samoa 529 | ::ne-surf Western Samoa ::ne-type country ::wiki Samoa 530 | ::ne-surf Kurdistan ::ne-type country ::wiki Kurdistan 531 | ::ne-surf Polar Bear ::ne-type country ::wiki Russia 532 | ::ne-surf Roman Empire ::ne-type country ::wiki Roman_Empire 533 | 534 | ::ne-surf English ::ne-type language ::wiki English_language 535 | ::ne-surf Arabic ::ne-type language ::wiki Arabic_language 536 | ::ne-surf Chinese ::ne-type language ::wiki Chinese_language 537 | ::ne-surf French ::ne-type language ::wiki French_language 538 | ::ne-surf Latin ::ne-type language ::wiki Latin 539 | ::ne-surf Mandarin ::ne-type language ::wiki Mandarin_Chinese 540 | ::ne-surf Russian ::ne-type language ::wiki Russian_language 541 | ::ne-surf Italian ::ne-type language ::wiki Italian_language 542 | ::ne-surf Korean ::ne-type language ::wiki Korean_language 543 | ::ne-surf German ::ne-type language ::wiki German_language 544 | ::ne-surf Japanese ::ne-type language ::wiki Japanese_language 545 | ::ne-surf Swedish ::ne-type language ::wiki Swedish_language 546 | ::ne-surf Spanish ::ne-type language ::wiki Spanish_language 547 | ::ne-surf NZ ::ne-type country ::wiki New_Zealand 548 | # event list 549 | ::ne-surf Cold War ::ne-type war ::wiki Cold_War 550 | ::ne-surf World War II ::ne-type war ::wiki World_War_II 551 | ::ne-surf Iraq War ::ne-type war ::wiki Iraq_War 552 | ::ne-surf Vietnam War ::ne-type war ::wiki Vietnam_War 553 | ::ne-surf World War I ::ne-type war ::wiki World_War_I 554 | ::ne-surf World War II ::ne-type war ::wiki World_War_II 555 | ::ne-surf Korean World ::ne-type war ::wiki Korean_War 556 | 557 | ::ne-surf World Cup ::ne-type game ::wiki FIFA_World_Cup 558 | ::ne-surf Asian Cup ::ne-type game ::wiki AFC_Asian_Cup 559 | ::ne-surf US Open ::ne-type game ::wiki US_Open_(tennis) 560 | ::ne-surf Olympics ::ne-type game ::wiki Olympic_Games 561 | ::ne-surf Super Bowl ::ne-type game ::wiki Super_Bowl 562 | 563 | ::ne-surf Christmas ::ne-type festival ::wiki Christmas 564 | ::ne-surf Easter ::ne-type festival ::wiki Easter 565 | ::ne-surf Halloween ::ne-type festival ::wiki Halloween 566 | ::ne-surf Thanksgiving ::ne-type festival ::wiki Thanksgiving 567 | ::ne-surf Yom Kippur ::ne-type festival ::wiki Yom_Kippur 568 | ::ne-surf Eid al-Fitr ::ne-type festival ::wiki Eid_al-Fitr 569 | ::ne-surf Eeyore's Birthday Party ::ne-type festival ::wiki Eeyore's_Birthday_Party 570 | 571 | # facility list 572 | ::ne-surf Yasukuni Shrine ::ne-type worship-place ::wiki Yasukuni_Shrine 573 | ::ne-surf Yongbyon ::ne-type facility ::wiki Yongbyon_Nuclear_Scientific_Research_Center 574 | ::ne-surf Finsbury Park Mosque ::ne-type worship-place ::wiki North_London_Central_Mosque 575 | ::ne-surf Baikonur Space Center ::ne-type facility ::wiki Baikonur_Cosmodrome 576 | 577 | # ethnic/religious group list 578 | ::ne-surf Islam ::ne-type religious-group ::wiki Islam 579 | ::ne-surf Arab ::ne-type ethnic-group ::wiki Arabs 580 | ::ne-surf Kurd ::ne-type ethnic-group ::wiki Kurds 581 | ::ne-surf Islamism ::ne-type religious-group ::wiki Islam 582 | ::ne-surf Muslim ::ne-type religious-group ::wiki Muslim 583 | ::ne-surf Hmong ::ne-type ethnic-group ::wiki Hmong_people 584 | ::ne-surf Shiite ::ne-type religious-group ::wiki Shia_Islam 585 | ::ne-surf Hinduism ::ne-type religious-group ::wiki Hindu 586 | ::ne-surf Christian ::ne-type religious-group ::wiki Christian 587 | ::ne-surf Sunni ::ne-type religious-group ::wiki Sunni_Islam 588 | ::ne-surf Christianity ::ne-type religious-group ::wiki Christian 589 | ::ne-surf Catholic ::ne-type religious-group ::wiki Catholicism 590 | ::ne-surf Catholicism ::ne-type religious-group ::wiki Catholicism 591 | ::ne-surf Copt ::ne-type ethnic-group ::wiki Copts 592 | ::ne-surf Hindu ::ne-type religious-group ::wiki Hindu 593 | ::ne-surf Islamic ::ne-type religious-group ::wiki Islam 594 | ::ne-surf Jew ::ne-type religious-group ::wiki Jews 595 | ::ne-surf Mormon ::ne-type religious-group ::wiki Mormons 596 | ::ne-surf Salafism ::ne-type religious-group ::wiki Salafi_movement 597 | ::ne-surf Shiite ::ne-type religious-group ::wiki Shia_Islam 598 | ::ne-surf Sunni Islam ::ne-type religious-group ::wiki Sunni_Islam 599 | ::ne-surf Wahhabi ::ne-type religious-group ::wiki Wahhabi_movement 600 | ::ne-surf Salafist ::ne-type religious-group ::wiki Salafi_movement 601 | ::ne-surf Lutheran ::ne-type religious-group ::wiki Lutheranism 602 | ::ne-surf Buddhist ::ne-type religious-group ::wiki Buddhism 603 | ::ne-surf Sikh ::ne-type religious-group ::wiki Sikh 604 | ::ne-surf Shintoist ::ne-type religious-group ::wiki Shinto 605 | ::ne-surf Taoist ::ne-type religious-group ::wiki Taoism 606 | ::ne-surf Confucian ::ne-type religious-group ::wiki Confucianism 607 | ::ne-surf Druze ::ne-type religious-group ::wiki Druze 608 | ::ne-surf Baptist ::ne-type religious-group ::wiki Baptists 609 | ::ne-surf Methodist ::ne-type religious-group ::wiki Methodism 610 | ::ne-surf Orthodox Christian ::ne-type religious-group ::wiki Orthodox_Christianity 611 | ::ne-surf Anglican ::ne-type religious-group ::wiki Anglicanism 612 | ::ne-surf Protestant ::ne-type religious-group ::wiki Protestantism 613 | ::ne-surf Calvinist ::ne-type religious-group ::wiki Calvinism 614 | ::ne-surf Pentacostal ::ne-type religious-group ::wiki Pentecostalism 615 | ::ne-surf Pentecostal ::ne-type religious-group ::wiki Pentecostalism 616 | # military list 617 | ::ne-surf NATO ::ne-type military ::wiki NATO 618 | ::ne-surf North Atlantic Treaty Organization ::ne-type military ::wiki NATO 619 | ::ne-surf Warsaw Pact ::ne-type military ::wiki Warsaw_Pact 620 | ::ne-surf International Security Assistance Force ::ne-type military ::wiki International_Security_Assistance_Force 621 | ::ne-surf Russian Space Forces ::ne-type military ::wiki Russian_Space_Forces 622 | ::ne-surf Coast Guard ::ne-type military ::wiki United_States_Coast_Guard 623 | ::ne-surf Indian Navy ::ne-type military ::wiki Indian_Navy 624 | ::ne-surf People's Liberation Army ::ne-type military ::wiki People's_Liberation_Army 625 | ::ne-surf Indian Air Force ::ne-type military ::wiki Indian_Air_Force 626 | ::ne-surf Marines ::ne-type military ::wiki United_States_Marine_Corps 627 | ::ne-surf United States Air Force ::ne-type military ::wiki United_States_Air_Force 628 | ::ne-surf United States Military ::ne-type military ::wiki United_States_Armed_Forces 629 | ::ne-surf Al-Qassam Brigades ::ne-type military ::wiki Izz_ad-Din_al-Qassam_Brigades 630 | ::ne-surf U.S. Army ::ne-type military ::wiki United_States_Army 631 | ::ne-surf US Army ::ne-type military ::wiki United_States_Army 632 | ::ne-surf United States Army ::ne-type military ::wiki United_States_Army 633 | ::ne-surf US Marines ::ne-type military ::wiki United_States_Marine_Corps 634 | ::ne-surf United States Marines ::ne-type military ::wiki United_States_Marine_Corps 635 | ::ne-surf US Air Force ::ne-type military ::wiki United_States_Air_Force 636 | ::ne-surf US Coast Guard ::ne-type military ::wiki United_States_Coast_Guard 637 | ::ne-surf US Navy ::ne-type military ::wiki United_States_Navy 638 | ::ne-surf United States Navy ::ne-type military ::wiki United_States_Navy 639 | ::ne-surf United States Coast Guard ::ne-type military ::wiki United_States_Coast_Guard 640 | ::ne-surf United States Armed Forces ::ne-type military ::wiki United_States_Armed_Forces 641 | ::ne-surf US Military ::ne-type military ::wiki United_States_Armed_Forces 642 | # misc geo list 643 | ::ne-surf Earth ::ne-type planet ::wiki Earth 644 | ::ne-surf Jupiter ::ne-type planet ::wiki Jupiter 645 | ::ne-surf Mars ::ne-type planet ::wiki Mars 646 | ::ne-surf Venus ::ne-type planet ::wiki Venus 647 | ::ne-surf Saturn ::ne-type planet ::wiki Saturn 648 | ::ne-surf Mercury ::ne-type planet ::wiki Mercury_(planet) 649 | ::ne-surf Uranus ::ne-type planet ::wiki Uranus 650 | ::ne-surf Neptune ::ne-type planet ::wiki Neptune 651 | 652 | ::ne-surf Yongbyon ::ne-type county ::wiki Nyongbyon_County 653 | ::ne-surf Los Angeles County ::ne-type county ::wiki Los_Angeles_County,_California 654 | 655 | ::ne-surf Senkaku Islands ::ne-type island ::wiki Senkaku_Islands 656 | ::ne-surf Diaoyu Islands ::ne-type island ::wiki Senkaku_Islands 657 | ::ne-surf Diaoyu ::ne-type island ::wiki Senkaku_Islands 658 | ::ne-surf Bali ::ne-type island ::wiki Bali 659 | ::ne-surf Easter Island ::ne-type island ::wiki Easter_Island 660 | ::ne-surf Mindanao ::ne-type island ::wiki Mindanao 661 | ::ne-surf Nias ::ne-type island ::wiki Nias 662 | ::ne-surf Nias island ::ne-type island ::wiki Nias 663 | ::ne-surf Sumatra Island ::ne-type island ::wiki Sumatra 664 | ::ne-surf Ireland ::ne-type island ::wiki Ireland 665 | ::ne-surf Sumatra ::ne-type island ::wiki Sumatra 666 | ::ne-surf Helgoland ::ne-type island ::wiki Heligoland 667 | ::ne-surf Heligoland ::ne-type island ::wiki Heligoland 668 | ::ne-surf Oahu ::ne-type island ::wiki Oahu 669 | ::ne-surf O'ahu ::ne-type island ::wiki Oahu 670 | ::ne-surf Maui ::ne-type island ::wiki Maui 671 | 672 | ::ne-surf Indian Ocean ::ne-type ocean ::wiki Indian_Ocean 673 | ::ne-surf Pacific Ocean ::ne-type ocean ::wiki Pacific_Ocean 674 | ::ne-surf Pacific ::ne-type ocean ::wiki Pacific_Ocean 675 | ::ne-surf Atlantic Ocean ::ne-type ocean ::wiki Atlantic_Ocean 676 | ::ne-surf Atlantic ::ne-type ocean ::wiki Atlantic_Ocean 677 | 678 | ::ne-surf Caspian Sea ::ne-type sea ::wiki Caspian_Sea 679 | ::ne-surf Mediterranean ::ne-type sea ::wiki Mediterranean_Sea 680 | ::ne-surf Baltic ::ne-type sea ::wiki Baltic_Sea 681 | ::ne-surf Barents Sea ::ne-type sea ::wiki Barents_Sea 682 | ::ne-surf Black Sea ::ne-type sea ::wiki Black_Sea 683 | ::ne-surf East China Sea ::ne-type sea ::wiki East_China_Sea 684 | ::ne-surf Mediterranean Sea ::ne-type sea ::wiki Mediterranean_Sea 685 | ::ne-surf Sea of Japan ::ne-type sea ::wiki Sea_of_Japan 686 | ::ne-surf Sea of Okhotsk ::ne-type sea ::wiki Sea_of_Okhotsk 687 | ::ne-surf Yellow Sea ::ne-type sea ::wiki Yellow_Sea 688 | ::ne-surf North Sea ::ne-type sea ::wiki North_Sea 689 | 690 | ::ne-surf Pennsylvania Ave ::ne-type road ::wiki Pennsylvania_Avenue_(Washington,_D.C.) ::context Washington,_D.C. 691 | ::ne-surf Downing Street ::ne-type road ::wiki Downing_Street ::context London 692 | 693 | ::ne-surf Kamchatka Peninsula ::ne-type peninsula ::wiki Kamchatka_Peninsula 694 | ::ne-surf Kamchatka ::ne-type peninsula ::wiki Kamchatka_Peninsula 695 | ::ne-surf Korean Peninsula ::ne-type peninsula ::wiki Korean_Peninsula 696 | ::ne-surf Korea ::ne-type peninsula ::wiki Korean_Peninsula 697 | ::ne-surf Jiaodong Peninsula ::ne-type peninsula ::wiki Shandong_Peninsula 698 | ::ne-surf Shandong Peninsula ::ne-type peninsula ::wiki Shandong_Peninsula 699 | ::ne-surf Liaodong Peninsula ::ne-type peninsula ::wiki Liaodong_Peninsula 700 | ::ne-surf Crimean Peninsula ::ne-type peninsula ::wiki Crimea 701 | ::ne-surf Crimea ::ne-type peninsula ::wiki Crimea 702 | 703 | # organization list 704 | ::ne-surf UN ::ne-type organization ::wiki United_Nations 705 | ::ne-surf IAEA ::ne-type organization ::wiki International_Atomic_Energy_Agency 706 | ::ne-surf European Union ::ne-type organization ::wiki European_Union 707 | ::ne-surf EU ::ne-type organization ::wiki European_Union 708 | ::ne-surf United Nations ::ne-type organization ::wiki United_Nations 709 | ::ne-surf Taliban ::ne-type criminal-organization ::wiki Taliban 710 | ::ne-surf International Atomic Energy Agency ::ne-type organization ::wiki International_Atomic_Energy_Agency 711 | ::ne-surf Amnesty International ::ne-type organization ::wiki Amnesty_International 712 | ::ne-surf ASEAN ::ne-type organization ::wiki Association_of_Southeast_Asian_Nations 713 | ::ne-surf Security Council ::ne-type organization ::wiki United_Nations_Security_Council 714 | ::ne-surf UN Security Council ::ne-type organization ::wiki United_Nations_Security_Council 715 | ::ne-surf OSCE ::ne-type organization ::wiki Organization_for_Security_and_Co-operation_in_Europe 716 | ::ne-surf United Nations Security Council ::ne-type organization ::wiki United_Nations_Security_Council 717 | ::ne-surf Congress ::ne-type government-organization ::wiki United_States_Congress ::context United_States 718 | ::ne-surf Interpol ::ne-type organization ::wiki Interpol 719 | ::ne-surf SCO ::ne-type organization ::wiki Shanghai_Cooperation_Organisation 720 | ::ne-surf European Commission ::ne-type organization ::wiki European_Commission 721 | ::ne-surf Greenpeace ::ne-type organization ::wiki Greenpeace 722 | ::ne-surf People's Mujahedeen ::ne-type organization ::wiki People's_Mujahedin_of_Iran 723 | ::ne-surf People's Mujahedin ::ne-type organization ::wiki People's_Mujahedin_of_Iran 724 | ::ne-surf United States Senate ::ne-type government-organization ::wiki United_States_Senate 725 | ::ne-surf U.S. Senate ::ne-type government-organization ::wiki United_States_Senate 726 | ::ne-surf US Senate ::ne-type government-organization ::wiki United_States_Senate 727 | ::ne-surf U.N. ::ne-type organization ::wiki United_Nations 728 | ::ne-surf al-Qaida ::ne-type criminal-organization ::wiki Al-Qaeda 729 | ::ne-surf Association of Southeast Asian Nations ::ne-type organization ::wiki Association_of_Southeast_Asian_Nations 730 | ::ne-surf United States Department of State ::ne-type government-organization ::wiki United_States_Department_of_State 731 | ::ne-surf U.S. State Department ::ne-type government-organization ::wiki United_States_Department_of_State 732 | ::ne-surf US State Department ::ne-type government-organization ::wiki United_States_Department_of_State 733 | ::ne-surf Hamas ::ne-type organization ::wiki Hamas 734 | ::ne-surf Kremlin ::ne-type government-organization ::wiki Moscow_Kremlin 735 | ::ne-surf Al-Qaeda ::ne-type criminal-organization ::wiki Al-Qaeda 736 | ::ne-surf al-Qaeda ::ne-type criminal-organization ::wiki Al-Qaeda 737 | ::ne-surf Al Qaeda ::ne-type criminal-organization ::wiki Al-Qaeda 738 | ::ne-surf Al-Qaida ::ne-type criminal-organization ::wiki Al-Qaeda 739 | ::ne-surf Organization for Security and Cooperation in Europe ::ne-type organization ::wiki Organization_for_Security_and_Co-operation_in_Europe 740 | ::ne-surf Anti Narcotics Force ::ne-type government-organization ::wiki Anti-Narcotics_Force 741 | ::ne-surf FARC ::ne-type criminal-organization ::wiki FARC 742 | ::ne-surf Revolutionary Armed Forces of Colombia ::ne-type criminal-organization ::wiki FARC 743 | ::ne-surf Muslim Brotherhood ::ne-type organization ::wiki Muslim_Brotherhood 744 | ::ne-surf U.N. Security Council ::ne-type organization ::wiki United_Nations_Security_Council 745 | ::ne-surf UN General Assembly ::ne-type organization ::wiki United_Nations_General_Assembly 746 | ::ne-surf European Parliament ::ne-type organization ::wiki European_Parliament 747 | ::ne-surf European Space Agency ::ne-type organization ::wiki European_Space_Agency 748 | ::ne-surf FAO ::ne-type organization ::wiki Food_and_Agriculture_Organization 749 | ::ne-surf Shanghai Cooperation Organization ::ne-type organization ::wiki Shanghai_Cooperation_Organisation 750 | ::ne-surf UN Office on Drugs and Crime ::ne-type organization ::wiki United_Nations_Office_on_Drugs_and_Crime 751 | ::ne-surf WHO ::ne-type organization ::wiki World_Health_Organization 752 | ::ne-surf World Health Organization ::ne-type organization ::wiki World_Health_Organization 753 | ::ne-surf European Space Agency ::ne-type government-organization ::wiki European_Space_Agency 754 | ::ne-surf Federal Reserve ::ne-type government-organization ::wiki Federal_Reserve_System ::context United_States 755 | ::ne-surf G-8 ::ne-type organization ::wiki G8 756 | ::ne-surf House ::ne-type government-organization ::wiki United_States_House_of_Representatives ::context United_States 757 | ::ne-surf Kurdistan Workers' Party ::ne-type criminal-organization ::wiki Kurdistan_Workers'_Party 758 | ::ne-surf PKK ::ne-type criminal-organization ::wiki Kurdistan_Workers'_Party 759 | ::ne-surf Pentagon ::ne-type government-organization ::wiki The_Pentagon 760 | ::ne-surf World Bank ::ne-type organization ::wiki World_Bank 761 | ::ne-surf CIA ::ne-type government-organization ::wiki Central_Intelligence_Agency 762 | ::ne-surf FBI ::ne-type government-organization ::wiki Federal_Bureau_of_Investigation 763 | ::ne-surf G8 ::ne-type organization ::wiki G8 764 | ::ne-surf Central Intelligence Agency ::ne-type government-organization ::wiki Central_Intelligence_Agency 765 | ::ne-surf Group of Eight ::ne-type organization ::wiki G8 766 | ::ne-surf National Security Agency ::ne-type government-organization ::wiki National_Security_Agency 767 | ::ne-surf EPA ::ne-type government-organization ::wiki United_States_Environmental_Protection_Agency 768 | ::ne-surf Environmental Protection Agency ::ne-type government-organization ::wiki United_States_Environmental_Protection_Agency 769 | ::ne-surf Food and Agriculture Organization ::ne-type organization ::wiki Food_and_Agriculture_Organization 770 | ::ne-surf Federal Bureau of Investigation ::ne-type government-organization ::wiki Federal_Bureau_of_Investigation 771 | ::ne-surf NSA ::ne-type government-organization ::wiki National_Security_Agency 772 | ::ne-surf Nuclear Suppliers Group ::ne-type organization ::wiki Nuclear_Suppliers_Group 773 | ::ne-surf NSG ::ne-type organization ::wiki Nuclear_Suppliers_Group 774 | ::ne-surf Red Cross ::ne-type organization ::wiki International_Red_Cross_and_Red_Crescent_Movement 775 | ::ne-surf Doctors Without Borders ::ne-type organization ::wiki M%C3%A9decins_Sans_Fronti%C3%A8res 776 | ::ne-surf Médecins Sans Frontières ::ne-type organization ::wiki M%C3%A9decins_Sans_Fronti%C3%A8res 777 | ::ne-surf Medecins Sans Frontieres ::ne-type organization ::wiki M%C3%A9decins_Sans_Fronti%C3%A8res 778 | 779 | ::ne-surf Republican Party ::ne-type political-party ::wiki Republican_Party_(United_States) ::context United_States 780 | ::ne-surf Chinese Communist Party ::ne-type political-party ::wiki Communist_Party_of_China 781 | ::ne-surf Communist Party of China ::ne-type political-party ::wiki Communist_Party_of_China 782 | ::ne-surf GOP ::ne-type political-party ::wiki Republican_Party_(United_States) 783 | ::ne-surf Republican ::ne-type political-party ::wiki Republican_Party_(United_States) ::context United_States 784 | ::ne-surf Sandinista ::ne-type political-party ::wiki Sandinista_National_Liberation_Front 785 | ::ne-surf Democratic Party ::ne-type political-party ::wiki Democratic_Party_(United_States) ::context United_States 786 | ::ne-surf Awami League ::ne-type political-party ::wiki Bangladesh_Awami_League 787 | ::ne-surf Conservative Party ::ne-type political-party ::wiki Conservative_Party_(UK) ::context United_Kingdom 788 | ::ne-surf Democrat ::ne-type political-party ::wiki Democratic_Party_(United_States) ::context United_States 789 | ::ne-surf Labour Party ::ne-type political-party ::wiki Labour_Party_(UK) ::context United_Kingdom 790 | ::ne-surf Hezbollah ::ne-type political-party ::wiki Hezbollah 791 | ::ne-surf Dem ::ne-type political-party ::wiki Democratic_Party_(United_States) ::context United_States 792 | ::ne-surf FSLN ::ne-type political-party ::wiki Sandinista_National_Liberation_Front 793 | 794 | ::ne-surf HKUST ::ne-type university ::wiki Hong_Kong_University_of_Science_and_Technology 795 | ::ne-surf University of California ::ne-type university ::wiki University_of_California 796 | ::ne-surf Harvard University ::ne-type university ::wiki Harvard_University 797 | ::ne-surf Harvard ::ne-type university ::wiki Harvard_University 798 | ::ne-surf University of Southern California ::ne-type university ::wiki University_of_Southern_California 799 | 800 | ::ne-surf State Scientific Center of Applied Microbiology ::ne-type research-institute ::wiki - 801 | ::ne-surf International Institute for Strategic Studies ::ne-type research-institute ::wiki International_Institute_for_Strategic_Studies 802 | ::ne-surf ISI ::ne-type research-institute ::wiki Information_Sciences_Institute 803 | ::ne-surf Information Sciences Institute ::ne-type research-institute ::wiki Information_Sciences_Institute 804 | # person list 805 | ::ne-surf Wen ::ne-type person ::wiki Wen_Jiabao 806 | ::ne-surf Obama ::ne-type person ::wiki Barack_Obama 807 | ::ne-surf Chavez ::ne-type person ::wiki Hugo_Ch%C3%A1vez 808 | ::ne-surf Sarkozy ::ne-type person ::wiki Nicolas_Sarkozy 809 | ::ne-surf Peng Li ::ne-type person ::wiki Li_Peng 810 | ::ne-surf Li Peng ::ne-type person ::wiki Li_Peng 811 | ::ne-surf ElBaradei ::ne-type person ::wiki Mohamed_ElBaradei 812 | ::ne-surf Kim Myong-Chol ::ne-type person ::wiki Kim_Myong-chol 813 | ::ne-surf Ichiro Ozawa ::ne-type person ::wiki Ichir%C5%8D_Ozawa 814 | ::ne-surf Dmitry Medvedev ::ne-type person ::wiki Dmitry_Medvedev 815 | ::ne-surf Vladimir Putin ::ne-type person ::wiki Vladimir_Putin 816 | ::ne-surf Putin ::ne-type person ::wiki Vladimir_Putin 817 | ::ne-surf Mao Zedong ::ne-type person ::wiki Mao_Zedong 818 | ::ne-surf Kadhafi ::ne-type person ::wiki Muammar_Gaddafi 819 | ::ne-surf Saddam ::ne-type person ::wiki Saddam_Hussein 820 | ::ne-surf Gerhard Schroeder ::ne-type person ::wiki Gerhard_Schr%C3%B6der 821 | ::ne-surf Tony Blair ::ne-type person ::wiki Tony_Blair 822 | ::ne-surf Chirac ::ne-type person ::wiki Jacques_Chirac 823 | ::ne-surf Hans Blix ::ne-type person ::wiki Hans_Blix 824 | ::ne-surf Zawahiri ::ne-type person ::wiki Ayman_al-Zawahiri 825 | ::ne-surf Ahmadinejad ::ne-type person ::wiki Mahmoud_Ahmadinejad 826 | ::ne-surf Koizumi ::ne-type person ::wiki Junichiro_Koizumi 827 | ::ne-surf Michele Alliot-Marie ::ne-type person ::wiki Mich%C3%A8le_Alliot-Marie 828 | ::ne-surf Roh Moo-hyun ::ne-type person ::wiki Roh_Moo-hyun 829 | ::ne-surf Francisco Santos ::ne-type person ::wiki Francisco_Santos_Calder%C3%B3n 830 | ::ne-surf Blair ::ne-type person ::wiki Tony_Blair 831 | ::ne-surf Javier Solana ::ne-type person ::wiki Javier_Solana 832 | ::ne-surf Joseph Wu ::ne-type person ::wiki Joseph_Wu 833 | ::ne-surf Mohammed ElBaradei ::ne-type person ::wiki Mohamed_ElBaradei 834 | ::ne-surf Nicolas Sarkozy ::ne-type person ::wiki Nicolas_Sarkozy 835 | ::ne-surf Osama bin Laden ::ne-type person ::wiki Osama_bin_Laden 836 | ::ne-surf Pervez Musharraf ::ne-type person ::wiki Pervez_Musharraf 837 | ::ne-surf Romney ::ne-type person ::wiki Mitt_Romney 838 | ::ne-surf Ron Paul ::ne-type person ::wiki Ron_Paul 839 | ::ne-surf Schroeder ::ne-type person ::wiki Gerhard_Schr%C3%B6der 840 | ::ne-surf George W. Bush ::ne-type person ::wiki George_W._Bush 841 | ::ne-surf Jiang Yu ::ne-type person ::wiki Jiang_Yu 842 | ::ne-surf Medvedev ::ne-type person ::wiki Dmitry_Medvedev 843 | ::ne-surf Mohamed ElBaradei ::ne-type person ::wiki Mohamed_ElBaradei 844 | ::ne-surf Palin ::ne-type person ::wiki Sarah_Palin 845 | ::ne-surf Saddam Hussein ::ne-type person ::wiki Saddam_Hussein 846 | ::ne-surf Shivraj Patil ::ne-type person ::wiki Shivraj_Patil 847 | ::ne-surf Hamid Karzai ::ne-type person ::wiki Hamid_Karzai 848 | ::ne-surf Musharraf ::ne-type person ::wiki Pervez_Musharraf 849 | ::ne-surf Sergei Lavrov ::ne-type person ::wiki Sergey_Lavrov 850 | ::ne-surf Thabo Mbeki ::ne-type person ::wiki Thabo_Mbeki 851 | ::ne-surf bin Laden ::ne-type person ::wiki Osama_bin_Laden 852 | ::ne-surf Abdullah II ::ne-type person ::wiki Abdullah_II_of_Jordan 853 | ::ne-surf Barack Obama ::ne-type person ::wiki Barack_Obama 854 | ::ne-surf Ingo Kober ::ne-type person ::wiki Ingo_Kober 855 | ::ne-surf McCain ::ne-type person ::wiki John_McCain 856 | ::ne-surf Santorum ::ne-type person ::wiki Rick_Santorum 857 | ::ne-surf Sergei Ivanov ::ne-type person ::wiki Sergei_Ivanov 858 | ::ne-surf Dalai Lama ::ne-type person ::wiki Dalai_Lama 859 | ::ne-surf David Miliband ::ne-type person ::wiki David_Miliband 860 | ::ne-surf Frank-Walter Steinmeier ::ne-type person ::wiki Frank-Walter_Steinmeier 861 | ::ne-surf Jacques Chirac ::ne-type person ::wiki Jacques_Chirac 862 | ::ne-surf Mahmoud Ahmadinejad ::ne-type person ::wiki Mahmoud_Ahmadinejad 863 | ::ne-surf Pelosi ::ne-type person ::wiki Nancy_Pelosi 864 | ::ne-surf Angela Merkel ::ne-type person ::wiki Angela_Merkel 865 | ::ne-surf Dominique de Villepin ::ne-type person ::wiki Dominique_de_Villepin 866 | ::ne-surf Junichiro Koizumi ::ne-type person ::wiki Junichiro_Koizumi 867 | ::ne-surf Kim Jong-Il ::ne-type person ::wiki Kim_Jong-il 868 | ::ne-surf Moamer Kadhafi ::ne-type person ::wiki Muammar_Gaddafi 869 | ::ne-surf Wen Jiabao ::ne-type person ::wiki Wen_Jiabao 870 | ::ne-surf Ayman al-Zawahiri ::ne-type person ::wiki Ayman_al-Zawahiri 871 | ::ne-surf Hugo Chavez ::ne-type person ::wiki Hugo_Ch%C3%A1vez 872 | ::ne-surf Muammar Kadhafi ::ne-type person ::wiki Muammar_Gaddafi 873 | ::ne-surf Mitt Romney ::ne-type person ::wiki Mitt_Romney 874 | ::ne-surf Nancy Pelosi ::ne-type person ::wiki Nancy_Pelosi 875 | ::ne-surf Sarah Palin ::ne-type person ::wiki Sarah_Palin 876 | ::ne-surf John McCain ::ne-type person ::wiki John_McCain 877 | ::ne-surf Rick Santorum ::ne-type person ::wiki Rick_Santorum 878 | ::ne-surf al-Zawahiri ::ne-type person ::wiki Ayman_al-Zawahiri 879 | ::ne-surf George Washington ::ne-type person ::wiki George_Washington 880 | ::ne-surf Abraham Lincoln ::ne-type person ::wiki Abraham_Lincoln 881 | # product list 882 | ::ne-surf Shenzhou ::ne-type spaceship ::wiki Shenzhou_(spacecraft) 883 | ::ne-surf Shenzhou I ::ne-type spaceship ::wiki Shenzhou_1 884 | ::ne-surf Shenzhou II ::ne-type spaceship ::wiki Shenzhou_2 885 | ::ne-surf Shenzhou III ::ne-type spaceship ::wiki Shenzhou_3 886 | ::ne-surf Shenzhou IV ::ne-type spaceship ::wiki Shenzhou_4 887 | ::ne-surf Rafale ::ne-type aircraft-type ::wiki Dassault_Rafale 888 | ::ne-surf F-15 k ::ne-type aircraft-type ::wiki McDonnell_Douglas_F-15E_Strike_Eagle#F-15K 889 | 890 | ::ne-surf EPO ::ne-type product ::wiki Erythropoietin 891 | ::ne-surf Topol-M ::ne-type product ::wiki RT-2UTTKh_Topol-M 892 | ::ne-surf Scorpene ::ne-type product ::wiki Scorp%C3%A8ne-class_submarine 893 | ::ne-surf RS-24 ::ne-type product ::wiki RS-24_Yars 894 | ::ne-surf Soyuz ::ne-type product ::wiki Soyuz_(rocket) 895 | # province/state list 896 | ::ne-surf Helmand ::ne-type province ::wiki Helmand_Province 897 | ::ne-surf Liaoning ::ne-type province ::wiki Liaoning 898 | ::ne-surf Papua ::ne-type province ::wiki Papua_(province) 899 | ::ne-surf Tibet ::ne-type province ::wiki Tibet 900 | ::ne-surf Baluchistan ::ne-type province ::wiki Balochistan,_Pakistan 901 | ::ne-surf Aceh ::ne-type province ::wiki Aceh 902 | ::ne-surf Kandahar ::ne-type province ::wiki Kandahar_Province 903 | ::ne-surf Qom Province ::ne-type province ::wiki Qom_Province 904 | ::ne-surf Qom ::ne-type province ::wiki Qom_Province 905 | ::ne-surf Sistan-Baluchestan ::ne-type province ::wiki Sistan_and_Baluchestan_Province 906 | ::ne-surf Sistan-Baluchestan Province ::ne-type province ::wiki Sistan_and_Baluchestan_Province 907 | ::ne-surf Son La ::ne-type province ::wiki S%C6%A1n_La_Province 908 | ::ne-surf West Papua ::ne-type province ::wiki West_Papua_(province) 909 | ::ne-surf Bali ::ne-type province ::wiki Bali 910 | ::ne-surf Guangdong ::ne-type province ::wiki Guangdong 911 | ::ne-surf Sichuan ::ne-type province ::wiki Sichuan 912 | ::ne-surf Chechnya ::ne-type province ::wiki Chechnya 913 | ::ne-surf Fujian ::ne-type province ::wiki Fujian 914 | ::ne-surf Gansu ::ne-type province ::wiki Gansu 915 | ::ne-surf Herat ::ne-type province ::wiki Herat_Province 916 | ::ne-surf Balochistan ::ne-type province ::wiki Balochistan,_Pakistan 917 | ::ne-surf Jiangsu ::ne-type province ::wiki Jiangsu 918 | ::ne-surf Hubei ::ne-type province ::wiki Hubei 919 | ::ne-surf Inner Mongolia ::ne-type province ::wiki Inner_Mongolia 920 | 921 | ::ne-surf California ::ne-type state ::wiki California 922 | ::ne-surf Calif. ::ne-type state ::wiki California 923 | ::ne-surf Massachusetts ::ne-type state ::wiki Massachusetts 924 | ::ne-surf Mass. ::ne-type state ::wiki Massachusetts 925 | ::ne-surf Minnesota ::ne-type state ::wiki Minnesota 926 | ::ne-surf Florida ::ne-type state ::wiki Florida 927 | ::ne-surf Hawaii ::ne-type state ::wiki Hawaii 928 | ::ne-surf NY ::ne-type state ::wiki New_York 929 | ::ne-surf CA ::ne-type state ::wiki California 930 | ::ne-surf Hesse ::ne-type state ::wiki Hesse 931 | ::ne-surf NC ::ne-type state ::wiki North_Carolina 932 | ::ne-surf Ohio ::ne-type state ::wiki Ohio 933 | ::ne-surf Pennsylvania ::ne-type state ::wiki Pennsylvania 934 | ::ne-surf Virginia ::ne-type state ::wiki Virginia 935 | ::ne-surf Alaska ::ne-type state ::wiki Alaska 936 | ::ne-surf Arizona ::ne-type state ::wiki Arizona 937 | ::ne-surf Georgia ::ne-type state ::wiki Georgia_(U.S._state) 938 | ::ne-surf Illinois ::ne-type state ::wiki Illinois 939 | ::ne-surf Indiana ::ne-type state ::wiki Indiana 940 | ::ne-surf Iowa ::ne-type state ::wiki Iowa 941 | ::ne-surf Jammu-Kashmir ::ne-type state ::wiki Jammu_and_Kashmir 942 | ::ne-surf Jammu and Kashmir ::ne-type state ::wiki Jammu_and_Kashmir 943 | ::ne-surf Kansas ::ne-type state ::wiki Kansas 944 | ::ne-surf Kentucky ::ne-type state ::wiki Kentucky 945 | ::ne-surf MI ::ne-type state ::wiki Michigan 946 | ::ne-surf Maine ::ne-type state ::wiki Maine 947 | ::ne-surf Maryland ::ne-type state ::wiki Maryland 948 | ::ne-surf Missouri ::ne-type state ::wiki Missouri 949 | ::ne-surf New South Wales ::ne-type state ::wiki New_South_Wales 950 | ::ne-surf New York ::ne-type state ::wiki New_York 951 | ::ne-surf North Dakota ::ne-type state ::wiki North_Dakota 952 | ::ne-surf Texas ::ne-type state ::wiki Texas 953 | ::ne-surf Victoria ::ne-type state ::wiki Victoria_(Australia) 954 | ::ne-surf Wisconsin ::ne-type state ::wiki Wisconsin 955 | ::ne-surf Rio de Janeiro ::ne-type state ::wiki Rio_de_Janeiro_(state) 956 | ::ne-surf North Carolina ::ne-type state ::wiki North_Carolina 957 | ::ne-surf Michigan ::ne-type state ::wiki Michigan 958 | ::ne-surf Bavaria ::ne-type state ::wiki Bavaria 959 | ::ne-surf South Carolina ::ne-type state ::wiki South_Carolina 960 | ::ne-surf South Dakota ::ne-type state ::wiki South_Dakota 961 | ::ne-surf Oregon ::ne-type state ::wiki Oregon 962 | ::ne-surf Vermont ::ne-type state ::wiki Vermont 963 | ::ne-surf Utah ::ne-type state ::wiki Utah 964 | ::ne-surf Colorado ::ne-type state ::wiki Colorado 965 | ::ne-surf Wyoming ::ne-type state ::wiki Wyoming 966 | ::ne-surf Montana ::ne-type state ::wiki Montana 967 | ::ne-surf Idaho ::ne-type state ::wiki Idaho 968 | ::ne-surf New Hampshire ::ne-type state ::wiki New_Hampshire 969 | ::ne-surf New Mexico ::ne-type state ::wiki New_Mexico 970 | ::ne-surf Arkansas ::ne-type state ::wiki Arkansas 971 | ::ne-surf Oklahoma ::ne-type state ::wiki Oklahoma 972 | ::ne-surf Louisiana ::ne-type state ::wiki Louisiana 973 | ::ne-surf Mississippi ::ne-type state ::wiki Mississippi 974 | ::ne-surf Alabama ::ne-type state ::wiki Alabama 975 | ::ne-surf Delaware ::ne-type state ::wiki Delaware 976 | ::ne-surf Tennessee ::ne-type state ::wiki Tennessee 977 | ::ne-surf Kentucky ::ne-type state ::wiki Kentucky 978 | ::ne-surf Nebraska ::ne-type state ::wiki Nebraska 979 | ::ne-surf Connecticut ::ne-type state ::wiki Connecticut 980 | ::ne-surf Nevada ::ne-type state ::wiki Nevada 981 | ::ne-surf New Jersey ::ne-type state ::wiki New_Jersey 982 | ::ne-surf Rhode Island ::ne-type state ::wiki Rhode_Island 983 | ::ne-surf Washington ::ne-type state ::wiki Washington_(state) 984 | ::ne-surf West Virginia ::ne-type state ::wiki West_Virginia 985 | ::ne-surf North Rhine-Westphalia ::ne-type state ::wiki North_Rhine-Westphalia 986 | ::ne-surf Lower Saxony ::ne-type state ::wiki Lower_Saxony 987 | ::ne-surf Saxony ::ne-type state ::wiki Saxony 988 | ::ne-surf Schleswig-Holstein ::ne-type state ::wiki Schleswig-Holstein 989 | ::ne-surf Saarland ::ne-type state ::wiki Saarland 990 | 991 | 992 | ::ne-surf Gibraltar ::ne-type territory ::wiki Gibraltar 993 | 994 | # region list 995 | ::ne-surf West ::ne-type world-region ::wiki Western_world 996 | ::ne-surf Kashmir ::ne-type world-region ::wiki Kashmir 997 | ::ne-surf Middle East ::ne-type world-region ::wiki Middle_East 998 | ::ne-surf Southeast Asia ::ne-type world-region ::wiki Southeast_Asia 999 | ::ne-surf Latin America ::ne-type world-region ::wiki Latin_America 1000 | ::ne-surf Himalayas ::ne-type world-region ::wiki Himalayas 1001 | ::ne-surf Central Asia ::ne-type world-region ::wiki Central_Asia 1002 | ::ne-surf Golden Triangle ::ne-type world-region ::wiki Golden_Triangle_(Southeast_Asia) 1003 | ::ne-surf North Africa ::ne-type world-region ::wiki North_Africa 1004 | ::ne-surf Central Europe ::ne-type world-region ::wiki Central_Europe 1005 | ::ne-surf Eastern Europe ::ne-type world-region ::wiki Eastern_Europe 1006 | ::ne-surf South Ossetia ::ne-type country-region ::wiki South_Ossetia 1007 | ::ne-surf Asia-Pacific ::ne-type world-region ::wiki Asia-Pacific 1008 | ::ne-surf Asia Pacific ::ne-type world-region ::wiki Asia-Pacific 1009 | ::ne-surf Balkans ::ne-type world-region ::wiki Balkans 1010 | ::ne-surf Siberia ::ne-type country-region ::wiki Siberia 1011 | ::ne-surf South Asia ::ne-type world-region ::wiki South_Asia 1012 | ::ne-surf Baltic ::ne-type world-region ::wiki Baltic_states 1013 | ::ne-surf Korean Peninsula ::ne-type world-region ::wiki Korean_Peninsula 1014 | ::ne-surf West Africa ::ne-type world-region ::wiki West_Africa 1015 | ::ne-surf East Africa ::ne-type world-region ::wiki East_Africa 1016 | ::ne-surf Amazon ::ne-type world-region ::wiki Amazon_basin 1017 | ::ne-surf Balkan ::ne-type world-region ::wiki Balkans 1018 | ::ne-surf Balkans ::ne-type world-region ::wiki Balkans 1019 | ::ne-surf Caucasus ::ne-type world-region ::wiki Caucasus 1020 | ::ne-surf Darfur ::ne-type country-region ::wiki Darfur 1021 | ::ne-surf East Asia ::ne-type world-region ::wiki East_Asia 1022 | ::ne-surf Eastern Asia ::ne-type world-region ::wiki East_Asia 1023 | ::ne-surf Horn of Africa ::ne-type world-region ::wiki Horn_of_Africa 1024 | ::ne-surf Western Europe ::ne-type world-region ::wiki Western_Europe 1025 | ::ne-surf Caribbean ::ne-type world-region ::wiki Caribbean 1026 | ::ne-surf Central Europe ::ne-type world-region ::wiki Central_Europe 1027 | ::ne-surf East Asia ::ne-type world-region ::wiki East_Asia 1028 | ::ne-surf Far East ::ne-type world-region ::wiki Far_East 1029 | ::ne-surf Gaza Strip ::ne-type country-region ::wiki Gaza_Strip 1030 | ::ne-surf Indies ::ne-type world-region ::wiki Indies 1031 | ::ne-surf Maghreb ::ne-type world-region ::wiki Maghreb 1032 | ::ne-surf Mideast ::ne-type world-region ::wiki Middle_East 1033 | ::ne-surf North Pole ::ne-type world-region ::wiki North_Pole 1034 | ::ne-surf Pearl River Delta ::ne-type country-region ::wiki Pearl_River_Delta 1035 | ::ne-surf Sahel ::ne-type world-region ::wiki Sahel 1036 | ::ne-surf Scandinavia ::ne-type world-region ::wiki Scandinavia 1037 | ::ne-surf South East Asia ::ne-type world-region ::wiki Southeast_Asia 1038 | ::ne-surf South Pole ::ne-type world-region ::wiki South_Pole 1039 | ::ne-surf Southern Europe ::ne-type world-region ::wiki Southern_Europe 1040 | ::ne-surf Southwest Asia ::ne-type world-region ::wiki Western_Asia 1041 | ::ne-surf Southwestern Asia ::ne-type world-region ::wiki Western_Asia 1042 | ::ne-surf West Asia ::ne-type world-region ::wiki Western_Asia 1043 | ::ne-surf Western Asia ::ne-type world-region ::wiki Western_Asia 1044 | ::ne-surf Sub-Saharan Africa ::ne-type world-region ::wiki Sub-Saharan_Africa 1045 | ::ne-surf sub-Saharan Africa ::ne-type world-region ::wiki Sub-Saharan_Africa 1046 | ::ne-surf West Bank ::ne-type country-region ::wiki West_Bank 1047 | ::ne-surf Western Hemisphere ::ne-type world-region ::wiki Western_Hemisphere 1048 | ::ne-surf Central Asia ::ne-type world-region ::wiki Central_Asia 1049 | ::ne-surf Midwest ::ne-type country-region ::wiki Midwestern_United_States 1050 | ::ne-surf Baluchistan ::ne-type world-region ::wiki Balochistan 1051 | ::ne-surf Balochistan ::ne-type world-region ::wiki Balochistan 1052 | ::ne-surf Indochina ::ne-type world-region ::wiki Indochina 1053 | ::ne-surf East Indies ::ne-type world-region ::wiki Indies 1054 | ::ne-surf Balkan Peninsula ::ne-type world-region ::wiki Balkans 1055 | ::ne-surf Baltics ::ne-type world-region ::wiki Baltic_states 1056 | ::ne-surf Baltic countries ::ne-type world-region ::wiki Baltic_states 1057 | ::ne-surf Baltic nations ::ne-type world-region ::wiki Baltic_states 1058 | ::ne-surf Central America ::ne-type world-region ::wiki Central_America 1059 | # treaty/law list 1060 | ::ne-surf NPT ::ne-type treaty ::wiki Treaty_on_the_Non-Proliferation_of_Nuclear_Weapons 1061 | ::ne-surf CFE ::ne-type treaty ::wiki Treaty_on_Conventional_Armed_Forces_in_Europe 1062 | ::ne-surf Conventional Forces in Europe Treaty ::ne-type treaty ::wiki Treaty_on_Conventional_Armed_Forces_in_Europe 1063 | ::ne-surf ABM ::ne-type treaty ::wiki Anti-Ballistic_Missile_Treaty 1064 | ::ne-surf Conventional Forces in Europe Treaty ::ne-type treaty ::wiki Treaty_on_Conventional_Armed_Forces_in_Europe 1065 | ::ne-surf Nuclear Nonproliferation Treaty ::ne-type treaty ::wiki Treaty_on_the_Non-Proliferation_of_Nuclear_Weapons 1066 | ::ne-surf CFE Treaty ::ne-type treaty ::wiki Treaty_on_Conventional_Armed_Forces_in_Europe 1067 | ::ne-surf Non-Proliferation Treaty ::ne-type treaty ::wiki Treaty_on_the_Non-Proliferation_of_Nuclear_Weapons 1068 | ::ne-surf Nuclear Non-Proliferation Treaty ::ne-type treaty ::wiki Treaty_on_the_Non-Proliferation_of_Nuclear_Weapons 1069 | ::ne-surf Treaty on Conventional Armed Forces in Europe ::ne-type treaty ::wiki Treaty_on_Conventional_Armed_Forces_in_Europe 1070 | ::ne-surf Treaty on Conventional Forces in Europe ::ne-type treaty ::wiki Treaty_on_Conventional_Armed_Forces_in_Europe 1071 | ::ne-surf Anti-Ballistic Missile Treaty ::ne-type treaty ::wiki Anti-Ballistic_Missile_Treaty 1072 | ::ne-surf Nuclear Non-Proliferation Treaty ::ne-type treaty ::wiki Treaty_on_the_Non-Proliferation_of_Nuclear_Weapons 1073 | ::ne-surf ABM Treaty ::ne-type treaty ::wiki Anti-Ballistic_Missile_Treaty 1074 | ::ne-surf Dayton Accord ::ne-type treaty ::wiki Dayton_Agreement 1075 | ::ne-surf START-II ::ne-type treaty ::wiki START_II 1076 | ::OK_SPECIALIZATION ::gen aircraft-type ::spec jet 1077 | ::OK_SPECIALIZATION ::gen aircraft-type ::spec plane 1078 | ::OK_SPECIALIZATION ::gen city ::spec capital 1079 | ::OK_SPECIALIZATION ::gen company ::spec group 1080 | ::OK_SPECIALIZATION ::gen country ::spec republic 1081 | ::OK_SPECIALIZATION ::gen facility ::spec building 1082 | ::OK_SPECIALIZATION ::gen facility ::spec plant 1083 | ::OK_SPECIALIZATION ::gen facility ::spec reactor 1084 | ::OK_SPECIALIZATION ::gen product ::spec missile 1085 | ::OK_SPECIALIZATION ::gen product ::spec rocket 1086 | ::OK_SPECIALIZATION ::gen product ::spec submarine 1087 | ::OK_SPECIALIZATION ::gen publication ::spec agency 1088 | ::ne-surf Tory ::ne-type political-party ::wiki Conservative_Party_(UK) 1089 | ::ne-surf Tories ::ne-type political-party ::wiki Conservative_Party_(UK) 1090 | -------------------------------------------------------------------------------- /amrreader/test/test_amr_doc/test: -------------------------------------------------------------------------------- 1 | # AMR release (generated on Tue Dec 23, 2014 at 16:52:40) 2 | 3 | # ::id DF-170-181103-888_2097.1 ::date 2013-09-16T07:15:31 ::annotator LDC-AMR-14 ::preferred 4 | # ::snt He can't seem to help himself from apologizing for anything and everything. 5 | # ::save-date Mon Sep 16, 2013 ::file DF-170-181103-888_2097_1.txt 6 | (p / possible :polarity - 7 | :domain (s / seem-01 8 | :ARG1 (h / help-02 9 | :ARG0 (h2 / he) 10 | :ARG1 (a / apologize-01 11 | :ARG0 h2 12 | :ARG1 (a2 / and 13 | :op1 (a3 / anything) 14 | :op2 (e / everything)))))) 15 | 16 | # ::id DF-170-181103-888_2097.2 ::date 2013-09-16T07:19:54 ::annotator LDC-AMR-14 ::preferred 17 | # ::snt Hallmark could make a fortune off of this guy. 18 | # ::save-date Mon Sep 16, 2013 ::file DF-170-181103-888_2097_2.txt 19 | (p / possible 20 | :domain (m / make-05 21 | :ARG0 (c / company :wiki "Hallmark_Cards" 22 | :name (n / name :op1 "Hallmark")) 23 | :ARG1 (f / fortune 24 | :source (g / guy 25 | :mod (t / this))))) 26 | 27 | # ::id DF-170-181103-888_2097.3 ::date 2013-09-16T07:22:01 ::annotator LDC-AMR-14 ::preferred 28 | # ::snt I don't follow, why should he apologize to Palin? 29 | # ::save-date Mon Sep 16, 2013 ::file DF-170-181103-888_2097_3.txt 30 | (a / and 31 | :op1 (f / follow-02 :polarity - 32 | :ARG0 (i / i)) 33 | :op2 (r / recommend-01 34 | :ARG1 (a3 / apologize-01 35 | :ARG0 (h / he) 36 | :ARG2 (p / person :wiki "Sarah_Palin" 37 | :name (n / name :op1 "Sarah" :op2 "Palin"))) 38 | :ARG1-of (c / cause-01 39 | :ARG0 (a2 / amr-unknown)))) 40 | 41 | # ::id DF-170-181103-888_2097.4 ::date 2013-09-16T07:25:37 ::annotator LDC-AMR-14 ::preferred 42 | # ::snt Did Palin apologize to Giffords? 43 | # ::save-date Mon Sep 16, 2013 ::file DF-170-181103-888_2097_4.txt 44 | (a / apologize-01 :mode interrogative 45 | :ARG0 (p / person :wiki "Sarah_Palin" 46 | :name (n / name :op1 "Palin")) 47 | :ARG2 (p2 / person :wiki "Gabrielle_Giffords" 48 | :name (n2 / name :op1 "Giffords"))) 49 | 50 | # ::id DF-170-181103-888_2097.5 ::date 2013-09-16T07:28:10 ::annotator LDC-AMR-14 ::preferred 51 | # ::snt He needs to conduct a beer summit between Palin and NBC. 52 | # ::save-date Fri Jan 24, 2014 ::file DF-170-181103-888_2097_5.txt 53 | (n / need-01 54 | :ARG0 (h / he) 55 | :ARG1 (c / conduct-01 56 | :ARG0 h 57 | :ARG1 (m / meet-03 58 | :ARG0 (p / person :wiki "Sarah_Palin" 59 | :name (n2 / name :op1 "Palin")) 60 | :ARG1 (p2 / publication :wiki "NBC" 61 | :name (n3 / name :op1 "NBC")) 62 | :mod (s / summit 63 | :mod (b / beer))))) 64 | 65 | # ::id DF-170-181103-888_2097.6 ::date 2013-09-16T07:36:43 ::annotator LDC-AMR-14 ::preferred 66 | # ::snt Mend some fences and get this country moving. 67 | # ::save-date Mon Sep 16, 2013 ::file DF-170-181103-888_2097_6.txt 68 | (a / and 69 | :op1 (m / mend-01 70 | :ARG1 (f / fence 71 | :quant (s / some))) 72 | :op2 (g / get-04 73 | :ARG1 (m2 / move-03 74 | :ARG1 (c / country 75 | :mod (t / this))))) 76 | 77 | # ::id DF-170-181103-888_2097.7 ::date 2013-09-16T07:38:54 ::annotator LDC-AMR-14 ::preferred 78 | # ::snt He could call it the APOLOGIES ON BEER tour. 79 | # ::save-date Mon Sep 16, 2013 ::file DF-170-181103-888_2097_7.txt 80 | (p / possible 81 | :domain (c / call-01 82 | :ARG0 (h / he) 83 | :ARG1 (i / it) 84 | :ARG2 (t / tour :wiki - 85 | :name (n / name :op1 "APOLOGIES" :op2 "ON" :op3 "BEER")))) 86 | 87 | # ::id DF-170-181103-888_2097.8 ::date 2013-09-16T07:41:20 ::annotator LDC-AMR-14 ::preferred 88 | # ::snt Hell, sell tickets and hire the Chinese to cater the event. 89 | # ::save-date Mon Sep 16, 2013 ::file DF-170-181103-888_2097_8.txt 90 | (a / and 91 | :op1 (s / sell-01 92 | :ARG1 (t / ticket)) 93 | :op2 (h2 / hire-01 94 | :ARG1 (p / person 95 | :mod (c / publication :wiki "this is test" 96 | :name (n / name :op1 "National" :op2 "Broadcasting" :op3 "Company"))) 97 | :ARG2 (c2 / cater-01 98 | :ARG0 p 99 | :ARG1 (e / event))) 100 | :mod (h / hell)) 101 | -------------------------------------------------------------------------------- /docs/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panx27/amr-reader/d6161066c5b5c77ecf1a0347e70850e2a9814094/docs/example.png --------------------------------------------------------------------------------