2015-05-07 51 views
0

我需要您的幫助,我正在做NER項目使用NetBeans v.8.0.2名稱阿拉伯文檔的實體識別

我需要得到人名地方任何阿拉伯語文檔文件並把它們歸類爲人名,地點。我看到所有斯坦福文件,POS標記器,解析器還有斯坦福NER。我嘗試了所有這些,標記器與我一起工作良好。

但是我已經和語法上的問題尤其是在這行代碼

LexicalizedParser lp = LexicalizedParser.loadModel(grammar, options); 

ParserDemo沒有輸出出現。我是否首先需要解析器來標記文檔,然後才能使用POS標記器,或者我可以使用POS標記器進行一些編輯(如使用if語句將所有NNP組合在一起,並且相同的地方)。

回答

0

因此,首先我們沒有任何阿拉伯的NER模型。其次,我將發佈一些步驟,用於在阿拉伯文本上運行斯坦福分析器。

  1. 獲得斯坦福解析器:http://nlp.stanford.edu/software/lex-parser.shtml

  2. 編譯ParserDemo.java;你需要目錄下的jar文件stanford-parser-full-2015-04-20編譯

  3. 我在命令行運行這個命令,而在stanford-parser-full-2015-04-20目錄中, (做類似的事情在NetBeans):

java命令 「:*」 ParserDemo埃杜/斯坦福/ NLP /模型/ lexparser/arabicFactored.ser.gz數據/阿拉伯onesent-utf8.txt

你應該得到阿拉伯例句的正確解析。

因此,當您在NetBeans中運行ParserDemo時,請確保提供「edu/stanford/nlp/models/lexparser/arabicFactored.ser.gz」作爲ParserDemo的第一個參數,因此它知道要加載阿拉伯模型。

此輸入:

و نشر العدل من خلال قضاء مستقل 

我得到這樣的輸出:

(ROOT 
    (S (CC و) 
    (VP (VBD نشر) 
     (NP (DTNN العدل)) 
     (PP (IN من) 
     (NP (NN خلال) 
      (NP (NN قضاء) (JJ مستقل))))) 
    (PUNC .))) 

我很樂意進一步提供幫助,請讓我知道如果你需要任何更多的信息。

FYI這裏是阿拉伯解析器一些更多的信息:

http://nlp.stanford.edu/software/parser-arabic-faq.shtml

+0

親愛的主席先生,非常感謝您有用的答案。在我提出這個問題之前,我做了所有這些,並且我閱讀了所有NER,Parser,Segmenter等的所有常見問題解答。我嘗試了你在例子中提到的訓練數據,它對我很好,但問題是當你需要同一個人的全名時,例如(ذهبسعدالدينعليالىالجامعة),因爲(سعدالدينعلي)是一個人的名字。結果(根據(NP(D)(NP(D))), –

+0

I看到文章(http://stackoverflow.com/questions/6505569/extracting-arabic-proper-names-from-a-text-using-stanford-parser)我試了相同的,但它沒有奏效。我需要的是:阿拉伯語中的化合物名稱是相互聯合的,例如(عبدالله),(محمدبنراشد)。另一個問題:在英語語法解析器中,有一些叫做(GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();)在阿拉伯語中是一樣的。非常感謝您的幫助。我真的很感激。 –