Form Recognizer előre összeállított nyugtamodell

Számos vállalkozás és személy továbbra is az értékesítési nyugtákból manuálisan kinyert adatokra támaszkodik. Az adatok automatikus kinyerés ezekből a nyugtákból bonyolult feladat lehet. A nyugták összefésülhetnek, nehezen olvashatók, kézzel írott alkatrészeket tartalmazhatnak, és alacsony minőségű okostelefon-képeket tartalmazhatnak. A nyugtasablonok és mezők piaconként, régiónként és kereskedőnként jelentősen eltérhetnek. Ezek az adatkinyerési és mezőészlelési kihívások miatt a nyugtafeldolgozás egyedi probléma.

Az Azure Form Recognizer előre összeállított nyugtamodell használatával elemezheti és kinyerheti az értékesítési nyugták adatait. A hatékony optikai karakterfelismerési (OCR) képességeket és mélytanulásos modelleket kombinálva olyan fontos információkat képes kinyerni, mint a kereskedő neve, a kereskedő telefonszáma, a tranzakció dátuma, a tranzakciók teljes száma stb. az angol nyelven írt nyugtákból.

Ügyfélforgatókönyvek

Üzleti költségek jelentése

Az üzleti költségek kiírása gyakran azzal jár, hogy időt kell tölteni a nyugták képi adatainak manuális bevitelére. A Receipt API-val a kinyert mezők használatával részlegesen automatizálhatja ezt a folyamatot, és gyorsan elemezheti a nyugtákat.

A Receipt API egy egyszerű JSON-kimenet, amely lehetővé teszi a kinyert mezőértékek többféle módon történő használatát. Integrálás belső költségelszámolásokkal a költségelszámolások előzetes feltöltéséhez. A forgatókönyvvel kapcsolatos további információkért olvassa el, hogyan használja az Acumatica a Nyugta API-t, hogy a költségeket kevésbé eltolásos folyamattal jelentsen.

Naplózás és nyilvántartás

A Nyugta API kimenete nagy számú költség elemzésére is használható a költségjelentési és -folyamat különböző pontjain. A nyugtákat feldolgozhatja manuális naplózáshoz vagy gyors jóváhagyáshoz.

A Nyugta kimenete üzleti vagy személyes használatra is hasznos lehet az általános könyvtartáshoz. A Receipt API-val a nyers nyugtakép-/PDF-adatokat átalakíthatja beavatkozásra képes digitális kimenetké.

Fogyasztói viselkedés

A nyugták hasznos adatokat tartalmaznak, amelyek segítségével elemezheti a fogyasztói viselkedést és a vásárlási trendeket.

A Nyugta API a AI Builder funkcióját is használja.

Kipróbálom

A szolgáltatás Form Recognizer az online Felhasználói felületi mintaeszközben próbálhat ki:

Mire való a Nyugta szolgáltatás?

Az előre összeállított Nyugta szolgáltatás kinyeri az értékesítési nyugták tartalmát a gyakran egy étteremben, kereskedőnél vagy élelmiszer-áruházban gyakran — lekért nyugta típusától.

minta nyugtája

Kinyert mezők

