gpt4 book ai didi

java - 自然语言解析,实际例子

转载 作者:搜寻专家 更新时间:2023-11-01 01:07:23 25 4
gpt4 key购买 nike

我希望为简单的聊天机器人使用自然语言解析库。我可以获得词性标签,但我总是想知道。你用POS做什么。如果我知道演讲的部分,那会怎样?

我想这会有助于回复。但是我可以使用什么数据结构和架构。

最佳答案

词性标注器为输入文本中的单词分配标签。例如,流行的 Penn Treebank 标记集有大约 40 个标签,例如“复数名词”、“比较形容词”、“过去时动词”等。标记器还解决了一些歧义。例如,许多英语单词形式既可以是名词也可以是动词,但在其他单词的上下文中,它们的词性是明确的。因此,使用 POS 标签注释您的文本后,您可以回答以下问题:我有多少名词?有多少句子不包含动词?等。

对于聊天机器人,您显然需要的远不止这些。你需要搞清楚文中的主宾,以及它们所附的动词(谓语);您需要解决照应语( 指向哪个人),否定和量词的范围是什么(例如每个超过 3 个), 等等

理想情况下,您需要将输入的文本映射到某种逻辑表示(例如一阶逻辑),这样您就可以进行推理以确定两个句子在含义或蕴涵关系等方面是否等价。

虽然词性标注器会映射句子

Mary likes no man who owns a cat.

这样的结构

Mary/NNP likes/VBZ no/DT man/NN who/WP owns/VBZ a/DT cat/NN ./.

你宁愿需要这样的东西:

SubClassOf(
ObjectIntersectionOf(
Class(:man)
ObjectSomeValuesFrom(
ObjectProperty(:own)
Class(:cat)
)
)
ObjectComplementOf(
ObjectSomeValuesFrom(
ObjectInverseOf(ObjectProperty(:like))
ObjectOneOf(
NamedIndividual(:Mary)
)
)
)
)

当然,虽然词性标注器的准确率和召回率接近 100%,但更复杂的自动处理性能会差得多。

一个很好的 NLP Java 库是 LingPipe .然而,它并没有超越词性标记、分块和命名实体识别。

关于java - 自然语言解析,实际例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/621880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com