serjazz/text-lang-correct

该软件包最新版本(dev-master)没有可用的许可信息。

由于错误的键盘布局,自动纠正文本中的单词语言。

dev-master 2024-04-29 10:51 UTC

This package is auto-updated.

Last update: 2024-09-29 11:35:53 UTC


README

由于错误的键盘布局,自动修正文本中单词的语言

目的

  • 查询校正* 校正现有和新文本,这些文本由访问者发布在网站上。

功能

  • 模式 SIMILAR_CHARS. 修正不同键盘布局中外观相同的单词中错误输入的字母。隐藏在俄语字母中的拉丁字母被修正为俄语,反之亦然。该算法运行足够可靠且快速。* 模式 KEYBOARD_LAYOUT. 修正另一个键盘布局中错误输入的单词。使用 N-gram 来确定语言。算法有时可能会出错,运行速度比 SIMILAR_CHARS 慢得多。算法不断改进。为了保持质量,存在一个测试单词集,它不包括在供应中。* 双向校正俄语和英语单词。* 校正混合语言中的单词。* 字符编码 UTF-8。* 类可以不使用 mbstring 和 iconv 扩展运行!

示例

  "\xd1\x81\xd0\xbesm\xd0\xbe" => 'cosmo' (2 первых и последняя буква — ошибочные)
  "\x78\x70\x65н"              => 'хрен'  (первые 3 буквы — ошибочные)
  "вебvfcnth"                  => 'вебмастер'
  "webьфыеук"                  => 'webmaster'
  "цццюмуыеш.ru"               => 'www.vesti.ru'
  "\x54.\x43.\x48\x61вка"      => 'Т.С.Навка'

提示

算法在具有自动补全功能的输入字段中的工作示例

  1. 从数据库中根据原始查询进行抽样;2. 如果有结果,返回结果和原始查询;3. 否则,通过校正原始查询;4. 如果原始和校正的查询相同,返回空结果和原始查询;5. 否则,从校正查询中从数据库中抽样;6. 返回结果。如果结果不为空,则返回校正查询,否则返回原始查询。