2016-06-13 9 views
2

FirstToken wurde für eine Referenz nicht gefunden (die am Ende Platz enthält).FirstToken wurde für einige Referenzen nicht gefunden - UIMA RUTA

Script:

DECLARE FirstToken, LastToken; 

BLOCK(InRef) Reference{}{ 
    ANY{POSITION(Reference,1) -> MARK(FirstToken)}; 
    Document{-> MARKLAST(LastToken)}; 
} 

Eingabedateien:

1. Ferreira, F.R., Prado, S.D., Carvalho, M.C, and Kraemer, F.B. (2015). Biopower and biopolitics in the field of food and nutrition. Revista de Nutrição, 28(1), 109-119. Available at http://dx.doi.org/10.1590/1415-52732015000100010. 
2. Ali, S. (2007). Feminism and postcolonialism: Knowledge/politics. Ethnic and Racial Studies, 30(2), 191–212. 
3. Forbes, D.A., King, K.M., Kushner, K.E., Letourneau, N.L., Myrick, A.F., and Profetto-McGrath, J. (1999). Warrantable evidence in nursing science. Journal of Advanced Nursing, 29(2), 373–379. 

Antwort

1

Anmerkungen, die mit etwas unsichtbar beginnen oder enden auch nicht sichtbar. Diese Definition klingt möglicherweise nicht intuitiv, ist aber für den sequenziellen Abgleich erforderlich.

Dies passiert am häufigsten, wenn eine Anmerkung mit einem Leerzeichen endet. Es wird empfohlen, diese Räume aus den Anmerkungen zu entfernen/trimmen, zB mit:

RETAINTYPE(WS); // or RETAINTYPE(SPACE, BREAK,...); 
Reference{-> TRIM(WS)}; 
RETAINTYPE; 

Sie können auch auf Anmerkungen arbeiten, die mit einem Leerzeichen enden, wenn Sie Räume sichtbar machen:

RETAINTYPE(SPACE); 

Daneben Sie können auch die MARKFIRST-Aktion wie die MARKLAST-Aktion anstelle der POSITION-Bedingung verwenden, die extrem langsam ist.

HAFTUNGSAUSSCHLUSS: Ich bin ein Entwickler von UIMA Ruta

+0

Ich versuchte RETAINTYPE (WS); Referenz {-> TRIM (WS)}; RETAINTYPE; Es funktioniert gut. –