Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 尝试在WebAPI C#项目的Stanford.NLP.CoreNLP.Net中加载DefaultNLP模型时出错_Asp.net_.net_Asp.net Web Api_Owin_Stanford Nlp - Fatal编程技术网

Asp.net 尝试在WebAPI C#项目的Stanford.NLP.CoreNLP.Net中加载DefaultNLP模型时出错

Asp.net 尝试在WebAPI C#项目的Stanford.NLP.CoreNLP.Net中加载DefaultNLP模型时出错,asp.net,.net,asp.net-web-api,owin,stanford-nlp,Asp.net,.net,Asp.net Web Api,Owin,Stanford Nlp,我一直在尝试加载从建议的ZIP文件中提取的默认模型。通常,我会在应用程序级别将注释加载到单例中,以便在所有会话中共享资源。(在WebAPI OWIN启动中,这是从Startup.cs调用的) 尝试使用相对路径引用的其他方法时,我遇到以下错误: 无法解决 “edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger” 作为类路径、文件名或URL 我不确定我是离解决方案越来越近还是越来

我一直在尝试加载从建议的ZIP文件中提取的默认模型。通常,我会在应用程序级别将注释加载到单例中,以便在所有会话中共享资源。(在WebAPI OWIN启动中,这是从Startup.cs调用的)

尝试使用相对路径引用的其他方法时,我遇到以下错误:

无法解决 “edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger” 作为类路径、文件名或URL

我不确定我是离解决方案越来越近还是越来越远这是我的ASP.NET WebAPI项目的根目录:

但是,我得到了一个错误:

未处理的执行错误

描述:在执行过程中发生未处理的异常 当前的web请求。请查看堆栈跟踪以了解更多信息 有关错误的信息及其在代码中的来源

异常详细信息:java.lang.reflect.InvocationTargetException:

源错误:

第43行://我们应该更改当前目录,所以 StanfordCoreNLP可以在第44行自动找到所有模型文件: SetCurrentDirectory(HostingEnvironment.MapPath(ModelLocation)); 第45行:管道=新StanfordCoreNLP(道具);线 第47行:最后

源文件:D:\xxx\xxx\xxx\NLP.cs行:45

堆栈跟踪:

[InvocationTargetException]_z(Object[])+444
FastConstructorAccessorImpl.newInstance(对象[]args)+28
newInstance(对象[]initargs,CallerID )+133 edu.stanford.nlp.util.ClassFactory.createInstance(对象[]) 参数)+108

[ClassCreationException:元类无法创建公共类 edu.stanford.nlp.time.TimeExpressionExtractorImpl(java.lang.String,java.util.Properties) 使用args[sutime,{}]]
edu.stanford.nlp.util.ClassFactory.createInstance(对象[]参数) +372 edu.stanford.nlp.util.MetaClass.createInstance(对象[]对象)+34
edu.stanford.nlp.util.ReflectionLoading.loadByReflection(字符串 类名,对象[]参数)+71

[ReflectionLoadingException:创建时出错 edu.stanford.nlp.time.TimeExpressionExtractorImpl]
edu.stanford.nlp.util.ReflectionLoading.loadByReflection(字符串 类名,对象[]参数)+232
edu.stanford.nlp.time.TimeExpressionExtractorFactory.create(字符串 类名、字符串名、属性道具)+80
edu.stanford.nlp.time.TimeExpressionExtractorFactory.createExtractor(字符串 名称、属性和道具)+34
edu.stanford.nlp.ie.regexp.NumberSequenceClassifier..ctor(属性 props,布尔useSUTime,属性sutimeProps)+57
edu.stanford.nlp.ie.NERClassifierCombiner..ctor(布尔值 applyNumericClassifiers、布尔UseSTime、属性nscProps、, 字符串[]加载路径)+129
edu.stanford.nlp.pipeline.AnnotatorImplements.ner(属性 属性)+454 edu.stanford.nlp.pipeline.6.create()+46
edu.stanford.nlp.pipeline.AnnotatorPool.get(字符串名)+163
edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(属性, 布尔值,注释实现)+555
edu.stanford.nlp.pipeline.StanfordCoreNLP..ctor(属性道具、, 布尔强制要求)+55
斯坦福大学,斯坦福大学,nlp.pipeline.StanfordCoreNLP..ctor(属性道具)+76 三十、 中的XXX.NLP.Start(字符串模型位置) D:\xxx\xxx\xxx\NLP.cs:45
三十、 中的XXX.Startup.Configuration(IAppBuilder应用程序) D:\xxx\xxx\xxx\Startup.cs:16

[TargetNotificationException:的目标已引发异常 aninvocation.]System.RuntimeMethodHandle.InvokeMethod(对象 目标、对象[]参数、签名符号、布尔构造函数)+0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(对象obj, 对象[]参数,对象[]参数)+128
System.Reflection.RuntimeMethodInfo.Invoke(对象obj,BindingFlags invokeAttr,绑定器绑定器,对象[]参数,CultureInfo区域性) +146 Owin.Loader.c_uuu显示Class12.b_uuub(IAppBuilder生成器)+93
Owin.Loader.c_uuudisplayClass1.b_uuu0(IAppBuilder 建筑商)+209
Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(操作1 启动)+843
Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(操作1启动)+51 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()文件 +101 System.Threading.LazyInitializer.EnsureInitializedCore(T&target,Boolean&initialized,Object&syncLock,Func 1 valueFactory) +141 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication 上下文)+172
System.Web.HttpApplication.registereventsubscriptionswithis(IntPtr appContext、HttpContext、MethodInfo[]处理程序)+618
System.Web.HttpApplication.InitSpecial(HttpApplicationState, MethodInfo[]处理程序,IntPtr appContext,HttpContext)+172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext)+419
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+343

[HttpException(0x80004005):目标已引发异常 指一次调用。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext上下文)+579
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文) +120 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext)+712

以下是我的代码(NLP.Start()在startup.cs中调用):


在摸索了一下之后,我找到了同样问题的解决办法

如果你不愿意通读这篇文章,下面是基本答案。修改这一行代码

props.setProperty("sutime.binders", "0");

props.setProperty("sutime.binders", "0");
props.setProperty("ner.useSUTime", "0");