如何从输入中获取关键字,例如(textarea
,text
,...),然后将该关键字存储在array
的{{1}}中单词的长度大于或等于7让我向您展示一个示例我在HTML中有以下段落:
string
我在<html>
...
<body>
<textarea id="keyword" cols="10" rows="20" placeholder="write content here"></textarea>
</body>
</html>
填写以下内容:
Laravel附带的Eloquent ORM提供了一个漂亮,简单的ActiveRecord实现,用于处理您的数据库。
然后我想将关键字存储在JavaScript中,例如:
textarea
我该怎么做?
答案 0 :(得分:1)
您尝试创建的功能是不可能的,因为如果您查看任何信息性的句子,那么您将找到数十亿这样的关键字。 Javascript或PHP语言不知道这些是否是特殊词,它只是我们将这些视为关键词的人。因此,对于此问题,您可能希望自己定义数组。
*可以有一种方式。您可以检查段落中的每个单词,如果第一个字母是大写字母,那么您可能希望存储该单词(因为大多数关键字都以大写字母开头)。计算出这个逻辑的代码。
答案 1 :(得分:0)
我会尝试POSTagging。
这可能会指向正确的方向https://github.com/dariusk/pos-js
我要做的是确定所有这些的词性,然后浏览列表并添加到一个数组中,这些数组是名词和形容词。
它不会是完美的,但它将是一个开始。这是一个代码示例
var pos = require('pos');
var words = new pos.Lexer().lex('The Eloquent ORM included with Laravel provides a beautiful, simple ActiveRecord implementation for working with your database');
var tagger = new pos.Tagger();
var taggedWords = tagger.tag(words);
var output=[];
for (i in taggedWords) {
var taggedWord = taggedWords[i];
var word = taggedWord[0];
var tag = taggedWord[1];
//check if tag is a noun or adjective
if(tag.indexOf('NN')==0 || tag.indexOf('JJ')==0)
output.push(word)
}
console.log(output)
我的输出是
[ 'Eloquent',
'ORM',
'Laravel',
'beautiful',
'simple',
'ActiveRecord',
'implementation',
'database' ]
基本上,只有简单出现