【问题标题】:How to compare complexities of corpora?如何比较语料库的复杂性?
【发布时间】:2015-01-16 12:35:30
【问题描述】:

我想比较我的三个语料库的复杂程度(变化的或可预测的)。他们来自不同的主题,所以有些词汇是不同的,有些是相同的。查看其中一个数据集,很明显语法比其他两个更难,句子更长,等等。我使用 SRILM 工具包(我是语言建模新手)构建了 word N-Gram 语言模型想法,然后我可以比较这些模型。提到的与语言模型相关的一项衡量标准是困惑度。我对以下问题感到困惑:我可以直接使用三个 LM 的困惑度来衡量语料库的变化程度吗?语料库的词汇量和大小不同,所以现在我认为这不是一个很好的比较。我也从 POS-Tags 构建了 LMs,但是 POS-Tagging 结果的质量不好,因为语言来自论坛,有拼写错误,不合语法的句子等等。可以使用哪些度量来比较来自不同领域的语料库的复杂性?我很感激你的建议。 [我是 Stackexchange 的新手。我在 Crossvalidated 上发布了这个,但我认为这里可能是更合适的论坛。]

【问题讨论】:

    标签: nlp measurement


    【解决方案1】:

    “我也用 POS-Tags 构建了 LMs,但是 POS-Tagging 结果的质量不好,因为语言来自论坛,有拼写错误,不合语法的句子等等。”

    正如您所指出的,除了嘈杂之外,您还应该仔细考虑特定的语言特征在您的分析中是否有用。一个具有成比例更多名词的语料库是否会使您朝着您想了解的语料库方向发展?也许在诸如作者归属之类的东西中,但我真的想不出其他任何有效的方法。

    如果数据稀疏是一个问题,LSI 可以通过将相关术语合并在一起来提供帮助。这也可以帮助解决拼写问题,如果拼写错误的单词出现在相似的上下文中,则将它们与正确的对应词折叠起来。

    “语料库的词汇量和大小不同,所以现在我认为这不是一个很好的比较。”

    这不是世界末日。拥有更多数据总是更好,但您可以使用现有的数据。

    如果您还没有选择语言模型,那么您必须做出一些决定:

    • 您要对数据进行平滑处理吗?如何?
    • 您是否打算使用高级技术来更好地利用数据,例如Latent Semantic Indexing (LSI)

    你提到你有一个语言模型;我假设您的语言模型是一个概率分布,例如P(N-gram|topic)。如果这是正确的,那么您已经对数据进行了标准化,因此这两个概率分布应该很容易进行比较。拥有更多数据会让您获得更可靠的结果,但如果您的语料库“足够大”可以可靠地对每个主题进行抽样,您可以直接进行比较。

    至于比较,请尝试KL-Divergence。 KL-Divergence 是“当 Q 用于近似 P 时丢失信息的度量”。更少的损失意味着语料库更相似。如果你想要一个对称比较,一个“便宜”的方法是添加D(P||Q) + D(Q||P)。不过请注意:

    仅当 Q(i)=0 ⇒ P(i)=0 时才定义 KL 散度,对于所有 i(绝对连续性)。

    所以你将必须以某种方式平滑。

    【讨论】:

    • 你好,丹!谢谢你的解释。
    • 我从 SRILM 的基本设置开始,使用 Good-Turing 折扣和退避。我想我原则上理解它们是如何工作的。我现在还修改了输入数据集,就像您建议的那样,使用 aspell 半自动更正拼写错误,然后手动更正。并再次创建了二元和三元模型。困惑度比以前低;很明显。使用 KL-Divergence:我想我明白了这个度量的基本点。除了当一个语料库中的单词根本没有出现在另一个语料库中时如何计算它。 (待定)
    • 我认为从 KL-Divergence 度量中我获得了有关相对差异的信息。我更多地考虑如何表明一个数据集“在自身内部”比另一个数据集更加多样化。因此,例如,更多样化的数据集对于分类任务来说“更难”。如何将三个语料库拆分为“训练/测试”子部分,然后对多个拆分进行 KL 比较?然后我会知道损失最低的那个是最“内部可预测的”;如果你明白我的意思。这有意义吗?谢谢你的提示!埃德
    • "随后是手动更正" -> 嗯,一些手动更正。当然,一些拼写错误仍然存​​在,但许多不相关的拼写错误差异不再存在。
    • 进行拼写更正是一个不错的举措。它可能会增加一些错误,但听起来它比伤害更有用,这就是你想要的。以防万一,可能值得查看输出以查看它似乎做得更多。
    猜你喜欢
    • 1970-01-01
    • 2015-05-29
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多