Open Sharathmk99 opened 4 years ago
Hi, @Sharathmk99 Thanks for following our work.
How can i change to something like work2vec or tfidf? Yes, that's a good idea. please show me your results if you try it.
How can i train on other languages like German? Yes, you can train on any language.
We have around 200 labeled invoices, is this data enough for training or is it possible to use transfer learning? 200 invoices are a bit less,It is recommended to label 500~1000 invoices, there will be good results.
note: We train SROIE as a node classification task, to obtain the final result, you may to do some post-processing like regular expression operations. In the future, we will combine the two tasks of node classification and named entity recognition to extract key information from invoices.
Hi @cyh1112 ,
Thank you for responding.
Yes i'll try with Glove embedding instead of index based encoding.
To train on other languages i need to pass alphabet correctly right?
Ok i'll try to collect more labeled data.
Regarding entity recognition, do i really need entity recognition model? Currently from node classification i can get label(date, address, etc.) for every node/sentence right?
I got below output for one of the document,
Document nodes/sentences/words,
['TAN CHAY YEE', 'SOON HUAT MACHINERY ENTERPRISE', '(JM0352019-K)', 'NO.53 JALAN PUTRA 1,', 'TAMAN SRIPUTRA,', '81200 JOHOR BAHRU', 'JOHOR', 'TEL : 07-5547360 / 016-7993391', 'FAX : 07-5624059', 'SOONHUAT2000@HOTMAIL.COM', 'GST ID : 002116837376', 'CASH SALES', 'DOC NO.', ': CS00004040', 'DATE: 11/01/2019', 'CASHIER', ': USER', 'TIME: 09:44:00', 'SALESPERSON :', 'REF.:', 'GOODS SOLD ARE NOT RETURNABLE, THANK YOU.', 'ITEM', 'QTY', 'S/PRICE', 'S/PRICE', 'AMOUNT', 'TAX', '1072', '1', '80.00', '80.00', '80.00', 'REPAIR ENGINE POWER SPRAYER (1UNIT)', 'WORKMANSHIP & SERVICE', '70549', '1', '160.00', '160.00', '160.00', 'GIANT 606 OVERFLOW ASSY', '1071', '1', '17.00', '17.00', '17.00', 'ENGINE OIL', '70791', '1', '10.00', '10.00', '10.00', 'GREASE FOR TOOLS 40ML (AKODA)', '70637', '1', '6.00', '6.00', '6.00', 'EY20 PLUG CHAMPION', '1643', '1', '8.00', '8.00', '8.00', 'STARTER TALI', '70197', '1', '10.00', '10.00', '10.00', 'EY20 STARTER HANDLE', '70561', '2', '18.00', '18.00', '36.00', 'HD40 1L COTIN', 'TOTAL QTY:', '9', '327.00', 'TOTAL SALES :', '327.00', 'DISCOUNT :', '0.00', 'TOTAL :', '0.00', 'ROUNDING :', '0.00', 'TOTAL SALES :', '327.00', 'CASH :', '327.00', 'CHANGE :', '0.00']
Prediction:
[0 1 0 2 2 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0]
Do i still need entity recognition model?
One more question,
Can i use every word as node? Example instead of using 'TAN CHAY YEE'
as one node, can i use TAN
, CHAY
, YEE
as three separate nodes?
Will this approach drops performance?
@cyh1112 please reply once you get some time. Thank you
Hi,
I'm trying to understand and run training on SROIE dataset. Based on my understanding currently index based encoding is used based on alphabet string. How can i change to something like work2vec or tfidf?
How can i train on other languages like German?
One more question, We have around 200 labeled invoices, is this data enough for training or is it possible to use transfer learning?