Név Típus Description Szöveg Érték (szabványosított kimenet)
ReceiptType (Nyugtatípus) sztring Az értékesítési nyugták típusa Tételes
Kereskedő neve sztring A nyugtát kiállító kereskedő neve Contoso
KereskedőTelefonszám phoneNumber (telefonszám) A kereskedő telefonszámának listázva 987-654-3210 +19876543210
Kereskedői cím sztring A kereskedő listázott címe 123 Main St Redmond WA 98052
TransactionDate (Tranzakció dátuma) dátum A nyugta kibocsátásának dátuma 2019. június 6. 2019-06-26
TransactionTime (Tranzakcióidő) time A nyugta kibocsátásának ideje 16:49 16:49:00
Összesen szám A nyugta teljes tranzakciószáma 14,34 DOLLÁR 14.34
Részösszeg szám A nyugta részösszege, gyakran az adók alkalmazása előtt 12,34 DOLLÁR 12.34
Adó szám Adó a nyugtán, gyakran értékesítési adó vagy ezzel egyenértékű 2 USD 2.00
Tipp szám A vevő által tartalmazott tipp 1,00 USD 1,00
Elemek objektumok tömbje Kinyert sorelemek névvel, mennyiséggel, egységárral és kinyert teljes árral
Name sztring Elem neve Surface Pro 6.
Mennyiség szám Az egyes tételek mennyisége 1 1
Ár szám Az egyes elemegység-egységek egyéni ára 999,00 USD 999.00
Teljes ár szám Sortétel teljes ára 999,00 USD 999.00

További funkciók

A Receipt API a következő információkat is visszaadja:

  • Mező megbízhatósági szintje (minden mező egy társított megbízhatósági értéket ad vissza)
  • OCR nyers szöveg (OCR által kinyert szöveges kimenet a teljes nyugtához)
  • Határolókeret minden értékhez, sorhoz és szóhoz

Bemeneti követelmények

  • Támogatott fájlformátumok: JPEG, PNG, PDF és TIFF
  • PDF és TIFF esetén legfeljebb 2000 oldal lesz feldolgozva. Az ingyenes szintű előfizetők számára csak az első két oldal lesz feldolgozva.
  • A fájl méretének 50 MB-nál kisebbnek kell lennie, és legalább 50 x 50 képpont méretűnek és legalább 10000 x 10000 képpontnak kell lennie.

Támogatott területi

  • Az előre felépített nyugta 2.1-es verzió az en-au, en-ca, en-gb, en-in és en-us angol területi beállításokkal támogatja az értékesítési nyugtákat

    Megjegyzés

    Nyelvi bevitel

    Az Előre összeállított Nyugta 2.1-es verzió opcionális kérésparaméterrel rendelkezik, amely a további angol piacokon is megadja a nyugta területi beállítását. Az Ausztráliából (en-au), Kanadából (en-ca), Nagy-Zélandról (en-gb) és Indiából (en-in) származó angol nyelvű értékesítési nyugták esetében megadhatja a területi beállításokat a jobb eredmények eléréséhez. Ha a 2.1-es v2.1-ben nincs megadva területi érték, a modell automatikusan észleli a területi értéket.

Nyugta elemzése

Az Analyze Receipt bemenetként egy nyugta képét vagy PDF-fájlját veszi fel, és kinyeri a érdekes és szöveges értékeket. A hívás egy nevű válaszfejléc-mezőt ad Operation-Location vissza. Az érték egy URL-cím, amely tartalmazza a következő lépésben használni kívánt Operation-Location eredményazonosítót.

Válaszfejléc Eredmény URL-címe
Operation-Location https://cognitiveservice/formrecognizer/v2.1/prebuilt/receipt/analyzeResults/56a36454-fc4d-4354-aa07-880cfbf0064f

Az Elemzés nyugtája eredményének le kérése

A második lépés az Elemzés nyugtája eredményének lehívása művelet hívása. Ez a művelet bemenete az Analyze Receipt művelet által létrehozott eredményazonosító. Egy JSON-választ ad vissza, amely egy állapotmezőt tartalmaz az alábbi lehetséges értékekkel. Ezt a műveletet iteratívan kell hívnia, amíg a sikeres értékkel tér vissza. A másodpercenkénti kérelmek (RPS) sebességének túllépése érdekében használjon 3–5 másodperces időközt.

Mező Típus Lehetséges értékek
status sztring notStarted: A művelet még nem indult el.
running: Az elemzési művelet folyamatban van.
failed: Az elemzési művelet sikertelen volt.
succeeded: Az elemzési művelet sikeres volt.

