2015-04-07 101 views
1

我是WEKA的新手,我想問你幾個有關WEKA的問題。 我按照這個教程(Named Entity Recognition using WEKA)。使用WEKA命名實體識別

但我真的很困惑,根本不知道。

  1. 是否有可能如果我想通過短語而不是詞/標記過濾字符串?

舉例來說,在我的.ARFF文件:

@attribute text string 
    @attribute tag {CC, CD, DT, EX, FW, IN, JJ, JJR, JJS, LS, MD, NN, NNS, NNP, NNPS, PDT, POS, PRP, PRP$, RB, RBR, RBS, RP, SYM, TO, UH, VB, VBD , VBG, VBN , VBP, VBZ, WDT, WP, WP$, WRB, ,, ., :} 
    @attribute capital {Y, N} 
    @attribute chunked {B-NP, I-NP, B-VP, I-VP, B-PP, I-PP, B-ADJP, B-ADVP , B-SBAR, B-PRT, O-Punctuation} 
    @attribute @@[email protected]@ {B-PER, I-PER, B-ORG, I-ORG, B-NUM, I-NUM, O, B-LOC, I-LOC} 

    @data 
    'Wanna',NNP,Y,B-NP,O 
    'be',VB,N,B-VP,O 
    'like',IN,N,B-PP,O 
    'New',NNP,Y,B-NP,B-LOC 
    'York',NNP,Y,I-NP,I-LOC 
    '?',.,N,O-Punctuation,O 

所以,當我過濾字符串,它標記化串入詞,但我想是的,我要來標記/根據過濾字符串到這句話。例如根據分塊的屬性提取短語「紐約」而不是「紐約」和「約克」。

「B-NP」表示開始短語,「I-NP」表示下一個短語(短語的中間或結尾)。

  • 我怎樣才能顯示結果爲例如分類類:
  • B-PER和I-PER爲類名的人嗎?

        TP Rate FP Rate Precision Recall F-Measure ROC Area Class 
            0   0.021  0   0   0   0.768 B-PER 
            1   0.084  0.333  1   0.5  0.963 I-PER 
            0.167  0.054  0.167  0.167  0.167  0.313 B-ORG 
            0   0   0   0   0   0.964 I-ORG 
            0   0   0   0   0   0.281 B-NUM 
            0   0   0   0   0   0.148 I-NUM 
            0.972  0.074  0.972  0.972  0.972  0.949 O 
            0.875  0   1   0.875  0.933  0.977 B-LOC 
            0   0   0   0   0   0.907 I-LOC 
    

    加權平均值。 0.828 0.061 0.811 0.828 0.813 0.894

    回答

    2

    在我看來,WEKA不會(現在)成爲最好的機器學習軟件來執行NER ...據我所知,WEKA的確對不同的例子進行了分類,對於NER它可能做到無論:

    1. 通過令牌令牌化的句子:在這種情況下,序列(即鄰接)將會丟失......「新」和「紐約」是兩個不同的例子,事實上,這些話連續不會被以任何方式考慮在內。
    2. 通過保留塊/句子作爲示例:然後可以將序列保留爲一個整體並進行過濾(例如StringToWordVector),但是必須爲每個塊/句子關聯一個類(例如O + O + O + B-LOC + I-LOC + O是你例子中全句的類)。

    在這兩種情況下,都沒有考慮到連續性,這實在令人不安。此外,據我所知,這是相同的R(?)。這就是爲什麼「順序標註」(NER,morpho-syntax,語法和依賴關係)通常使用軟件來完成的,該軟件使用當前詞,還包括前一個詞,下一個詞等來確定一個標記類別,並且可以輸出單個標記,結構更復雜。

    對於NER,目前,CRF通常用於那些,參見:

    • CRF ++
    • CRFSuite
    • 馬鹿
    • ...
    +0

    謝謝eldams。 – tee

    +0

    不客氣 - 不要猶豫,我的答案投票,如果它確實有幫助... :) – eldams

    +1

    N-grams(N個單詞/項目的secuences)是這項任務的有用方法嗎?這可以通過預處理輸入並將數據轉換爲Weka實例(作爲實例的N-gram)來完成。對於外部參考,這也稱爲shingling(拼寫:相當於N,secuence的單詞,字符,事件等)。 – shirowww