n gram演算法搜尋答案

2021-08-21 01:23:59 字數 1687 閱讀 8822

估計這是6月份最後一篇部落格了,這個月好像產出沒那麼多,可能是因為一直在忙於開題的事,所以沒有太多的心思放在碼**上,所以這篇部落格要發布我最新使用「全n-gram」演算法來對問題進行搜尋,準確率還是很高的,希望大家可以在剛開始做問答的時候能用到。

# -*- coding:utf-8 -*-

import ******_so as so

defi_question

(): print('請輸入問題')

question = input()

return question

'''使用n-gram演算法進行問題分析'''

defgram

(): question = i_question()

n_word =

for i in range(len(question)+2):

for n in range(len(question)):

one_anw = question[n:n+i-1]

if one_anw != ''

and len(one_anw) >= 2

and one_anw not

in n_word:

else:

continue

return n_word

'''對每個組進行問題搜尋'''

defseanswer

(): set_answer =

ron_answer =

n_word = gram()

for key_word in n_word:

answer = so.qa(key_word)

if answer != :

else:

continue

for i in range(len(set_answer)):

ron_answer.extend(set_answer[i])

return ron_answer

'''將排名前20個的答案提出來'''

這裡面是我隨意從問答庫中選擇的乙個問題和答案的截圖,請注意問題的敘述,這和接下來輸入問題的問法是不同的。

當我輸入想要的問題後,程式把前20中最後可能是答案的句子輸出了,可以看到,第一行的是34次,因此,我們可以認為該句子就是最正確的答案,其餘的句子可以忽略。大家可以只輸出第乙個句子作為答案。

人工智慧搜尋演算法 測試答案 二

1.在啟發式搜尋 有資訊搜尋 中,評價函式的作用是 b 2.在啟發式搜尋 有資訊搜尋 中,啟發函式的作用是 a 得分 總分 3在貪婪最佳優先搜尋中,評價函式取值和啟發函式取值之間的關係是 d 4.在a 搜尋演算法中,評價函式可以如下定義 d 5.為了保證a 演算法是最優的,需要啟發函式具有可容 ad...

NLP中的Ngram演算法簡易原理及overlap

查到的大多數部落格寫的都比較複雜,在看到乙個stanford cs276的課件之後,決定按照自己的理解來寫一點,權做拋磚引玉了。假定給予兩個詞 november december 則unibram是 n o v e m b e r d e c e m b e r bigram是 no ov ve e...

演算法學習 二分搜尋二分答案2

顧名思義,二分答案就是用二分查詢的思路去找答案,下面通過舉例來說明。題目 p1873 砍樹 砍下樹木的高度 h 從 0 一直到所有樹木中最高的高度 hmax 依次遞增,我們可以此為依據進行二分搜尋得出答案。includeusing namespace std long long n,m,arr 10...