docs: public void createAlphabets(String file, String conllFormat) throws IOException
      {
  
          createDictionaries(file, conllFormat);
  
          long start = System.currentTimeMillis();
          logger.debug("Creating Alphabet ... ");
  
          HashSet<String> posTagSet = new HashSet<>();
          HashSet<String> cposTagSet = new HashSet<>();
          DependencyReader reader = DependencyReader.createDependencyReader(conllFormat);
          reader.startReading(file);
  
          DependencyInstance dependencyInstance = reader.nextInstance();
  
          while(dependencyInstance != null) {
  
              for (int i = 0; i < dependencyInstance.getLength(); ++i) {
                  if (dependencyInstance.getPostags() != null) posTagSet.add(dependencyInstance.getPostags()[i]);
                  if (dependencyInstance.getCpostags() != null) cposTagSet.add(dependencyInstance.getCpostags()[i]);
              }
  
              dependencyInstance.setInstIds(dictionariesSet, coarseMap, conjWord);
  
              synFactory.initFeatureAlphabets(dependencyInstance);
  
              dependencyInstance = reader.nextInstance();
          }
  
          if(logger.isDebugEnabled()) {
              logger.debug(String.format("[%d ms]%n", System.currentTimeMillis() - start));
          }
  
          closeAlphabets();
          reader.close();
  
          synFactory.checkCollisions();
          if(logger.isDebugEnabled()) {
              logger.debug(String.format("Num of CONLL fine POS tags: %d%n", posTagSet.size()));
              logger.debug(String.format("Num of CONLL coarse POS tags: %d%n", cposTagSet.size()));
              logger.debug(String.format("Num of labels: %d%n", types.length));
              logger.debug(String.format("Num of Syntactic Features: %d %d%n",
                      synFactory.getNumberWordFeatures(), synFactory.getNumberLabeledArcFeatures()));
          }
          numCPOS = cposTagSet.size();
      }