假设我们有一个搜索输入字段。并且我们的用户有两种键盘布局(En)(Fa):
有时用户忘记更改键盘布局,
因此,而不是=> “سلام”
输入=> “ sghl” 。
在这种情况下,谷歌几乎可以检测到问题,并提供适当的结果。
第一,我不知道此算法的名称是什么。
我在https://searchengineland.com/how-google-instant-autocomplete-suggestions-work-62592中搜索并找到了“ Google即搜即得的自动完成功能”,但事实并非如此,
检查我的屏幕截图:https://imggmi.com/full/2019/4/12/b411bcbe08dcd1eb02a46487e836a0b2-full.png.html我写了“لخخلمث”而不是“ google”,但是google提供了正确的结果。
第二个主要问题,我在https://www.npmjs.com/package/convert-layout中发现了“转换布局”,这正是我所需要的。它是'fromEn()'函数,更改了错误的输入以更正输入,
我的项目是有角度的,所以我写:
print(min(a))
print(max(a))
我希望得到“سلام”,但返回“س`شا”,这是不正确的。
我在https://github.com/ai/convert-layout/blob/master/fa.json中检查了源,并且地图正确:
“ s”:“س”,
“ g”:“ل”,
“ h”:“ا”,
“ l”:“م”,
出什么问题了?
答案 0 :(得分:0)
我认为您不需要使用任何库。您可以编写一个简单的javascript函数并将错误的单词传递给它(例如,以您的情况为A = -4.05218922e-02
C = 2.74772524e-01
x0 = 8.69008279e+01
p = 0.997
)。此功能可以是这样的:
sghl
答案 1 :(得分:0)
我已将此代码写作个人使用。随时根据需要进行修改(您可以根据要旨here找到它):
function fixPersian(input) {
var letters = {
'q': 'ض',
'w': 'ص',
'e': 'ث',
'r': 'ق',
't': 'ف',
'y': 'غ',
'u': 'ع',
'i': 'ه',
'o': 'خ',
'p': 'ح',
'[': 'ج',
']': 'چ',
'a': 'ش',
's': 'س',
'd': 'ی',
'f': 'ب',
'g': 'ل',
'h': 'ا',
'j': 'ت',
'k': 'ن',
'l': 'م',
';': 'ک',
'\'': 'گ',
'z': 'ظ',
'x': 'ط',
'c': 'ز',
'v': 'ر',
'b': 'ذ',
'n': 'د',
'm': 'پ',
',': 'و',
'C': 'ژ',
'H': 'آ',
'A': 'ؤ',
'S': 'ئ',
'G': 'أ',
'L': '«',
'K': '»'
};
var output = '';
for (var i = 0, il = input.length; i < il; i++) {
output += letters[input.charAt(i)] || input.charAt(i);
}
return output;
}