首页 > 解决方案 > 如何将连续的字符串输入与javascript中的段落匹配,同时显示错误?

问题描述

嘿伙计们,我正在开发一个应用程序,到目前为止它进展顺利,但是在处理最近的功能时我有点卡住了。这是我的问题:使用 java 脚本,我得到连续的用户语音输入并转录它。当我得到这个语音输入时,我希望能够识别并突出显示正在阅读的屏幕上的文本。我想突出显示错误(说出的单词不匹配),并且我想突出显示所有正确的内容。我不是要求有人为我编写代码,我只是想指出正确的方向。

您可能已经在在线打字游戏中看到过类似的实现。您尝试尽可能快地键入段落的部分内容,它会突出显示您正确的部分和错误的部分。

任何帮助都值得赞赏,我应该搜索的库、算法、方法或术语。谢谢 !

标签: javascriptstringalgorithm

解决方案


你在索引文本吗?你提前知道正文吗?如果您使用文本中的每个单词创建了一个内存图形数据库,您可以搜索边以找到“加权”命中。这是雄心勃勃的,但这里有一篇文章:

https://graphaware.com/neo4j/2016/07/07/mining-and-searching-text-with-graph-databases.html

如果您想变得简单并遵循您的打字游戏类比:

  • 在打字游戏中,每个输入(按键)都会触发一个事件。
  • 按下的键与预期的键进行比较。
  • 如果不正确,则将其标记为错误。
  • 通常没有办法回去纠正错误。
  • 用户必须正确输入下一个预期的字母才能让事情再次正确滚动。

你可以做同样的事情。

  • 在下一个预期单词下划线。
  • 每个单词(空格)都是一个事件。
  • 将文本到语音单词与预期单词匹配。
  • 如果不正确,将其标记为错误,删除它。
  • 用户必须正确说出下一个带下划线的单词才能重新开始顺利进行。
  • 您可以允许用户退格预期的单词,以便他/她可以从他们想要的地方重新开始。

这会有一些小问题,就像语音到文本的所有事情一样,但它会像你的打字游戏一样工作并且易于实现。


推荐阅读