Ignore:
Timestamp:
2017-03-13T20:50:06+13:00 (7 years ago)
Author:
davidb
Message:

LangPos determination changed to lock into first match, rather than trying to populate all model-predicted languages with the determined POS (which gets mixed up when l=en,de and POS=NE for example -- de goes wrong, has no match)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • other-projects/hathitrust/wcsa/extracted-features-solr/trunk/solr-ingest/src/main/java/org/hathitrust/extractedfeatures/SolrDocJSON.java

    r31505 r31509  
    1919import org.json.JSONArray;
    2020import org.json.JSONObject;
     21
     22import scala.Tuple2;
     23
    2124import org.apache.lucene.analysis.TokenStream;
    2225import org.apache.lucene.analysis.Tokenizer;
     
    388391            int text_len = text_al.size();
    389392           
     393            /*
    390394            for (int li=0; li<lang_len; li++) {
    391395                String lang_key = lang_list[li];
     
    393397                if (universal_langmap.containsLanguage(lang_key))
    394398                {
     399                */
    395400                    HashMap<String,JSONArray> pos_lang_text_field_map = new HashMap<String,JSONArray>();
    396401                   
     
    405410                            String opennlp_pos_key = pos_tags[pti];
    406411                           
    407                             String upos = universal_langmap.getUniversalLanguagePOS(lang_key, opennlp_pos_key);
    408                             String pos_lang_text_field = lang_key + "_" + upos + "_htrctoken";
     412                            Tuple2<String,String> lang_pos_pair = universal_langmap.getUniversalLanguagePOSPair(lang_list, opennlp_pos_key);
     413                            String selected_lang = lang_pos_pair._1;
     414                            String upos = lang_pos_pair._2;
     415                           
     416                            String pos_lang_text_field = selected_lang;
     417                            if (upos != null) {
     418                                pos_lang_text_field += "_" + upos;
     419                            }
     420                            pos_lang_text_field += "_htrctoken";
    409421                           
    410422                            if (!pos_lang_text_field_map.containsKey(pos_lang_text_field)) {
     
    424436                        solr_doc_json.put(lang_text_field, json_values);
    425437                    }
     438                    /*
    426439                }
    427440                else {
     
    440453               
    441454            }
    442            
     455            */
    443456        }
    444457    }
Note: See TracChangeset for help on using the changeset viewer.