我發現來自Stanford CoreNLP的功能強大的RegexNER及其超集TokensRegex。
有一些規則應該給我很好的結果,例如標題爲PERSON的模式:
「g。Meho Mehic」或「gdin。N. Neko」(g。和gdin。是波斯尼亞語中的縮寫, )。Stanford CoreNLP合併令牌
我在使用現有的標記器時遇到了一些麻煩。它將一些字符串拆分爲兩個令牌,其中一些離開爲一個字符,例如令牌「g」。保留爲單詞<word>g.</word>
和令牌「gdin」。分爲2個標記:<word>gdin</word>
和<word>.</word>
。
這會導致麻煩我正則表達式,我必須處理一個令牌和多令牌的情況下(注意兩個「可能點」上),RegexNER例如:
(/g\.?|gdin\.?/ /\./? ([{ word:/[A-Z][a-z]*\.?/ }]+)) PERSON
而且,這會導致另一個問題,句子拆分,一些句子不被很好地識別,所以正則表達式失敗......例如,當一個句子包含「gdin」時。它會將它分成兩部分,因此一個點將結束(不存在的)句子。我設法繞過ssplit.isOneSentence = true
現在。
問題:
- 我必須使自己的標記生成器,以及如何? (合併一些象「gdin」的令牌)
- 有沒有我錯過的設置可以幫助我?
謝謝,我昨天就想到了這個。這將是很好,如果tokenizer可以用這些東西參數化...:D –
我已經做了itttttttt,再次感謝! :D在'build.xml'中有一個叫'flexeverything'的任務。我只需要用這個新的替換舊的罐子。 –
另外我無法得到這個重要的corenlp問題的答案http://stackoverflow.com/questions/39688652/german-corenlp-model-defaulting-to-english-models – stackit