private ImmutableSetMultimap<RoleAndID, DocAndHopper> indexArgsToEventHopper(final Symbol docID,
final EREDocument ereDoc, final ImmutableMultiset.Builder<String> allEREEventTypes) {
final ImmutableSetMultimap.Builder<RoleAndID, DocAndHopper> argsToDocEventsB =
ImmutableSetMultimap.builder();
for (final EREEvent ereEvent : ereDoc.getEvents()) {
boolean loggedType = false;
for (final EREEventMention ereEventMention : ereEvent.getEventMentions()) {
for (final EREArgument ereEventArg : ereEventMention.getArguments()) {
if (ereEventArg instanceof EREEntityArgument) {
final Optional<EREEntity> entityFiller = ((EREEntityArgument) ereEventArg).ereEntity();
if (entityFiller.isPresent()) {
final Optional<Symbol> mappedEventType =
ScoringUtils.mapERETypesToDotSeparated(ontologyMapper, ereEventMention);
final Optional<Symbol> mappedEventRole =
ontologyMapper.eventRole(Symbol.from(ereEventArg.getRole()));
if (mappedEventType.isPresent() && mappedEventRole.isPresent()) {
if (!loggedType) {
// we only want to log events which meet the criteria above, but we only
// want to count each document event once
allEREEventTypes.add(mappedEventType.get().asString());
loggedType = true;
}
argsToDocEventsB.put(
RoleAndID.of(
mappedEventType.get().asString(),
mappedEventRole.get().asString(), entityFiller.get().getID()),
DocAndHopper.of(docID.asString(), ereEvent.getID(),
mappedEventType.get().asString()));
}
}
}
}
}
}
return argsToDocEventsB.build();
}
DerivedQuerySelector2016.java 文件源码
java
阅读 46
收藏 0
点赞 0
评论 0
项目:tac-kbp-eal
作者:
评论列表
文章目录