gpt4 book ai didi

c++ - 自然语言 C/C++ 中解析树的数据结构

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:46:33 26 4
gpt4 key购买 nike

我想在 C/C++ 中将句子存储在数据结构中。例如这句话 “This uploads files to a remote machine.” 表示为:

(TOP
(S
(NP (DT This))
(VP
(VBZ uploads)
(NP (NNS files))
(PP (TO to) (NP (DT a) (JJ remote) (NN machine))))
(. .)))

喜欢here在 C/C++ 中有一种简单的方法吗?我正在手动构建树(不使用解析器)。

最佳答案

http://opennlp.apache.org/ 中提到的解析器非常复杂。它将一个句子分成名词、动词、介词等。如果您试图用 c/c++ 重写它,这是一项艰巨的任务。

最好使用解析器并将输出读入 c/c++ 数据结构。

假设您有解析器的输出,那么输出的格式就相当简单了。结构将是这样的:

struct SentencePart {
SType type;
// If the type is a basic word type (e.g. NN, JJ, etc)
char* word;
// If the type is a complex sub-sentence.
struct SentencePart* sentence_part;
};

您可以创建类型的枚举(TOP、S、VP、NP 等)。然后您可以读取输入并根据您扫描的类型创建结构。

这是一种非常简单的方法,可能还有其他方法。

关于c++ - 自然语言 C/C++ 中解析树的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21284803/

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