使用javascript突出显示类似含义的单词

时间:2014-11-09 16:53:32

标签: javascript highlight

我正在尝试使用众包来检测跨语言剽窃的网络应用程序。界面包含2种不同语言的文本,用户必须决定是否发现文本是相似的(抄袭)。我需要有关文本突出显示功能的帮助,这与Google翻译提供的功能类似。每当用户将鼠标悬停在一个单词上时,不仅该单词被突出显示,而且在另一种语言中与该单词相似的单词也会突出显示。界面还包含每种语言的前10个单词列表。无论什么时候

这是截至目前为止的网络应用截图 It currently highlights same words only, I want to extend it to highlighting similar meaning words

我在后端运行ML算法,它给出了一个类似意义词的列表。我正在使用PHP,JavaScript作为前端。直到现在我能够实现一个突出相同单词的功能,但我想扩展这个想法以突出显示相同的单词。

我想知道如何创建多个数组的列表,以便每当用户将鼠标悬停在某个单词上时,该数组中的所有单词也会突出显示。我可以使用数据库动态创建它而不是手动创建这些数组,因为会有很多这样的文档吗?

1 个答案:

答案 0 :(得分:1)

很高兴看到你想要的一个例子。假设您从服务器获得了每个单词的相似单词数组 -

你可以通过维护一个简单的JSON对象来做到这一点(如下所示)(可以作为字典或散列图)。

像这样 -

var dict = {
    'hello': ['hi', 'hola', 'bonjour'],
    'world': ['world', 'monde'] 
}

您可以在JavaScript中创建它。

var dict = {};

var word = 'hello';
var similar_words = ['hi', 'hola', 'bonjour']; //returned by your server

//push the word into your random access dictionary
dict[word] = similar_words;

//In the hover callback you could access the array you want directly using dict[word].

或者,您也可以在服务器上创建一个类似的JSON对象,并预先计算所有相似的单词词典,并将JSON文档存储在像MongoDB这样的数据库中。