1

我必須實現一個模塊,我需要將具有類似含義的語句(字符串)分組到不同的聚類中。我讀了關於k-means,EM聚類等等。但是我面臨的問題是這些算法是用圖上的向量點解釋的。我沒有得到這些算法如何實現具有類似含義的句子(字符串)。請建議一些適當的方法。字符串聚類算法

例如, 讓我們考慮一個課堂場景.. 1)老師有充足的知識。 2)學生明白教師教什麼。 3)老師有時在課堂上守時。 4)老師在課堂上可以聽到。

可以說我們有這4句話。然後看他們,我們可以說,句子1和2具有相似的含義。但是句子3和4既不相關,也不相關。這樣我需要對句子進行分類。那麼怎麼做呢?

+0

這是一個很大的問題。我認爲Google的Udacity的「深度學習」課程提供了一個很好的免費的使用'tensorflow'與python進行文本挖掘的介紹。 –

+0

我不認爲這個問題有一個最佳答案,所以我投票決定將它關閉得太寬泛。這就是說 - 看一下「Word to Vector」或「Word Embedding」模型,這些模型在這方面顯示出很多承諾。 – templatetypedef

回答

2

首先你應該讓自己熟悉bag of words的概念。 基本思想IST在一個句子中的每個單詞映射上出現,例如數量,對於句子hello worldhello tanay會得到映射到

Hello World Tanay 
    1 1  0 
    1 0  1 

這使您可以使用標準方法之一。

也犯不着將在看看TF/DF它是由重新稱量詞在bag of words表示,他們的重要性來區分(在你的情況或句子)的文件

其次,你應該看看LDA這是專門爲將概念聚集在單詞上而設計的。儘管如此,它是由概念構成的。

對我而言,最有希望聽起來像是這些方法的組合。生成bags of words,使用TF/DF重新調整bag of words,運行LDA並使用LDA概念增加重新編號bag of words,然後使用標準聚類算法。

+0

讓我們考慮一下課堂場景.. 1)老師有足夠的知識。 2)學生明白教師教什麼。 3)老師有時在課堂上守時。 4)老師在課堂上可以聽到。 可以說我們有4個句子。然後看他們,我們可以說,句子1和2具有相似的含義。但是句子3和4既不相關,也不相關。這樣我需要對句子進行分類。那麼怎麼做呢? –

+2

@TanayNarkhede:爲了改善您的問題,您應該將此評論與編輯合併。儘管如此,這個例子讓我懷疑這是可能的。因爲,即使我作爲一個人,也很難看出這種聯繫,因爲它深深地隱藏在句子的語義中。 – CAFEBABE

2

集羣不能做到這一點。

因爲它會在數據stucture,但你想的意味着是很難抽象的人的觀念,以集羣中使用的統計數據來捕捉...

所以你首先需要解決的真正的艱鉅任務使計算機可靠地理解語言。而不是在「最佳匹配」的基礎上,但足以讓量化的相似之處。

這方面實際上有些嘗試,通常涉及海量數據和深度學習。他們可以在「巴黎 - 法國+美國=?」等玩具實例上做到這一點。 - 有時候。 Google for IBM Watson和Google word2vec。

祝你好運。您將需要高性能的GPU和Exabytes的培訓數據。