gpt4 book ai didi

elasticsearch - 如何在Elasticsearch中将某些单词组合成 token ?

转载 作者:行者123 更新时间:2023-12-03 02:33:49 26 4
gpt4 key购买 nike

对于像“这是美好的一天”这样的字符串,我想将字符串标记为标记:
“这是美好的一天,美好的一天”,在这里我可以指定一组要组合的词。在这种情况下,只有“美丽”和“一天”。

到目前为止,我已经使用Shingle过滤器生成 token 列表,如下所示:
“这是一个美好的一天,美好的一天,一天,这一天,”

如何进一步过滤上面的 token 列表以产生所需的结果?

这是我当前的代码:

shingle_filter = {
"type": "shingle",
"min_shingle_size": 2,
"max_shingle_size": 3,
"token_separator": " "
}

body = {'tokenizer':'standard','filter':['lowercase', shingle_filter], 'text':sample_text['content'], 'explain':False}

standard_tokens = analyze_client.analyze(body= body, format='text')

最佳答案

经过一番努力后,似乎predicate_token_filter是我需要的。

shingle_filter = {
"type": "shingle",
"token_separator": " "}

predicate_token_filter_temp = {
"type" : "predicate_token_filter",
"script" : {
"source" : "String term = \"beautiful day\"; token.getTerm().toString().equals(term)"
}}

body = {'tokenizer':'standard','filter':['lowercase', shingle_filter, predicate_token_filter_temp], 'text':sample_text['content'], 'explain':False}

standard_tokens = analyze_client.analyze(body= body, format='text')

我不确定这是最好的方法,但可以完成工作。

关于elasticsearch - 如何在Elasticsearch中将某些单词组合成 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59354822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com