nikkoz/text-lang-correct

键盘布局错误纠正

v0.0.5 2020-06-30 10:12 UTC

This package is auto-updated.

Last update: 2024-09-29 05:42:45 UTC


README

Build Status

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

目的

  1. 搜索查询纠正
  2. 纠正网站上发布的新旧文本。

功能

  1. SIMILAR_CHARS模式。纠正不同键盘布局中外观相同的单词中的错误输入。在俄罗斯字母中,不明显的拉丁字母被更正为俄罗斯字母,反之亦然。该算法运行得足够可靠和快速。
  2. KEYBOARD_LAYOUT模式。纠正另一个键盘布局中的错误输入的单词。使用N-gram来确定语言。该算法有时会出错,比SIMILAR_CHARS慢得多。该算法不断改进。为了保持质量,存在一个测试单词集,它不包括在交付中。
  3. 俄语和英语单词的双向纠正。
  4. 纠正混合语言中的单词。
  5. 字符编码 - Text\Util\UTF8。
  6. 类可以在没有mbstringiconv扩展的情况下运行!

示例

"\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. 否则,通过Text\Text_LangCorrect纠正原始查询;
  4. 如果原始查询和纠正后的查询相同,则返回空结果和原始查询;
  5. 否则,根据纠正后的查询从数据库中提取样本;
  6. 返回结果。如果没有结果,则返回原始查询,否则返回纠正后的查询。