xml文件消除黄色警报_新机器,XML和歧义消除

xml文件消除黄色警报

潜力未实现

平板电脑随着Amazon Kindle™和Apple®iPad的推出而受到了广泛的关注,仅提及了两种选择。 它们的便携性和易用性甚至比台式计算机已经有更多的潜力使文字脱离标准的打印介质。 这样的工具突出了单词数字表示中的一个弱点:它们在表示文本方面做得很出色,但只是在表面上。

视觉呈现方面已经做了很多工作。 CSS已经解决了许多与窗口装饰有关的问题:字体,间距,填充,背景等等,所有这些都是视觉呈现元素。 HTML和JavaScript还使信息对于人类读者而言更加直观。

但是机器具有的能力还不止这些,包括比人类目前所需要的更深入地理解单词的感觉。 至少在普通的工作日的搜索和写作世界中,尚未解决的许多问题中有一个歧义:什么是真正的上下文,更重要的是,程序员如何使机器以它可以使用的格式意识到该上下文?

消歧问题

模糊性是IT中的一个众所周知的问题。 这组数据可能意味着这个,也可能意味着那个。 解密图像时会出现问题。 给定一组像素,这是一张图片,它在人类识别方面有何相似之处? 尽管文本提出了一个更棘手的问题,并且在与自然语言查询和自动(但不准确)歧义消除相关的研究中受到了关注,但通常显示的文本仍然带来了需要解决的模糊性:作者真正的意思是什么?

考虑以下裸露的语句:

The cow jumped over the moon.

对于人类读者而言,这种说法(很可能)使人联想起废话是生活的主要部分。 挤过地球天然卫星的奶牛是个绝妙的主意,但极不可能。 但这也可能意味着其他事情。 如果母牛是麋鹿,而月亮是安大略省的月亮河(或者也许是水牛,则是跳湄公河支流的同名河),则跳母牛更有意义。 这句话的真正含义是什么? 答案取决于缺少的上下文。 人们有时可以根据先前的知识进行推断。 机器不能也不能帮助人类读者,这是一个重要的机会。

含糊不清的问题

对于文本,消歧很重要,原因有很多。 原因可能是:

  • 搜索。 大型搜索引擎是否要求您消除要求? 不,他们依靠您通过添加术语来提供足够的信息,以便他们可以做出经常错误的假设。 有时候,选择错误的条款是您的错; 其他时候,源文本是模糊的。 同样,检索算法可能没有帮助。
  • 翻译。 无论您使用哪种语言来表达单词,除了少数例外,搜索引擎都会解析为与语言无关的公共词根(概念)。 引用绝对根可能有助于使翻译更准确。
  • 查找。 在阅读文本时,人们可以在字典中查找单词,但是字典仅显示替代项列表。 它没有告诉您作者打算使用哪种替代方法。 作者可能打算含糊其词(但很可能不是)。
  • 机器分析。 给定关于一组文本的精确歧义信息,一台机器可以根据通用准则对这组文本进行分组,并针对相似的信息源(类固醇的杜威十进制系统)提出建议。

如何消除歧义?

消除疑虑的最明显方法是提供一个预先的,明确的声明,其中包括要使上下文清楚的其他特定细节。 提供额外的信息可以对人类读者有所帮助,因为它吸引了人类可以应用来缩小上下文范围的累积知识的生命周期。 这个过程可能会很昂贵:如果让读者使用一段文字来传达一个单词的含义,那么这会浪费时间,而在其他地方可能会花费更多时间。

您如何为机器消除歧义? 要显示一个想法意味着什么,您可以:

  • 链接引用一个已知的绝对点说,在完全消除歧义的列表中的条目,如共发现(见相关信息中的链接)
  • 确定该想法所属的组(奶牛和驼鹿都是动物)
  • 比较相似的概念并注意将它们分开的距离,即相对的参考(奶牛和驼鹿以这种方式相似,但以这种方式不同)。

基本消除歧义

作为程序员,您对允许机器帮助读者的方式感兴趣。 这是一个示例,您可以通过该示例来询问机器以澄清一般概念:

The <span title='moo-cow, milk cow, etc.' 
    style='color: blue'>cow</span> jumped over the moon.

在此代码中,HTML <span>元素包含一个属性title ,当您将鼠标悬停在句子中的单词上时,该属性将提供更具体的信息。 文本对读者来说是蓝色的-一个标记,表明它包含更多信息(如果需要)。 这样,每次不确定句子中某个单词的含义时,都可以将鼠标悬停在该单词上,静态的歧义信息将显示为弹出窗口。 该功能与<abbr><acronym> HTML标记以及经过特殊编程JavaScript onmouseover()函数一起在当今的浏览器中很常见。 所有这些都假定读者具有英语的良好知识。

“多么乏味!” 你说。 “对任何文本进行消歧可能会花费作家十倍的时间!” 我的回答是:“创建者之船是否在对细节的关注不足的岩石上?” 可能是因为我有一个更令人发指的建议,它将增加任何可感知的乏味。 但是,当然,奖励是那些可以轻松完成繁琐任务的人。 坚持下去:会有更多的光线和更少的乏味。

高级消歧

认为您在页面上看到的单词只是冰山一角。 可见的提示已以您识别的形式(作为人类)呈现给您(可以根据给定单词周围的上下文进行解释)。 但是,技巧的下方是大量沉入页面的其他信息,例如指向当前文档内外的相关资源的链接。

