CoreNLP 核心NLP客户端在关闭后仍然重启,

gt0wga4j  于 2个月前  发布在  其他
关注(0)|答案(3)|浏览(47)

你好,
我正在使用stanza corenlp通过启动一个corenlp服务器来检测文本中的命名实体识别(NER)。一旦找到了实体,我尝试使用CoreNLPClient创建的对象上的stop(也尝试使用“with”语句关闭)函数来关闭/停止服务器。当我尝试在代码的其他部分使用多进程时,我收到一条消息:“CoreNLP服务器正在关闭。”但是当我想尝试使用多进程时,corenlp服务器会自动重新启动。
我已经将服务器的启动和关闭保留在主函数中,只有在执行这些操作后才会执行多进程代码。
有人能帮我找到一种有效的方式来停止服务器吗?

kx1ctssn

kx1ctssn1#

你能确认你正在运行的两个软件的版本吗?然后尝试提供一个最小示例,展示这个问题?我从未观察到过这种情况,这并不是说问题不存在,而是我们不知道如何解决它。

2021年8月24日星期二,samanthvishwas ***@***.***>写道:你好,我正在使用stanza corenlp通过启动一个corenlp服务器来检测文本中的命名实体识别(NER)。一旦找到实体,我尝试使用CoreNLPClient创建的对象上的stop()函数关闭/停止服务器。我还尝试使用“with”语句关闭服务器,但收到了一条消息:“CoreNLP服务器正在关闭。”当我在代码的其他部分尝试使用多进程时,corenlp服务器会自动重新启动。我已经将服务器的启动和停止保留在主函数中,只有在执行这些操作时才会执行多进程代码。有人能帮我找到一种有效的方式来停止服务器吗?——你收到这条信息是因为你订阅了这个线程。直接回复此电子邮件,查看GitHub <#1174>,或者取消订阅 < https://github.com/notifications/unsubscribe-auth/AA2AYWJTEYNPVFTWKP7PJHTT6NQUDANCNFSM5CWNML2Q > 。使用GitHub移动端(iOS < https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 > 或Android < https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email > )进行实时问题跟踪通知。

yacmzcpb

yacmzcpb2#

你好,AngledLuffa。
我正在使用Stanza版本1.2.3和Dask(用于多进程)版本'2021.02.0'。以下是代码片段:
在主函数中,我启动了一个CoreNLP服务器,并在其代码完成后停止它,然后创建一个dask数据框来执行其余的代码。但是当Dask代码执行时,CoreNLP服务器又重新启动了。

if __name__ == '__main__':
    client = CoreNLPClient(be_quiet=False, annotators=['ner'], memory='4G', endpoint='[http://localhost:9000](http://localhost:9000)')
    for i in input_text_cols:
        df[sentence_fields[i]] = df[i].apply(get_all_text_fields_sentences)
    df["model_results"] = df[allcols].apply(get_all_text_fields_models, axis=1)
    client.stop()  # 停止coreNLP服务器
    time.sleep(20)
    # DASK代码开始###
    dmaster = dd.from_pandas(df, npartitions=4)
    dmaster["dict_results"] = dmaster[allcols].apply(get_all_text_fields_dictionaries, axis=1, meta=('x', 'str'))
    df_dict = dmaster.compute(scheduler='processes')
f4t66c6m

f4t66c6m3#

我对于多进程的调用方式非常怀疑。是否可能每个新进程都在创建自己的CoreNLPClient?我从未在任何地方使用过pandas或dask,所以我不知道背后发生了什么。这段代码片段是否会重现问题?(请直接在github上回复,并记得使用```以便我们获得适当的格式化)。

2021年8月29日星期日晚上11:14,samanthvishwas ***@***.***>写道:嗨AngledLuffa。我正在使用Stanza版本1.2.3和Dask(用于多进程)版本'2021.02.0'。代码片段如下:

在主函数中,我启动了一个CoreNLP服务器,并在其代码完成后停止它,然后创建一个dask数据框来执行其余的代码。但是当Dask代码被执行时,corenlp服务器又重新启动了。

如果name == 'main':

client = CoreNLPClient(be_quiet=False, annotators=['ner'], memory='4G', endpoint='http://localhost:9000')
for i in input_text_cols:
    df[sentence_fields[i]] = df[i].apply(get_all_text_fields_sentences)
df["model_results"] = df[allcols].apply(get_all_text_fields_models,axis=1)
client.stop() #停止coreNLP服务器
time.sleep(20) ##DASK代码开始###
dmaster = dd.from_pandas(df, npartitions=4)
dmaster["dict_results"] = dmaster[allcols].apply(get_all_text_fields_dictionaries,axis=1,meta=('x','str'))
df_dict=dmaster.compute(scheduler='processes')

你收到这个是因为你评论了。请直接回复此电子邮件,查看GitHub上的<#1174 (comment)>,或取消订阅< https://github.com/notifications/unsubscribe-auth/AA2AYWMXZC66MFFC3PU2GETT7MOWBANCNFSM5CWNML2Q >。使用GitHub移动端iOS< https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 >或Android < https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub >进行实时通知分类。

相关问题