Incorrect chunk detection

The boy in addition to the friend is delayed.
In the above case ‘friend’ is identified as E-NP-singular but for:
The boy in addition to his friend is delayed.
Here ‘his’ and ‘friend’ are identified as B-NP-plural and E-NP-plural respectively.

The disambiguator log is:
REMOVE_POS_NNP_LOWERCASE_CHEMICAL_SYMBOLS[1]: in[in/IN,in/NN,in/RP,B-PP] -> in[in/IN,in/NN,in/RP,B-PP]
IN_NNUN[2]: in[in/IN,in/NN,in/RP,B-PP] -> in[in/IN,B-PP]
DT_VB_NN[1]: friend[friend/NN,friend/VB,friend/VBP,E-NP-singular] -> friend[friend/NN,E-NP-singular]
VBN_VBD[1]: delayed[delayed/JJ,delay/VBD,delay/VBN,I-VP] -> delayed[delay/VBN,I-VP]

Can anyone guide me how to correct this?

We rely on OpenNLP for chunking, and it internally uses statistics, so it will not be 100% correct. I don’t know of a way to fix specific cases. Details about chunking can be found at Using Chunks - LanguageTool Wiki.

Wanted to know which library is used for POS tagging? Is it also OpenNLP?

No, we use our own dictionary with some disambiguation.