[ 
https://issues.apache.org/jira/browse/OPENNLP-238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072917#comment-13072917
 ] 

Jörn Kottmann commented on OPENNLP-238:
---------------------------------------

I had a short look at the beam search code and believe the following happens:

- Your beam search size is smaller than your number of outcomes
- Beam search is only advancing, n best sequences
- If the n best sequences are all invalid it is not advancing anything (even so 
it could advance the best valid sequences)

I believe it should be changed, and should always advance the n best possible 
sequences.

Anyway, before we start changing things here we should demonstrate these issues 
in a solid unit test.

> BestSequence method in BeamSearch can cause NullPointerException if it can 
> not find a valid sequence
> ----------------------------------------------------------------------------------------------------
>
>                 Key: OPENNLP-238
>                 URL: https://issues.apache.org/jira/browse/OPENNLP-238
>             Project: OpenNLP
>          Issue Type: Bug
>          Components: POS Tagger
>    Affects Versions: tools-1.5.2-incubating
>            Reporter: William Colen
>            Assignee: William Colen
>             Fix For: tools-1.5.2-incubating
>
>
> I am using the standard sequence validator of POS Tagger with a 
> TagDictionary. Sometimes there are no outcome that matches with the tags in 
> the dictionary. That is causing a NullPointerException in bestSequence method.
> I think we should add an extra validation: if the heap 'next' still empty 
> after advancing all valid sequences (line 159) we should let it advance 
> invalid sequences. It would make the POS Tagger more robust.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to