app3.ddlog 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. articles(
  2. @key
  3. @distributed_by
  4. id text,
  5. @searchable
  6. content text,
  7. zbdw text,
  8. agency text,
  9. winner text
  10. ).
  11. articles_processed(
  12. @key
  13. id text,
  14. content text
  15. ).
  16. function articles_processed over(
  17. doc_id text,
  18. content text
  19. ) returns rows like articles_processed
  20. implementation "udf/articles_processed.py" handles tsv lines.
  21. articles_processed += articles_processed(doc_id,content):-
  22. articles(doc_id,content,_,_,_).
  23. sentences(
  24. @key
  25. @distributed_by
  26. doc_id text,
  27. @key
  28. sentence_index int,
  29. @searchable
  30. sentence_text text,
  31. tokens text[],
  32. lemmas text[],
  33. pos_tags text[],
  34. ner_tags text[],
  35. doc_offsets int[],
  36. dep_types text[],
  37. dep_tokens int[]
  38. ).
  39. function nlp_markup over (
  40. doc_id text,
  41. content text
  42. ) returns rows like sentences
  43. implementation "udf/nlp_markup_with_foolnltk.py" handles tsv lines.
  44. sentences += nlp_markup(doc_id, content) :-
  45. articles_processed(doc_id, content).
  46. entity_mention(
  47. entity_id text,
  48. entity_text text,
  49. entity_type text,
  50. doc_id text,
  51. sentence_index int,
  52. begin_index int,
  53. end_index int
  54. ).
  55. function map_entity_mention over(
  56. doc_id text,
  57. sentence_index int,
  58. tokens text[],
  59. ner_tags text[]
  60. )returns rows like entity_mention
  61. implementation "udf/map_entity_mention.py" handles tsv lines.
  62. entity_mention += map_entity_mention(
  63. doc_id,sentence_index,tokens,ner_tags):-
  64. sentences(doc_id,sentence_index,_,tokens,_,_,ner_tags,_,_,_).
  65. relation(
  66. @key
  67. @distributed_by
  68. id text,
  69. name text,
  70. step_host int,
  71. type_host text,
  72. step_guest int,
  73. type_guest text
  74. ).
  75. feature_window(
  76. @key
  77. size int
  78. ).
  79. label_guest_BiddingAgency(
  80. entity_id text,
  81. label int,
  82. rule_id text
  83. ).
  84. function supervise_guest_BiddingAgency over(
  85. entity_id text,entity_begin int,entity_end int,
  86. doc_id text,
  87. sentence_index int,
  88. sentence_text text,
  89. tokens text[],
  90. pos_tags text[],
  91. ner_tags text[]
  92. )returns rows like label_guest_BiddingAgency
  93. implementation "/udf/supervise_guest_BiddingAgency.py" handles tsv lines.
  94. label_guest_BiddingAgency += supervise_guest_BiddingAgency(
  95. entity_id,entity_begin,entity_end,doc_id,sentence_index,sentence_text,tokens,pos_tags,ner_tags
  96. ):-
  97. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  98. relation(id,_,_,_,_,guest_type),
  99. id = "BiddingAgency",
  100. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_).
  101. label_guest_Tenderer(
  102. entity_id text,
  103. label int,
  104. rule_id text
  105. ).
  106. function supervice_guest_Tenderer over(
  107. entity_id text,entity_begin int,entity_end int,
  108. doc_id text,
  109. sentence_index int,
  110. sentence_text text,
  111. tokens text[],
  112. pos_tags text[],
  113. ner_tags text[]
  114. )returns rows like label_guest_Tenderer
  115. implementation "udf/supervise_guest_Tenderer.py" handles tsv lines.
  116. label_guest_Tenderer+= supervice_guest_Tenderer(
  117. entity_id,entity_begin,entity_end,
  118. doc_id,
  119. sentence_index,
  120. sentence_text,
  121. tokens,
  122. pos_tags,
  123. ner_tags
  124. ):-
  125. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  126. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  127. relation(id,_,_,_,_,guest_type),
  128. id="Tenderer".
  129. label_guest_SignUpStart(
  130. entity_id text,
  131. label int,
  132. rule_id text
  133. ).
  134. function supervice_guest_SignUpStart over(
  135. entity_id text,entity_begin int,entity_end int,
  136. doc_id text,
  137. sentence_index int,
  138. sentence_text text,
  139. tokens text[],
  140. pos_tags text[],
  141. ner_tags text[]
  142. )returns rows like label_guest_SignUpStart
  143. implementation "udf/supervise_guest_SignUpStart.py" handles tsv lines.
  144. label_guest_SignUpStart+= supervice_guest_SignUpStart(
  145. entity_id,entity_begin,entity_end,
  146. doc_id,
  147. sentence_index,
  148. sentence_text,
  149. tokens,
  150. pos_tags,
  151. ner_tags
  152. ):-
  153. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  154. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  155. relation(id,_,_,_,_,guest_type),
  156. id="SignUpStart".
  157. label_guest_BiddingOT(
  158. entity_id text,
  159. label int,
  160. rule_id text
  161. ).
  162. function supervice_guest_BiddingOT over(
  163. entity_id text,entity_begin int,entity_end int,
  164. doc_id text,
  165. sentence_index int,
  166. sentence_text text,
  167. tokens text[],
  168. pos_tags text[],
  169. ner_tags text[]
  170. )returns rows like label_guest_BiddingOT
  171. implementation "udf/supervise_guest_BiddingOT.py" handles tsv lines.
  172. label_guest_BiddingOT+= supervice_guest_BiddingOT(
  173. entity_id,entity_begin,entity_end,
  174. doc_id,
  175. sentence_index,
  176. sentence_text,
  177. tokens,
  178. pos_tags,
  179. ner_tags
  180. ):-
  181. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  182. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  183. relation(id,_,_,_,_,guest_type),
  184. id="BiddingOT".
  185. label_guest_SignUpEnd(
  186. entity_id text,
  187. label int,
  188. rule_id text
  189. ).
  190. function supervice_guest_SignUpEnd over(
  191. entity_id text,entity_begin int,entity_end int,
  192. doc_id text,
  193. sentence_index int,
  194. sentence_text text,
  195. tokens text[],
  196. pos_tags text[],
  197. ner_tags text[]
  198. )returns rows like label_guest_SignUpEnd
  199. implementation "udf/supervise_guest_SignUpEnd.py" handles tsv lines.
  200. label_guest_SignUpEnd+= supervice_guest_SignUpEnd(
  201. entity_id,entity_begin,entity_end,
  202. doc_id,
  203. sentence_index,
  204. sentence_text,
  205. tokens,
  206. pos_tags,
  207. ner_tags
  208. ):-
  209. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  210. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  211. relation(id,_,_,_,_,guest_type),
  212. id="SignUpEnd".
  213. label_guest_WinnerOfBidding(
  214. entity_id text,
  215. label int,
  216. rule_id text
  217. ).
  218. function supervice_guest_WinnerOfBidding over(
  219. entity_id text,entity_begin int,entity_end int,
  220. doc_id text,
  221. sentence_index int,
  222. sentence_text text,
  223. tokens text[],
  224. pos_tags text[],
  225. ner_tags text[]
  226. )returns rows like label_guest_WinnerOfBidding
  227. implementation "udf/supervise_guest_WinnerOfBidding.py" handles tsv lines.
  228. label_guest_WinnerOfBidding += supervice_guest_WinnerOfBidding(
  229. entity_id,entity_begin,entity_end,
  230. doc_id,
  231. sentence_index,
  232. sentence_text,
  233. tokens,
  234. pos_tags,
  235. ner_tags
  236. ):-
  237. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  238. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  239. relation(id,_,_,_,_,guest_type),
  240. id="WinnerOfBidding".
  241. label_guest_FirstCandidate(
  242. entity_id text,
  243. label int,
  244. rule_id text
  245. ).
  246. function supervice_guest_FirstCandidate over(
  247. entity_id text,entity_begin int,entity_end int,
  248. doc_id text,
  249. sentence_index int,
  250. sentence_text text,
  251. tokens text[],
  252. pos_tags text[],
  253. ner_tags text[]
  254. )returns rows like label_guest_FirstCandidate
  255. implementation "udf/supervise_guest_FirstCandidate.py" handles tsv lines.
  256. label_guest_FirstCandidate += supervice_guest_FirstCandidate(
  257. entity_id,entity_begin,entity_end,
  258. doc_id,
  259. sentence_index,
  260. sentence_text,
  261. tokens,
  262. pos_tags,
  263. ner_tags
  264. ):-
  265. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  266. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  267. relation(id,_,_,_,_,guest_type),
  268. id="FirstCandidate".
  269. label_guest_SecondCandidate(
  270. entity_id text,
  271. label int,
  272. rule_id text
  273. ).
  274. function supervice_guest_SecondCandidate over(
  275. entity_id text,entity_begin int,entity_end int,
  276. doc_id text,
  277. sentence_index int,
  278. sentence_text text,
  279. tokens text[],
  280. pos_tags text[],
  281. ner_tags text[]
  282. )returns rows like label_guest_SecondCandidate
  283. implementation "udf/supervise_guest_SecondCandidate.py" handles tsv lines.
  284. label_guest_SecondCandidate += supervice_guest_SecondCandidate(
  285. entity_id,entity_begin,entity_end,
  286. doc_id,
  287. sentence_index,
  288. sentence_text,
  289. tokens,
  290. pos_tags,
  291. ner_tags
  292. ):-
  293. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  294. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  295. relation(id,_,_,_,_,guest_type),
  296. id="SecondCandidate".
  297. label_guest_ThirdCandidate(
  298. entity_id text,
  299. label int,
  300. rule_id text
  301. ).
  302. function supervice_guest_ThirdCandidate over(
  303. entity_id text,entity_begin int,entity_end int,
  304. doc_id text,
  305. sentence_index int,
  306. sentence_text text,
  307. tokens text[],
  308. pos_tags text[],
  309. ner_tags text[]
  310. )returns rows like label_guest_ThirdCandidate
  311. implementation "udf/supervise_guest_ThirdCandidate.py" handles tsv lines.
  312. label_guest_ThirdCandidate += supervice_guest_ThirdCandidate(
  313. entity_id,entity_begin,entity_end,
  314. doc_id,
  315. sentence_index,
  316. sentence_text,
  317. tokens,
  318. pos_tags,
  319. ner_tags
  320. ):-
  321. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  322. entity_mention(entity_id,_,guest_type,doc_id,sentence_index,entity_begin,entity_end),
  323. relation(id,_,_,_,_,guest_type),
  324. id="ThirdCandidate".
  325. feature_entity(
  326. @key
  327. @references(relation="isBiddingAgency",column="entity_id",alias="isBiddingAgency")
  328. entity_id text,
  329. feature text,
  330. window_size int
  331. ).
  332. function feature_entity over(
  333. entity_id text,
  334. entity_begin int,
  335. entity_end int,
  336. doc_id text,
  337. sentence_index int,
  338. tokens text[],
  339. pos_tags text[],
  340. ner_tags text[],
  341. window_size int
  342. )returns rows like feature_guest_BiddingAgency
  343. implementation "/udf/feature_entity.py" handles tsv lines.
  344. feature_entity += feature_entity(
  345. entity_id,entity_begin,entity_end,doc_id,sentence_index,tokens,pos_tags,ner_tags,window_size
  346. ):-
  347. entity_mention(entity_id,entity_text,_,doc_id,sentence_index,entity_begin,entity_end),
  348. sentences(doc_id,sentence_index,sentence_text,tokens,_,pos_tags,ner_tags,_,_,_),
  349. feature_window(window_size).
  350. @extraction
  351. is_biddingagency?(
  352. @key
  353. @references(relation="entity_mention",column="entity_id",alias="entity_mention")
  354. entity_id text
  355. ).
  356. is_biddingagency(entity_id) = if label>0 then TRUE else if label<0 then FALSE else NULL end:-
  357. label_guest_BiddingAgency(entity_id,label,_).
  358. @weight(f_BiddingAgency)
  359. is_biddingagency(entity_id):-
  360. feature_entity(entity_id,f_BiddingAgency,window),
  361. label_guest_BiddingAgency(entity_id,_,_),
  362. window=10.
  363. @extraction
  364. is_winnerofbidding?(
  365. @key
  366. @references(relation="entity_mention",column="entity_id",alias="entity_mention")
  367. entity_id text
  368. ).
  369. is_winnerofbidding(entity_id) = if label>0 then TRUE else if label<0 then FALSE else NULL end:-
  370. label_guest_WinnerOfBidding(entity_id,label,_).
  371. @weight(f_WinnerOfBidding)
  372. is_winnerofbidding(entity_id):-
  373. feature_entity(entity_id,f_WinnerOfBidding,window),
  374. label_guest_WinnerOfBidding(entity_id,_,_),
  375. window=10.