问题列表 - 第32194页

真实世界的错字统计?

我在哪里可以找到一些真实的拼写错误统计数据?

我试图将人们的输入文本与内部对象进行匹配,人们往往会犯拼写错误.
有两种错误:

  1. typos - "Helllo"而不是"Hello"/"Satudray"而不是"Saturday"等.
  2. Spelling - "Shikago"而不是"芝加哥"

我使用 Damerau-Levenshtein距离进行拼写错误,使用Double Metaphone进行拼写(Python实现此处此处).

我想专注于Damerau-Levenshtein(或简单地说edit-distance).教科书实现总是使用'​​1'来表示删除,插入替换和转置的权重.虽然这很简单并且允许很好的算法但它与"现实"/"真实世界概率"不匹配.

例子:

  • 我确定"Helllo"("Hello")的可能性大于"Helzlo",但它们距离都是1个编辑距离.
  • 在QWERTY键盘上,"Gello"比"Qello"更接近"Hello".
  • Unicode音译:"慕尼黑"和"慕尼黑"之间的"真实"距离是多少?

删除,插入,替换和转置的"真实世界"权重应该是什么?

即使是Norvig非常酷的拼写校正器也使用非加权编辑距离.

BTW-我确定权重需要是函数而不是简单的浮点数(根据上面的例子)......

我可以调整算法,但在哪里可以"学习"这些权重?我无法访问Google规模的数据 ...

我应该猜猜他们吗?

编辑 - 尝试回答用户问题:

  • 由于上述原因,我当前的非加权算法在遇到拼写错误时经常失败."星期四回归":每个"真人"都可以很容易地告诉周四比周二更有可能,但他们都是1编辑距离!(是的,我会记录并衡量我的表现).
  • 我正在开发NLP旅行搜索引擎,因此我的词典包含~25K目的地(预计将增长到100K),时间表达式~200(预期1K),人物表达式~100(预期300),货币表达式~100(预期500 ),"胶水逻辑词"("从","美丽","公寓")~2K(预计10K)等...
  • 对于上述每个单词组,编辑距离的使用是不同的.我尝试"在明显时自动纠正",例如,与字典中的另一个单词相距1个编辑距离.我有许多其他手动调整的规则,例如Double Metaphone修复,距离长度> 4的字典单词不超过2个编辑距离...当我从现实世界输入中学习时,规则列表继续增长.
  • "你的门槛中有多少对字典条目?":嗯,这取决于"花式加权系统"和现实世界(未来)输入,不是吗?无论如何,我进行了大量的单元测试,因此我对系统所做的每一项更改都会使其更好(当然,基于过去的输入).大多数6个字母的单词距离与另一个字典条目相距1个编辑距离的单词在1个编辑距离内.
  • 今天,当有两个字典条目与输入相同的距离时,我尝试应用各种统计数据来更好地猜测用户的意思(例如,巴黎,法国更有可能出现在我的搜索中,而不是Pārīz,伊朗).
  • 选择错误单词的成本是将半随机(通常是荒谬的)结果返回给最终用户并可能失去客户.不理解的成本稍微低一些:用户将被要求改写.
  • 复杂的成本值得吗?是的,我确定是的.你不会相信人们在系统中投入的拼写错误,并希望它能理解,我确信可以使用Precision和Recall中的提升.

python fuzzy-search machine-learning spelling

41
推荐指数
3
解决办法
6877
查看次数

使用Javascript/jQuery重新检测IE6

我需要检测IE6才能解决缺少位置的问题:修复.我一直在使用一个简单的正则表达式:

var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
Run Code Online (Sandbox Code Playgroud)

除了浏览器声称同时属于IE6和IE7的用户外,这几乎一直都有效:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.30)
Run Code Online (Sandbox Code Playgroud)

辉煌.

我喜欢使用jquery.support,但看起来它不支持查询position:fixed是否可用.所以我回来检测IE6.

有各种建议的解决方案,例如寻找maxHeight的存在.但那些似乎相当随意并吓到我 - 如果上面的正则表达式有例外,我怎么能确定maxHeight没有例外?

我正在考虑使用条件评论 - 至少它是IE本身声称是IE6,而不是黑客.就像是:

<!--[if IE 6]>
<SCRIPT> var isIE6 = true; </SCRIPT>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

或者,可以直接测试position:fixed是否可用,但这看起来有点沉重.

我的条件评论方法不起作用的任何原因?有更好的方法吗?

javascript css jquery internet-explorer-6 browser-feature-detection

3
推荐指数
2
解决办法
394
查看次数

如何使用Reflection创建C#数组并仅键入info?

我无法弄清楚如何使这项工作:

object x = new Int32[7];
Type t = x.GetType();

// now forget about x, and just use t from here.

// attempt1 
object y1 = Activator.CreateInstance(t); // fails with exception

// attempt2
object y2 = Array.CreateInstance(t, 7);  // creates an array of type Int32[][] ! wrong
Run Code Online (Sandbox Code Playgroud)

什么是秘诀?如果我能得到数组元素的类型,我可以使第二个工作,但我也没有想到那个.

c# arrays reflection constructor

42
推荐指数
2
解决办法
3万
查看次数

如何在Python中删除文件(位于运行脚本的同一目录中)?

我正在尝试删除我正在运行我的Python程序的目录中的某个文件.

def erase_custom_file():
    directory=os.listdir(os.getcwd())      
    for somefile in directory:
        if somefile=="file.csv":
           os.remove(???)
Run Code Online (Sandbox Code Playgroud)

