2016-09-07 141 views
1

我是機器學習的新手,我正在尋找一種基於訓練數據集學習字符串模式的技術。用於學習字符串模式的機器學習技術

我的問題: 我有不同類型的單詞,屬於不同的類別。每個類別都有一些自己的模式(例如,一個只有特殊字符的固定長度,另一個只存在於這個「單詞」類別中的其他字符)。

例如:

"ABC" -> type1 
"ACC" -> type1 
"a8 219" -> type2 
"c 827" -> type2 
"ASDF 123" -> type2 
... 

我正在尋找一個機器學習技術,瞭解自身的這些模式的基礎上,訓練數據。我已經嘗試着自己定義一些預測變量(例如字符長度,特殊字符的數量......),然後使用神經網絡來學習和預測類別。但那是非常不合我想要的。我想要一種技術來自己學習每個類別的模式 - 甚至可以學習我從未想過的模式。

我想爲算法提供學習數據(由單詞範疇示例組成),並希望它爲每個類別學習模式,以便在稍後的生產中預測類似或相同的單詞。

有沒有一種最先進的方法來做到這一點?

感謝您的幫助

回答

3

既然你有標籤秧雞,該過程會

1.創建飼料arff文件

@relation weka_mymodel_model 

@attribute text string 
@attribute @@[email protected]@ {type1,type2} 

@data 
'boy am I stupid. I mean, wow, that was a major oversight. let\'s blame it on monday.',type1 
..... all your data 

2.裝載文件在weka軟件中

在pre-proc您可以過濾(轉換)數據;到例如StringToWordVector可以與J48分類等可以使用,但我們將離開這個現在,只使用可直接處理您的輸入

3.分類

在標籤「分類」分類,選擇屬性@@[email protected]@然後選擇能夠支持文本分類直接一個良好的開端是NaiveBayesMultinominal

在分類器的界面,設置你的設置,施特默爾禁用詞,分詞等

的分類使用,並與小號設置依賴於數據,但您可以在「使用訓練集」,「提供的測試集」或「交叉摺疊」上運行分類器,以瞭解您的不同設置具有哪些結果。

4創建模型

當你很高興與您的設置,導出模型(右鍵單擊結果>>保存模型)。

5使用模型

加載Java中的模型,創建實例,它傳遞給模型,並擷取您的結果。

結論

的秧雞軟件讓您測試不同的設置,不同的分類算法,以找到最佳分類的最好方法是試運行不同的分類器(使用過濾器,選擇屬性等),與上一個不同的設置「提供測試集」並檢查結果。

[Example of classifier output]

+0

非常感謝您的結構清晰和明確的答案。我已經用weka GUI嘗試過了,但沒有成功。我認爲有一個原因可能是我的單詞不是自然語言單詞,它們更像是單個隨機文本標識符。 – chresse