[
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