我不确定我的下一步应该是什么.我知道这os.remove需要一个参数的路径,但我不知道如何将它指向我想要的文件.请帮帮我?

python delete-file

1
推荐指数
1
解决办法
330
查看次数

密码更改:最佳实践

我正在编写 Baby 的第一个 Web 应用程序。我的第一个任务是建立一个身份验证系统,我认为我做得很好。不过,我对整个事情都很陌生,所以:

当用户报告他忘记了密码时,我会通过电子邮件以纯文本形式向他发送临时替换密码。这也许不是处理这种情况最安全的方法,但这是我目前的做法。我确实强迫他在下次登录时更改它,我使用的技术是在数据库中携带一个“必须更改”字段,对于已发送电子邮件的用户设置为 true。

我的问题:在这种情况下,单独的数据库列是最好的策略吗?或者我可以做更好的事情吗?

database security authentication web-applications

5
推荐指数
1
解决办法
562
查看次数

.net控制台应用程序生命周期 - 解决BuildManager.GetReferencedAssemblies中的启动前初始化错误

我正在尝试在我的控制台应用程序中遍历引用的程序集.我已与其他项目BuildManager.GetReferencedAssemblies这样做,但在我的控制台应用程序,我得到一个InvalidOperationException:此方法不能在应用程序的预启动初始化阶段被调用.

据我所知,没有办法在控制台应用程序中延迟执行.你是在static void Main中做的,或者你根本不这样做......任何人对如何解决这个问题都有任何建议吗?

.net console-application buildmanager

1
推荐指数
1
解决办法
2990
查看次数

如何在Android应用程序的TextView中大写文本的第一个字母

我也没有提到textInput.我的意思是,一旦你在一个TextView具有静态文本(从数据库调用填充到用户输入的数据(可能不是大写)),我怎么能确保他们的资本?

谢谢!

xml android

71
推荐指数
5
解决办法
9万
查看次数

在python中使用if语句生成器

或者如何在修改后的列表中使用if语句.

我一直在阅读StackOverflow一段时间(感谢大家).我喜欢它.我也看到你可以发一个问题并自己回答.很抱歉,如果我复制,但我没有在StackOverflow上找到这个特定的答案.


  • 如何验证元素是否在列表中但是在同一时间修改它?

我的问题:

myList = ["Foo", "Bar"]
if "foo" in myList:
  print "found!"
Run Code Online (Sandbox Code Playgroud)

由于我不知道列表中元素的情况,我想与小写列表进行比较.明显但丑陋的答案是:

myList = ["Foo", "Bar"]
lowerList = []

for item in myList:
  lowerList.append(item.lower())

if "foo" in lowerList:
  print "found!"
Run Code Online (Sandbox Code Playgroud)

我可以做得更好吗?

python if-statement list-comprehension list generator

5
推荐指数
1
解决办法
5154
查看次数

什么HTML标记最适合在网格或表格中显示?(有特殊需要)

我正在尝试构建一个基于CSS的表,该表将填充来自数据库的信息.

用于此结构化数据的最合适的标记是什么?我最初认为是ul,因为每一行都是一个无序的数据列表......但后来我发现了一些使用CSS进入网格的困难.

我现在正在看DIV(内联?)和Span.可能还有其他人.什么标签被认为是显示基于CSS的网格的行业标准方式?

虽然我有兴趣从DOM-Theory的角度来学习什么是最合适的,但最终我想要在浏览器中保持一致的干净代码......这可能会彻底清除ul标签.

专家们怎么想?

更新

所以似乎每个人都建议我使用表格来表示(duh)表格数据.我对这个问题感到愚蠢的唯一原因是因为我的ASP.net网格供应商在动态调整大小的网格方面存在问题......并且允许在客户端上调整列的大小.

供应商声称列调整大小的原因是因为表格.他们将转向基于DIV的布局来解决问题.我很快就会发布参考链接......

搜索单词"基于",您将看到MVP提及内部更改的帖子:http: //stagev5.componentart.com/community/forums/t/60782.aspx

更新2:

也许一个大的非基于表格的网格也会渲染得更快.

您可能会说我需要大量的可扩展性(对于大型行集)以及调整窗格大小的能力.与Outlook目前的外观/运营方式非常相似:

替代文字

需求摘要:我正在寻找一种表格方法,允许:

  • 快速渲染
  • 大数据集
  • 丰富的格式
  • 调整外部容器/ div的大小的能力
  • 更改外部容器的宽度/高度时,列将保持width属性或增长,如HTML中所定义

html css html-table

5
推荐指数
1
解决办法
1631
查看次数

将合并字典添加到合并字典

我似乎无法将合并的字典添加到XAML中的合并字典集合中.

Theme.xaml

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/Mine;component/Themes/Palette.Blue.xaml"/>
    <ResourceDictionary Source="/Mine;component/Themes/Template.xaml"/>
</ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)

应用资源

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Mine;component/Themes/Theme.xaml"/> 
            <!--
            <ResourceDictionary Source=="/Mine;component/Themes/Palette.Blue.xaml"/>
            <ResourceDictionary Source="/Mine;component/Themes/Template.xaml"/>
            -->
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)

注意:如果我将两个ResourceDictionaries放在Appication.Resources MergedDictionary中(注释掉theme.xaml并取消注释其他两个词典),它们都会正确加载.但是,我们的资源定义方式,这可能意味着将加载相当多的资源,而对于动态加载,我希望能够定义模板.

silverlight wpf xaml resourcedictionary

21
推荐指数
1
解决办法
1万
查看次数