<p>@taiwotman我不知道你训练过的语料库文件。简而言之,最佳匹配算法是这样工作的,Bot将迭代您训练Bot的所有语句。在</p>
<pre><code>closest_match.confidence = 0
# Find the closest matching known statement
for statement in statement_list:
confidence = self.compare_statements(input_statement, statement)
if confidence > closest_match.confidence:
statement.confidence = confidence
closest_match = statement
</code></pre>
<p>Chatterbot使用默认的语句比较算法是<a href="https://github.com/gunthercox/ChatterBot/blob/master/chatterbot/comparisons.py#L35" rel="nofollow noreferrer">levenshtein_distance</a></p>
<p>在您的示例中,场景如下所示</p>
^{pr2}$
<p>在这个例子中,<strong>置信度是1.0</strong>,你将得到答案<code>Artificial Intelligence is the branch of engineering and science devoted to constructing machines that think.</code></p>
<p>我想你对这个案子很困惑。喋喋不休的人<code>default threshold values is 65%</code>。在所有具有<strong>更大信心的陈述中,</strong>那么它将成为回应。在</p>
<pre><code>confidence = self.compare_statements('What is ai?', 'What is a joke?')
</code></pre>
<p>在这个例子中,<strong>置信度是0.77,大于0.65</strong>,你会得到答案<code>Artificial Intelligence is the branch of engineering and science devoted to constructing machines that think.</code>我想你试过你的机器人<code>ai conversations</code>否则你会得到准确的结果。在</p>
<p>但是,您可以通过使用<a href="http://chatterbot.readthedocs.io/en/stable/logic/index.html#low-confidence-response-adapter" rel="nofollow noreferrer">low-confidence-response-adapter</a>将confidence设置为<strong>0.90</strong>来获得更细粒度的结果。在</p>
<p>同样的答案也适用于第二个问题。请告诉我你对这个问题的建议/改进意见</p>