Index: tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/commands/ImportCONNLUAnnotationsFromFile.java
===================================================================
--- tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/commands/ImportCONNLUAnnotationsFromFile.java	(revision 2952)
+++ tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/commands/ImportCONNLUAnnotationsFromFile.java	(revision 2953)
@@ -82,6 +82,9 @@
 	@Option(name = "overwrite_cqp_properties", usage = "if set the CQP properties are replaced", widget = "Boolean", required = true, def = "false")
 	Boolean overwrite_cqp_properties;
 	
+	@Option(name = "normalize_word_ids", usage = "if set the CQP properties are replaced", widget = "Boolean", required = true, def = "false")
+	Boolean normalize_word_ids;
+	
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
@@ -120,7 +123,7 @@
 				return null;
 			}
 			
-			return ImportCONNLUAnnotationsFromDirectory.importAnnotationsFromCoNNLUFile(mainCorpus, connluFile, propertiesPrefix, textId);
+			return ImportCONNLUAnnotationsFromDirectory.importAnnotationsFromCoNNLUFile(mainCorpus, connluFile, propertiesPrefix, textId, normalize_word_ids);
 		}
 		catch (Exception e) {
 			Log.warning(e);
Index: tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/commands/ImportCONNLUAnnotationsFromDirectory.java
===================================================================
--- tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/commands/ImportCONNLUAnnotationsFromDirectory.java	(revision 2952)
+++ tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/commands/ImportCONNLUAnnotationsFromDirectory.java	(revision 2953)
@@ -52,6 +52,7 @@
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
 import org.txm.searchengine.cqp.corpus.MainCorpus;
 import org.txm.searchengine.cqp.serverException.CqiServerError;
+import org.txm.utils.AsciiUtils;
 import org.txm.utils.io.FileCopy;
 import org.txm.utils.io.IOUtils;
 import org.txm.utils.logger.Log;
@@ -81,6 +82,9 @@
 	@Option(name = "overwrite_cqp_properties", usage = "if set the CQP properties are replaced", widget = "Boolean", required = true, def = "false")
 	Boolean overwrite_cqp_properties;
 	
+	@Option(name = "normalize_word_ids", usage = "if set the CQP properties are replaced", widget = "Boolean", required = true, def = "false")
+	Boolean normalize_word_ids;
+	
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
@@ -118,7 +122,7 @@
 				Log.warning(NLS.bind("Error: can't use the {0} prefix because some properties are already used: {1}", propertiesPrefix, test));
 				return null;
 			}
-			return importAnnotations(mainCorpus, connluDirectory, propertiesPrefix);
+			return importAnnotations(mainCorpus, connluDirectory, propertiesPrefix, normalize_word_ids);
 		}
 		catch (Exception e) {
 			Log.warning(e);
@@ -141,7 +145,7 @@
 	 * @throws IOException
 	 * @throws XMLStreamException
 	 */
-	public static int importAnnotations(MainCorpus mainCorpus, File connluDirectory, String propertiesPrefix) throws IOException,
+	public static int importAnnotations(MainCorpus mainCorpus, File connluDirectory, String propertiesPrefix, Boolean normalizeWordIds) throws IOException,
 			CqiServerError, CqiClientException, XMLStreamException {
 		Log.info(TXMCoreMessages.bind("Importing CONNL-u annotations of {0} in {1} using the ''{2}'' prefix...", connluDirectory, mainCorpus, propertiesPrefix));
 		
@@ -157,7 +161,7 @@
 		int nWordsInserted = 0;
 		for (File coonluFile : files) {
 			
-			nWordsInserted += _importAnnotations(coonluFile, mainCorpus, propertiesPrefix, null);
+			nWordsInserted += _importAnnotations(coonluFile, mainCorpus, propertiesPrefix, null, normalizeWordIds);
 			nTextProcessed++;
 		}
 		
@@ -187,18 +191,19 @@
 	 * @param corpus
 	 * @param connluFile
 	 * @param propertiesPrefix
+	 * @param normalize_word_ids
 	 * @return the number of imported annotations
 	 * @throws CqiClientException
 	 * @throws CqiServerError
 	 * @throws IOException
 	 * @throws XMLStreamException
 	 */
-	public static int importAnnotationsFromCoNNLUFile(MainCorpus mainCorpus, File connluFile, String propertiesPrefix, String textId) throws IOException,
+	public static int importAnnotationsFromCoNNLUFile(MainCorpus mainCorpus, File connluFile, String propertiesPrefix, String textId, Boolean normalize_word_ids) throws IOException,
 			CqiServerError, CqiClientException, XMLStreamException {
 		Log.info(TXMCoreMessages.bind("Importing CONNL-u annotations of {0} in {1} using the ''{2}'' prefix...", connluFile, mainCorpus, propertiesPrefix));
 		
 		
-		int nWordsInserted = _importAnnotations(connluFile, mainCorpus, propertiesPrefix, textId);
+		int nWordsInserted = _importAnnotations(connluFile, mainCorpus, propertiesPrefix, textId, normalize_word_ids);
 		
 		if (nWordsInserted == 0) {
 			Log.warning("** No annotation imported. Aborting.");
@@ -214,7 +219,7 @@
 		return 0;
 	}
 	
-	private static int _importAnnotations(File coonluFile, MainCorpus mainCorpus, String propertiesPrefix, String textId) throws IOException, XMLStreamException {
+	private static int _importAnnotations(File coonluFile, MainCorpus mainCorpus, String propertiesPrefix, String textId, Boolean normalize_word_ids) throws IOException, XMLStreamException {
 		if (textId == null || textId.length() == 0) { // no text id provided, using the connlu file name
 			textId = coonluFile.getName().substring(0, coonluFile.getName().length() - 7);
 		}
@@ -235,7 +240,6 @@
 		BufferedReader reader = IOUtils.getReader(coonluFile);
 		String line = reader.readLine();
 		
-		
 		int nWords2 = 0;
 		int nLine = 0;
 		String sent_id = null;
@@ -315,6 +319,13 @@
 				Log.warning("No 'XmlId=' found for UD line: " + line);
 			}
 			else {
+				
+				if (normalize_word_ids) {
+					if (!id.startsWith("w_"))
+						id = "w_" + id.substring(1);
+					id = AsciiUtils.buildId(id);
+				}
+				
 				processor.addProperty(id, properties);
 				nWords2++;
 			}