Ha az állapot mezőben a sikeres érték szerepel, a JSON-válasz tartalmazza a nyugták megértését és a szövegfelismerés eredményeit. A nyugta megértésének eredménye elnevezett mezőértékek szótáraként van rendezve. Minden érték tartalmazza a kinyert szöveget, a normalizált értéket, a határolókeretet, a megbízhatóságot és a megfelelő szóelemeket. A szövegfelismerés eredménye sorok és szavak hierarchiájaként van rendezve, szöveggel, határolókeretekkel és megbízhatósági információkkal.

mintás nyugtaeredmények

JSON-kimenetminta

A Get Analyze Receipt Result műveletre adott válasz a nyugta strukturált reprezentációja lesz az összes kinyert információval együtt. Itt láthat egy minta nyugtafájlt és annak strukturált kimeneti mintáját, a nyugta kimenetét.

Tekintse meg a sikeres JSON-válasz alábbi példáját (a kimenet az egyszerűség kedvéért le lett rövidülve):

  • A "readResults" csomópont tartalmazza az összes felismert szöveget. A szöveg lap, sor, majd egyéni szavak szerint van rendezve.
  • A csomópont a modell által felderített "documentResults" névjegykártya-specifikus értékeket tartalmazza. Itt találhat hasznos kulcs/érték párokat, például a vezetéknevet, a vezetéknevet, a vállalat nevét stb.
{
  "status":"succeeded",
  "createdDateTime":"2019-12-17T04:11:24Z",
  "lastUpdatedDateTime":"2019-12-17T04:11:32Z",
  "analyzeResult":{
    "version":"2.0.0",
    "readResults":[
      {
        "page":1,
        "angle":0.6893,
        "width":1688,
        "height":3000,
        "unit":"pixel",
        "language":"en",
        "lines":[
          {
            "text":"Contoso",
            "boundingBox":[
              635,
              510,
              1086,
              461,
              1098,
              558,
              643,
              604
            ],
            "words":[
              {
                "text":"Contoso",
                "boundingBox":[
                  639,
                  510,
                  1087,
                  461,
                  1098,
                  551,
                  646,
                  604
                ],
                "confidence":0.955
              }
            ]
          },
          ...
        ]
      }
    ],
    "documentResults":[
      {
        "docType":"prebuilt:receipt",
        "pageRange":[
          1,
          1
        ],
        "fields":{
          "ReceiptType":{
            "type":"string",
            "valueString":"Itemized",
            "confidence":0.692
          },
          "MerchantName":{
            "type":"string",
            "valueString":"Contoso Contoso",
            "text":"Contoso Contoso",
            "boundingBox":[
              378.2,
              292.4,
              1117.7,
              468.3,
              1035.7,
              812.7,
              296.3,
              636.8
            ],
            "page":1,
            "confidence":0.613,
            "elements":[
              "#/readResults/0/lines/0/words/0",
              "#/readResults/0/lines/1/words/0"
            ]
          },
          "MerchantAddress":{
            "type":"string",
            "valueString":"123 Main Street Redmond, WA 98052",
            "text":"123 Main Street Redmond, WA 98052",
            "boundingBox":[
              302,
              675.8,
              848.1,
              793.7,
              809.9,
              970.4,
              263.9,
              852.5
            ],
            "page":1,
            "confidence":0.99,
            "elements":[
              "#/readResults/0/lines/2/words/0",
              "#/readResults/0/lines/2/words/1",
              "#/readResults/0/lines/2/words/2",
              "#/readResults/0/lines/3/words/0",
              "#/readResults/0/lines/3/words/1",
              "#/readResults/0/lines/3/words/2"
            ]
          },
          "MerchantPhoneNumber":{
            "type":"phoneNumber",
            "valuePhoneNumber":"+19876543210",
            "text":"987-654-3210",
            "boundingBox":[
              278,
              1004,
              656.3,
              1054.7,
              646.8,
              1125.3,
              268.5,
              1074.7
            ],
            "page":1,
            "confidence":0.99,
            "elements":[
              "#/readResults/0/lines/4/words/0"
            ]
          },
          "TransactionDate":{
            "type":"date",
            "valueDate":"2019-06-10",
            "text":"6/10/2019",
            "boundingBox":[
              265.1,
              1228.4,
              525,
              1247,
              518.9,
              1332.1,
              259,
              1313.5
            ],
            "page":1,
            "confidence":0.99,
            "elements":[
              "#/readResults/0/lines/5/words/0"
            ]
          },
          "TransactionTime":{
            "type":"time",
            "valueTime":"13:59:00",
            "text":"13:59",
            "boundingBox":[
              541,
              1248,
              677.3,
              1261.5,
              668.9,
              1346.5,
              532.6,
              1333
            ],
            "page":1,
            "confidence":0.977,
            "elements":[
              "#/readResults/0/lines/5/words/1"
            ]
          },
          "Items":{
            "type":"array",
            "valueArray":[
              {
                "type":"object",
                "valueObject":{
                  "Quantity":{
                    "type":"number",
                    "text":"1",
                    "boundingBox":[
                      245.1,
                      1581.5,
                      300.9,
                      1585.1,
                      295,
                      1676,
                      239.2,
                      1672.4
                    ],
                    "page":1,
                    "confidence":0.92,
                    "elements":[
                      "#/readResults/0/lines/7/words/0"
                    ]
                  },
                  "Name":{
                    "type":"string",
                    "valueString":"Cappuccino",
                    "text":"Cappuccino",
                    "boundingBox":[
                      322,
                      1586,
                      654.2,
                      1601.1,
                      650,
                      1693,
                      317.8,
                      1678
                    ],
                    "page":1,
                    "confidence":0.923,
                    "elements":[
                      "#/readResults/0/lines/7/words/1"
                    ]
                  },
                  "TotalPrice":{
                    "type":"number",
                    "valueNumber":2.2,
                    "text":"$2.20",
                    "boundingBox":[
                      1107.7,
                      1584,
                      1263,
                      1574,
                      1268.3,
                      1656,
                      1113,
                      1666
                    ],
                    "page":1,
                    "confidence":0.918,
                    "elements":[
                      "#/readResults/0/lines/8/words/0"
                    ]
                  }
                }
              },
              ...
            ]
          },
          "Subtotal":{
            "type":"number",
            "valueNumber":11.7,
            "text":"11.70",
            "boundingBox":[
              1146,
              2221,
              1297.3,
              2223,
              1296,
              2319,
              1144.7,
              2317
            ],
            "page":1,
            "confidence":0.955,
            "elements":[
              "#/readResults/0/lines/13/words/1"
            ]
          },
          "Tax":{
            "type":"number",
            "valueNumber":1.17,
            "text":"1.17",
            "boundingBox":[
              1190,
              2359,
              1304,
              2359,
              1304,
              2456,
              1190,
              2456
            ],
            "page":1,
            "confidence":0.979,
            "elements":[
              "#/readResults/0/lines/15/words/1"
            ]
          },
          "Tip":{
            "type":"number",
            "valueNumber":1.63,
            "text":"1.63",
            "boundingBox":[
              1094,
              2479,
              1267.7,
              2485,
              1264,
              2591,
              1090.3,
              2585
            ],
            "page":1,
            "confidence":0.941,
            "elements":[
              "#/readResults/0/lines/17/words/1"
            ]
          },
          "Total":{
            "type":"number",
            "valueNumber":14.5,
            "text":"$14.50",
            "boundingBox":[
              1034.2,
              2617,
              1387.5,
              2638.2,
              1380,
              2763,
              1026.7,
              2741.8
            ],
            "page":1,
            "confidence":0.985,
            "elements":[
              "#/readResults/0/lines/19/words/0"
            ]
          }
        }
      }
    ]
  }
}

Következő lépések