Algorithm 处理歧义的算法或数据结构

Algorithm 处理歧义的算法或数据结构,algorithm,data-structures,nlp,ambiguity,ambiguous-grammar,Algorithm,Data Structures,Nlp,Ambiguity,Ambiguous Grammar,我正在寻找专门用于处理歧义的算法或数据结构 在我当前感兴趣的领域中,我正在研究自然语言的歧义解析,但我认为在计算中肯定有很多领域歧义起了作用 我可以在试图避免歧义方面找到很多东西,但在如何接受歧义和分析歧义数据方面却很少 假设解析器生成这些可选的令牌流或解释: A B1 C a2c A B3 B4 C 可以看出,流的某些部分在解释(A…B)之间共享,而其他部分分支为替代解释,并经常与主流汇合 当然,可能有更多的解释,替代品的嵌套,以及没有主流的解释 这显然是一种带有节点的图。我不知道它是否有

我正在寻找专门用于处理歧义的算法或数据结构

在我当前感兴趣的领域中,我正在研究自然语言的歧义解析,但我认为在计算中肯定有很多领域歧义起了作用

我可以在试图避免歧义方面找到很多东西,但在如何接受歧义和分析歧义数据方面却很少

假设解析器生成这些可选的令牌流或解释:

  • A B1 C
  • a2c
  • A B3 B4 C
可以看出,流的某些部分在解释(
A
B
)之间共享,而其他部分分支为替代解释,并经常与主流汇合

当然,可能有更多的解释,替代品的嵌套,以及没有主流的解释

这显然是一种带有节点的图。我不知道它是否有固定的名字


有没有现存的算法或数据结构是我可以研究的,专门用来处理这种不明确的图形?

我将这种数据结构称为晶格,例如,请参见(PDF)。

我是使用Marpa::R2 ASF构建的

该方法将不明确的解析表示为一种语法,设计一个标准来删减不需要的规则,应用它,然后从PFG中删除无效和不可访问的符号,从而得到解析树

举例说明:它解析具有高度歧义语法的算术表达式,然后根据关联性和优先级修剪PFG规则,清理语法,将其转换为抽象语法树(问题3.10来自引用的源-Grune和Jacobs)。

自然语言解析中的歧义和共享 一般而言,模棱两可和共享 考虑到你问题的概括性,我正试图与之相匹配 一般性

当你考虑映射或函数<代码> f:A->B < /代码>,它不是内射的。 内射函数(也称为一对一函数)就是这样的函数 当≠然后
f(a)≠ f(a')
。给定一个函数f,通常 有兴趣逆转它:给定f的辅域b的一个元素b, 您想知道域a的哪个元素a使得
f(a)=b
。 请注意,如果函数不是满射的,则可能没有 (即登上)

当函数不是内射函数时,a中可能有多个值 使得
f(a)=b
。换句话说,如果使用B中的值 表示A中的值,通过映射f,您有一个不明确的 可能无法唯一确定值a的表示形式b

从这一点你会意识到歧义的概念是如此的普遍以至于 不太可能有统一的知识体系, 即使这仅限于计算机科学和编程

但是,如果您想考虑反转创建这样的函数 歧义,例如计算集合

f'(b)={a∈A | f(A)=b}
,或 根据某些最优性标准,该集合中的最佳元素, 这里有一些技巧可以帮助你在 问题可以分解为经常重复出现的子问题 用同样的论点。然后,如果你记住了测试的结果 遇到各种参数组合时,您永远不会计算两次 同样的事情(子问题被称为)。注意 子问题也可能存在歧义,因此可能存在多个 某些子问题实例的答案,或其中的最佳答案 其他几个

这相当于在所有用户之间共享子问题的单个副本 需要使用这组参数解决的情况。这个 整个技术称为,难度很大 通常需要找到正确的分解为子问题的方法。动态 编程主要是一种为用户共享重复子计算的方法 解决方案,从而降低复杂性。但是,如果每个子计算 生成在中递归重用的结构片段 更大的结构,以找到一个答案,这是一个结构化对象(a 然后共享子计算步骤可能导致 在其所在的所有位置共享相应的子结构 需要。当需要找到许多答案时(因为 例如),这些答案可以共享子部分

可以使用动态规划,而不是找到所有答案 找到满足某种最优性准则的。这就要求 问题的最优解使用问题的最优解 子问题

语言处理案例 就语言学和语言而言,事情可能更为具体 处理。为此,您必须确定您所属的域 处理这些域,以及您在这些域中使用的函数类型

语言的目的是交流信息、概念、想法 它存在于我们的大脑中,有一个非常近似的假设 我们的大脑使用相同的功能来表达这些想法 在语言学上。我还必须大大简化事情(对不起 它)因为这不是一个完整的理论的地方 语言,这将是有争议的。我甚至不能考虑 所有类型的句法理论

所以语言上的信息交换,一个想法,从一个人p到一个人Q 内容如下:

idea in P ---f--> syntactic tree ---g--> lexical sequence ---h--> sound sequence
                                                                        |
                                                                        s
                                                                        |
                                                                        V
idea in Q <--f'-- syntactic tree <--g'-- lexical sequence <--h'-- sound sequence
声音序列的分析可以在有限状态下进行 非确定性自动机,在动态规划中解释 模式,它生成一个有向无环图,其中 将单词分隔符和边缘与识别的单词对应起来。 通过图形的任何最长路径都对应于一种可能的方式 把声音序列分析成一系列单词

上面的例子给出了
Ms Stephen, without a first-rate stakeholder sum or deal,
Must, even with outer fur straight, stay colder - some ordeal.
         the-*-fun
        /         \
   Ms -*-- Stephen \  without --*-- a    first -*- ...
 /                 \ /               \ /
*                   *                 *
 \                 / \               / \
   must --*-- even     with -*- outer   fur -*-  ...
Ms Stephen, with outer first-rate ... 
Must, even with outer first-rate ...
        this     is    a     finite     state     automaton
 => (1)------(2)----(3---(4)--------(5)-------(6)-----------((7))