XML泛化

您可以使用XML以以下方式处理此问题。 考虑清单1中的XML。

清单1. XML的高级概括
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Let's call this file myxml.xml -->
<doc>
  <section id='1' hr='The'>The</section>
  <section id='2' hr='cow' wnssid='n02403454'>cow2</section>
  <section id='3' hr='jumped' wnssid='v01963942'>jump16</section>
  <section id='4' hr='over the'>over the</section>
  <section id='5' hr='moon' wnssid='n09358358'>moon2</section>
</doc>

清单1中有一个根元素doc ; 在该上下文中有许多section元素。 每个section元素都具有在特定上下文中有用的属性,读者可以访问它们。 请注意,在这一点上,我选择消除名词和动词的歧义只是为了提出基本要点。

来自XML的演示

裸XML对最终读者毫无用处,因此清单2是一个基本PHP脚本,用于将内容呈现给未指定的读者。

清单2.裸提取
<?php
$xml = simplexml_load_file("myxml.xml"); 
foreach ($xml->section as $sec) {
  echo "$sec ";                  
}
echo "\nDone\n";
?>

该PHP代码将清单1中的XML数据读入一个object变量。 然后,使用foreach语句列出section元素的裸内容。

该代码导致字符串The cow2 jump16 over the moon2 ,其中cow2jump16moon2是任意的标签,对机器和人类都没有帮助,此处仅用于说明。 (实际上,它们是我的查询返回到我的WordNet数据库本地副本的索引号。)在这种形式下, The cow1 jump3 over the moon1意味着完全不同。 但是对于人类来说,区别尚不清楚。

演示的主要原则之一是使您的信息适应受众。 清单3为人类读者展示了一种可能的选择。

清单3.提取人类
<?php
$xml = simplexml_load_file("myxml.xml"); 
foreach ($xml->section as $sec) {
  echo $sec['hr']." ";
}
echo "\nDone\n";
?>

该代码与清单2中的代码的不同之处在于,它仅报告hr (人类读者)属性,从而导致字符串The cow jumped over the moon ,这很好,因为它是我开始的地方,并表明这是a的特殊情况。更一般的介绍。 但这还不是很清楚。

最后, 清单4显示了机器阅读器的代码。

清单4.提取机器
<?php
$xml = simplexml_load_file("myxml.xml"); 
foreach ($xml->section as $sec) {
  echo $sec['wnssid']." ";
}
echo "\nDone\n";
?>

此代码与清单3的不同之处在于,它仅提取wnssid (WordNet synsetid )。 同义词集存储在数据库中,并由annnnnnnn形式的唯一键标识,是指相同事物的词组。 输出n02403454 v01963942 n09358358的内容告知机器。

该信息对于人类阅读者来说太具体了,因此假设在此上下文中的指令echo使该信息可用于另一个例程,该例程检查同义词集的内容并使用相关的从属信息来帮助读者。 这样,您可以将相关的丰富数据库信息从WordNet中继回用户。 当读者将鼠标悬停在单词上时,您可能会以蓝色显示cowjumped人和moon ,并在弹出窗口中提供WordNet信息(就像我之前在“ 基本歧义消除 ”一节中所做的那样)。 例如,使用用于信息jumped从ID为v01963942,可以显示的同义词集leap, bound, spring

您可能已经注意到原始的“ The”和“ over the”没有出现在输出中。 但是它们并不重要,因为这样的假设是,外部例程将从其所拥有的信息中以自己的方式重构该句子,可能是带有箭头的图片,或者是使用不使用定冠词的语言。 在这种情况下,冠词,介词,连词等可能都不起作用。

同样,您可以添加诸如roget='xxx"属性:

清单5.添加另一个属性
<section id='3' hr='jumped' 
    wnssid='v01963942' 
    roget='309'>jump16</section>

该代码使Roget 同义词库的内容清晰可辨,可供机器使用-特别是项目309,即使“跳转”在Roget的其他地方也逐项列出,但它单独探讨了“跳跃”的概念。 您还可以添加Wikipedia链接或与上下文相关的任何其他内容,以使读者稍后退出,这会将受众考虑在内。

结论

显然,您可以使用XML作为工具来帮助存储和重组针对不同受众的歧义文本。 但这似乎是很多工作。 几乎没有当前文献以歧义的方式提出,因此除非有人发现一种能够即时消除歧义的方法,否则有人将不得不付出更大的努力才能做到这一点,而这一过程目前还不完善。

但是,可能没有必要对整个文本进行歧义消除:完全具有代表性的摘要可能就足够了。 然后,在许多情况下,对已消除歧义的摘要执行搜索将提供准确的结果集,并且成本要低得多,因为您可以在更少的时间(假设摘要比文本短)中搜索更多文档,并且功率也成比例地降低。 有关使用这种类型的歧义消除的简单搜索引擎的示例,请参阅DAMSEL( 有关链接,请参阅参考资料)。

值得付出努力吗? 在某种程度上,我可以通过指定“牛水牛”来提出一个包含复杂术语的搜索,以减少歧义,如果这是我的意思,请保持指望,这就是作者最初表达该概念的方式。 但是,如果原始作者用泰语毫无歧义地写作,那么搜索就困难得多。

他们说人类只使用他们大脑能力的10%。 人类没有理由将机器局限于同一命运。


翻译自: https://www.ibm.com/developerworks/xml/library/x-disambig/index.html

xml文件消除黄色警报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值