问题标签 [stanza]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
52 浏览

nlp - 您如何确保节 CoreNLPClient 的可行端点?

我想使用 stanza CoreNLPClient 来提取名词短语,类似于这个方法

但是,我似乎找不到一个好的端口来启动服务器。默认为 9000,但经常被占用,如错误消息所示:

PermanentlyFailedException:错误:无法在端口 9000 上启动 CoreNLP 服务器(可能那里已经运行了某些东西)

编辑:python.exe 正在使用端口 9000,这就是为什么我不能关闭进程以为 CoreNLPClient 腾出空间。

然后,当我选择其他端口,例如 7999、8000 或 8080 时,服务器一直在无限监听,不执行连续的代码行,只显示以下内容:

2021-07-19 12:05:55 信息:使用命令启动服务器:java -Xmx8G -cp C:\Users\timjo\stanza_corenlp* edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 7998 -timeout 60000 -threads 5 - maxCharLength 100000 -quiet True -serverProperties corenlp_server-2e15724b8064491b.props -preload -outputFormat 序列化

我安装了最新版本的节,并且正在 VS Code 中的 .ipynb 文件中运行以下代码:

主要问题:如何确保服务器在打开的端口上启动,然后关闭? 我希望有一种半自动的方式来查找打开/关闭占用的端口以供客户端运行。

0 投票
1 回答
20 浏览

stanza - 如何检查字符串是否为有效整数?

假设我有

如何检查是否s可以解析为有效整数?

0 投票
2 回答
20 浏览

stanza - 如何在节中的字符串中查找和替换字符?

假设我有一个字符串val s = "_1.2V_ADC"

该句点对我的用例无效,因此我需要将其替换为另一个字符,例如p最终字符串应该是"_1p2V_ADC"

在 Stanza 中是否有任何简单的方法可以做到这一点?

0 投票
1 回答
48 浏览

python - 为什么 Presidio StanzaNlpEngine 抛出 NameError: name 'StanzaLanguage' is not defined?

我正在尝试将 Stanza 语言模型与 Presidio 一起使用并遇到此阻止程序。

以上抛...

看看代码,这似乎应该可行。

即使这会引发同样的错误。

0 投票
0 回答
59 浏览

nlp - 如何使用节(用于 coreNLP)在我的领域特定文本上评估预训练的 NER 模型?

我正在尝试在我的特定文本域上获得预训练英语模型的 F1 分数,而无需进行任何培训。

文档提到了以下命令:

但是,由于我不想进行任何培训,如何按原样评估模型?${corpus}此外,文档中未说明的格式。

我有一个 BIO 格式的域的注释数据集。

0 投票
0 回答
71 浏览

python - 依赖解析 NLP

我正在使用 stanza/spacy nlp 来查找单词之间的依赖关系解析。例如 doc=nlp("他的家违反了地方和州的分区和环境法规,并且没有通往道路的通道")。关键字={""changes"": [""no access""], ""features"": [""road""]}。变量关键字“no access”和“road”的值出现在doc中。如果这两个词有任何关系,那么我需要打印“True”。如果没有关系,则打印 False。我该如何编写这段代码?有人可以帮忙吗?

0 投票
0 回答
217 浏览

python - 将复杂/复合句子拆分为简单句子 Python NLP

我正在开发一个使用小句子的项目,所以如果用户传递长句子或复杂/复合句子,我想将其解析为简单句子,然后将其传递给软件。

我尝试了 spacy 方法,但它只适用于连词:即:我要去市场,我要买一本书。解析后:我要去市场。我会买一本书。(它分为两个简单的句子)

但是当我尝试使用更复杂的句子时,例如:

  • 我必须保存这张优惠券,以防我明天再来商店。(应该分开,因为我必须保存这张优惠券。我明天回到商店。
  • 在某种程度上,它遏制了每天发生的犯罪案件的数量。(应该拆分为以某种方式减少犯罪案件的数量。每天都在发生)

我的代码:

是否有任何库/框架可以轻松做到这一点。或任何人建议如何在 spacy 上生成句子树并对其进行解析,这样我就可以在所需的位置将其分解。

0 投票
0 回答
30 浏览

python - Stanza 没有像预期的那样标记句子;我可以使用换行符作为启发式吗?

我正在尝试为单词对齐任务预处理我的文本数据。

我有一个句子的文本文件。每个句子都换行:

我正在使用 Stanza 来标记句子:

我的预期输出是:

本质上,一个列表列表,每个句子都在自己的列表中,并且它的单词被标记化。

但是,我得到的输出是这样的:

在某些情况下,Stanza 似乎忽略了句子边界。

有人知道如何解决这个问题吗?

由于每个句子都以换行符开头,是否可以简单地在每个换行符处强制一个新列表,然后执行单词标记?如果是,我会怎么做?

提前感谢您的任何帮助和建议。

0 投票
1 回答
82 浏览

machine-learning - 如何将 Stanza 导出为 ONNX 格式?

如何将 Stanza 导出为 ONNX 格式?简单地训练模型似乎是不可能的。

0 投票
0 回答
41 浏览

amazon-web-services - 加载斯坦福 NLP 模型时 AWS EMR 出现“HTTPConnectionPool(host='127.0.0.1', port=9000): [Errno 111] Connection denied”错误

我在算法中使用斯坦福 CoreNLP 模型,其中包括服务器的 Java 客户端(StanfordCoreNLPClient),以便通过命令行或其 Web 服务与用 Java 编写的 CoreNLP 进行交互。斯坦福 CoreNLP 因此开发了一个名为 Stanza 的 Python 包,其中包括一个向斯坦福 CoreNLP 服务器发出请求的 API。

该模型在笔记本电脑和我的个人电脑上运行良好。但是,我没有设法在 AWS EMR 集群上安装节,我总是遇到以下我无法处理的错误:

在此处输入图像描述

因此,我尝试使用另一个 python 包来使用 Stanford CoreNLP 服务器,而我唯一设法在我的 AWS EMR 上安装的是 PyNLP ( https://github.com/sina-al/pynlp ),它是新浪的斯坦福 CoreNLP 的 Python 包装器。同样,它在笔记本电脑和我的个人计算机上运行良好,但这次我设法将它(pypi 库)安装在 EMR 集群上。但是,每当我实例化一个 StanfordCoreNLP 对象时,我都会收到以下错误:“HTTPConnectionPool(host='127.0.0.1', port=9000): Max retries exceeded with url: /?properties=%7B%22serializer%22%3A+ %22edu.stanford.nlp.pipeline.ProtobufAnnotationSerializer%22%2C+%22outputFormat%22%3A+%22serialized%22%2C+%22annotators%22%3A+%22entitymentions%22%7D(由NewConnectionError('<urllib3.connection.HTTPConnection位于 0x7f6face84110> 的对象:无法建立新连接:[Errno 111] Connection denied'))" ...我真的不明白为什么,尤其是为什么它可以在笔记本上运行,而不是在 AWS EMR 上运行。

有关信息,我可以通过在 AWS EMR 集群上运行的算法连接到互联网,因为我可以使用“请求”模块并执行 requests.get ... 运行良好。

谁能解释我为什么在 AWS EMR 上而不是在笔记本电脑或我的个人计算机上出现此错误?AWS EMR 上的端口是否被阻止?我该怎么做才能让它发挥作用?

提前感谢您的宝贵帮助!!!