<p>在这个问题中,你可以尝试类似<a href="https://en.wikipedia.org/wiki/Tf%E2%80%93idf" rel="nofollow noreferrer">Mahalanobis distance</a>的方法。在</p>
<p>(<em>我不能在这里添加公式作为图像,因为我没有足够的声誉-请检查等式-我将尝试解释下面的想法</em>)</p>
<p>从本质上讲,Mahalanobis距离试图从分布<code>D</code>找到一个点<code>P</code>的距离。在</p>
<p>所以在你的情况下:</p>
<ol>
<li><p>获取类的分布<code>D</code></p>
<p>首先,我们需要类中每个文档的向量表示。现在可以用各种方法来实现这一点——最基本的方法是,我们可以根据每个doc的<a href="https://en.wikipedia.org/wiki/Tf%E2%80%93idf" rel="nofollow noreferrer">tf-idf</a>得到一个向量表示。然后我们可以使用这些向量计算类的<code>mean</code>和协方差<code>S</code>。在</p>
<p>更复杂的方法是通过一些文档表示模型(如<a href="https://radimrehurek.com/gensim/auto_examples/tutorials/run_doc2vec_lee.html" rel="nofollow noreferrer">Doc2Vec</a>)来获得每个文档的向量表示—请阅读有关它的更多信息<a href="https://cs.stanford.edu/~quocle/paragraph_vector.pdf" rel="nofollow noreferrer">here</a>。</p></li>
<li><p>计算类中每个doc的Mahalanobis距离</p>
<p>取每个doc的向量表示,并使用公式计算它与<code>D</code>之间的距离。你必须设置一些阈值,这个阈值可以通过检查几个例子来决定,你很确定自己是一个离群值。在</p>
<p>甚至可以在某种程度上实现自动化——您可以计算每个doc的距离并从这些距离中得到一个分布(比如<a href="https://en.wikipedia.org/wiki/Weibull_distribution" rel="nofollow noreferrer">Weibull distribution</a>)。</p></li>
</ol>
<p>我必须补充一点,这个方法的有效性取决于类中离群值的比例-离群值越多,它们对分布的影响就越大<code>D</code>。在</p>