I am getting an error message 'No constructor with matching signature found.' when construct a Java object that has been added to javaclasspath
8 ビュー (過去 30 日間)
古いコメントを表示
I have made a Java class like the following:
import java.util.List;
import gov.nih.nlm.nls.metamap.AcronymsAbbrevs;
import gov.nih.nlm.nls.metamap.ConceptPair;
import gov.nih.nlm.nls.metamap.Ev;
import gov.nih.nlm.nls.metamap.Mapping;
import gov.nih.nlm.nls.metamap.MetaMapApi;
import gov.nih.nlm.nls.metamap.MetaMapApiImpl;
import gov.nih.nlm.nls.metamap.Negation;
import gov.nih.nlm.nls.metamap.PCM;
import gov.nih.nlm.nls.metamap.Position;
import gov.nih.nlm.nls.metamap.Result;
import gov.nih.nlm.nls.metamap.Utterance;
public class MetaMapTest{
public MetaMapTest() {
System.out.println("Nothing");
}
public MetaMapTest(String text) throws Exception{
String input = text;
MetaMapApi api = new MetaMapApiImpl();
System.out.println("api instanciated");
List<Result> resultList = api.processCitationsFromString(input);
Result result = resultList.get(0);
String machineOutput = result.getMachineOutput();
List<Negation> negList = result.getNegations();
if (negList.size() > 0) {
System.out.println("Negations:");
for (Negation e: negList) {
System.out.println("type: " + e.getType());
System.out.print("Trigger: " + e.getTrigger() + ": [");
for (Position pos: e.getTriggerPositionList()) {
System.out.print(pos + ",");
}
System.out.println("]");
System.out.print("ConceptPairs: [");
for (ConceptPair pair: e.getConceptPairList()) {
System.out.print(pair + ",");
}
System.out.println("]");
System.out.print("ConceptPositionList: [");
for (Position pos: e.getConceptPositionList()) {
System.out.print(pos + ",");
}
System.out.println("]");
}
} else {
System.out.println(" None.");
}
List<AcronymsAbbrevs> aaList = result.getAcronymsAbbrevs();
if (aaList.size() > 0) {
System.out.println("Acronyms and Abbreviations:");
for (AcronymsAbbrevs e: aaList) {
System.out.println("Acronym: " + e.getAcronym());
System.out.println("Expansion: " + e.getExpansion());
System.out.println("Count list: " + e.getCountList());
System.out.println("CUI list: " + e.getCUIList());
}
} else {
System.out.println(" None.");
}
for(Utterance utterance : result .getUtteranceList()) {
System.out.println("Utterance:");
System.out.println(" Id: "+ utterance.getId());
System.out.println(" Utterance text: "+ utterance.getString());
System.out.println(" Position: "+ utterance.getPosition());
for(PCM pcm : utterance .getPCMList()) {
System.out.println("Mappings:");
for(Mapping map : pcm .getMappingList()) {
System.out.println("Phrase:");
System.out.println(" Map Score: "+ map.getScore());
for(Ev mapEv : map .getEvList()) {
System.out.println(" Score: "+ mapEv.getScore());
System.out.println(" Concept Id: "+ mapEv.getConceptId());
System.out.println(" Concept Name: "+ mapEv.getConceptName());
System.out.println(" Preferred Name: "+ mapEv.getPreferredName());
System.out.println(" Matched Words: "+ mapEv.getMatchedWords());
System.out.println(" Semantic Types: "+ mapEv.getSemanticTypes());
System.out.println(" MatchMap: "+ mapEv.getMatchMap());
System.out.println(" MatchMap alt. repr.: "+ mapEv.getMatchMapList());
System.out.println(" is Head?: "+ mapEv.isHead());
System.out.println(" is Overmatch?: "+ mapEv.isOvermatch());
System.out.println(" Sources: "+ mapEv.getSources());
System.out.println(" Positional Info: "+ mapEv.getPositionalInfo());
}
}
System.out.println("Candidates:");
for (Ev ev: pcm.getCandidateList()) {
System.out.println(" Candidate:");
System.out.println(" Score: " + ev.getScore());
System.out.println(" Concept Id: " + ev.getConceptId());
System.out.println(" Concept Name: " + ev.getConceptName());
System.out.println(" Preferred Name: " + ev.getPreferredName());
System.out.println(" Matched Words: " + ev.getMatchedWords());
System.out.println(" Semantic Types: " + ev.getSemanticTypes());
System.out.println(" MatchMap: " + ev.getMatchMap());
System.out.println(" MatchMap alt. repr.: " + ev.getMatchMapList());
System.out.println(" is Head?: " + ev.isHead());
System.out.println(" is Overmatch?: " + ev.isOvermatch());
System.out.println(" Sources: " + ev.getSources());
System.out.println(" Positional Info: " + ev.getPositionalInfo());
}
}
}
}
}
And then I tried to call this function in Matlab like this:
o=MetaMapTest;
But I always get the message: 'No constructor 'MetaMapTest' with matching signature found.'
I thought I had already made the constructor, I don't understand why this is happening.
Thank you
0 件のコメント
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Call Java from MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!