Analysis of laytime in maritime shipping operations
By employing machine learning models to process shipping documents, the system automates the calculation of demurrage in maritime shipping, addressing inefficiencies and errors in existing methods, and enhancing operational efficiency and cost-effectiveness.
Patent Information
- Application Number
- PCT/US2024/058910
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-06
- Filing Date
- 2024-12-06
- Publication Date
- 2025-06-12
AI Technical Summary
The existing processes for analyzing and calculating laytime and demurrage in maritime shipping operations are inefficient, relying on unstandardized physical documents, rudimentary spreadsheets, and email correspondence, which leads to errors and increased costs, particularly affecting developing countries with inadequate port infrastructure.
A system utilizing trained machine learning models to process shipping documents, including statements of facts, to accurately calculate demurrage or despatch amounts, and generate comparison documents for laytime statements, thereby automating and digitizing the demurrage process.
The solution transforms the demurrage calculation from a manual and time-consuming process to a fast, efficient, and digitally enabled one, enabling accurate planning and quick settlement of demurrage claims, which reduces costs and improves operational efficiency in maritime shipping operations.
Smart Images

Figure US2024058910_12062025_PF_FP_ABST
Abstract
Description
ANALYSIS OF LAYTIME IN MARITIME SHIPPING OPERATIONSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to and the benefit of the filing date of U.S. Provisional Application No. 63 / 607,083, filed December 6, 2023, which is hereby incorporated by reference herein in its entirety.TECHNICAL FIELD
[0002] The present disclosure relates to maritime shipping operations, and more particularly, to analysis of laytime in maritime shipping operations.BACKGROUND
[0003] Trade is the cornerstone of global civilization. Since humans first set out to sea with goods to trade, the shipping industry has continually evolved to minimize uncertainty and risk inherent in ocean transportation, enabling efficient trade. More than 80% of global trade by volume is transported by sea, 70% of which is shipped in oil tankers and dry bulk (non-containerized) vessels to several thousand ports around the world. Approximately 30,000 ocean-going bulk cargo ships transport 5+ billion tons of raw materials such as iron ore, coal, grain, mineral ores, forest products, steel and cement, and another 3+ billion tons of crude oil, refined petroleum products, specialty chemicals, liquid natural gas, and vegetable oils. Every one of these voyages involves the calculation of laytime and demurrage.
[0004] Demurrage is a measure that reflects inefficiency in loading and discharging cargo operations. On its own, it is considered a secondary freight cost; in aggregate it is a tariff that impacts gross domestic products (GDPs) globally. Demurrage is so fundamental to trade that it impacts the commodity cost of the staples that underpin the world's economy. This “tax” is applied unevenly and compounds in developing countries that lack modern port and transportation infrastructure. This increases the cost of energy, food, and raw materials for local populations.SUMMARY
[0005] The present disclosure relates to analysis of laytime and the calculation of demurrage or despatch in maritime shipping operations.
[0006] In accordance with aspects of the present disclosure, a system includes: at least one processor and at least one memory having instructions stored thereon. The instructions, when executed by the at least one processor, cause the system at least to perform: accessing shipping documents, where the shipping documents include a statement of facts document; applying a plurality of trained machine learning models to process the statement of facts document, where each of the at least one trained machine learning models is configured to identify a respective document structure and is configured to output respective statement of facts data based on the respective document structure; selecting statement of facts data of one of the plurality of trained machine learning models; computing a demurrage amount or a despatch amount based on data in the shipping documents and based on the selected statement of facts data; and providing the demurrage amount or the despatch amount in a document or on a display screen.
[0007] In accordance with aspects of the present disclosure, a method includes: accessing shipping documents, where the shipping documents includes a statement of facts document; applying a plurality of trained machine learning models to process the statement of facts document, where each of the at least one trained machine learning models is configured to identify a respective document structure and is configured to output respective statement of facts data based on the respective document structure; selecting statement of facts data of one of the plurality of trained machine learning models; computing a demurrage amount or a despatch amount based on data in the shipping documents and based on the selected statement of facts data; and providing the demurrage amount or the despatch amount in a document or on a display screen.
[0008] In accordance with aspects of the present disclosure, a processor-readable medium has instructions stored thereon which, when executed by at least one processor of a system, cause the system at least to perform: accessing shipping documents, where the shipping documents include a statement of facts document; applying a plurality of trained machine learning models to process the statement of facts document, where each of the at least one trained machine learning models is configured to identify a respective document structure and is configured to output respective statement of facts data based on the respective document structure; selecting statement of facts data of one of the plurality of trained machine learning models; computing a demurrage amount or a despatch amount based on data in the shipping documents and based on the selected statement of facts data; and providing the demurrage amount or the despatch amount in a document or on a display screen.
[0009] In accordance with aspects of the present disclosure, a system includes: at least one processor and at least one memory having instructions stored thereon. The instructions, when executed by the at least one processor, cause the system at least to perform: accessing at least two laytime statement documents; for each laytime statement document of the at least two laytime statement documents: extracting data from the respective laytime statement document using one or more trained machine learning models, and storing the extracted data in a respective standardized data object; generating a comparison document based on the standardized data objects of the at least two laytime statement documents, where the comparison document including a side-by-side time comparison of laytime specified in the at least two laytime statement documents.
[0010] In accordance with aspects of the present disclosure, a method includes: accessing at least two laytime statement documents; for each laytime statement document of the at least two laytime statement documents: extracting data from the respective laytime statement document using one or more trained machine learning models, and storing the extracted data in a respective standardized data object; generating a comparison document based on the standardized data objects of the at least two laytime statement documents, where the comparison document includes a side-by-side time comparison of laytime specified in the at least two laytime statement documents.
[0011] In accordance with aspects of the present disclosure, a processor-readable medium has instructions stored thereon which, when executed by at least one processor of a system , cause the system at least to perform: accessing at least two laytime statement documents; for each laytime statement document of the at least two laytime statement documents: extracting data from the respective laytime statement document using one or more trained machine learning models, and storing the extracted data in a respective standardized data object; generating a comparison document based on the standardized data objects of the at least two laytime statement documents, where the comparison document includes a side-by-side time comparison of laytime specified in the at least two laytime statement documents.
[0012] In accordance with aspects of the present disclosure, a system includes: at least one processor, and at least one memory having instructions stored thereon. The instructions, when executed by the at least one processor, cause the system at least to perform a method including: accessing location data for a vessel; accessing geospatial information for the port; comparing thelocation data for the vessel with the geospatial information for the port to determine a time when the vessel entered the port; and generating a notice of readiness document indicating the time when the vessel entered the port.
[0013] In accordance with aspects of the present disclosure, a method includes: accessing location data for a vessel; accessing geospatial information for the port; comparing the location data for the vessel with the geospatial information for the port to determine a time when the vessel entered the port; and generating a notice of readiness document indicating the time when the vessel entered the port.
[0014] In accordance with aspects of the present disclosure, a processor-readable medium has instructions stored thereon which, when executed by at least one processor of a system, cause the system at least to perform: accessing location data for a vessel; accessing geospatial information for the port; comparing the location data for the vessel with the geospatial information for the port to determine a time when the vessel entered the port; and generating a notice of readiness document indicating the time when the vessel entered the port.
[0015] Additional aspects of the present disclosure are shown by the Examples section towards the end of the detailed description, which is incorporated into this section as though disclosed in this section.
[0016] The details of one or more embodiments of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the techniques described in this disclosure will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0017] A detailed description of embodiments of the disclosure will be made with reference to the accompanying drawings, wherein like numerals designate corresponding parts in the figures:
[0018] FIG. 1 is a block diagram of an example of a processing system for determining a laytime statement document that includes a demurrage calculation and of inputs and outputs, in accordance with aspects of the present disclosure;
[0019] FIG. 2 is a block diagram of an example of a processing system for comparing input documents, in accordance with aspects of the present disclosure;
[0020] FIG. 3 is a flow diagram of an example of an operation for ingesting and processing documents, in accordance with aspects of the present disclosure;
[0021] FIG. 4 is a flow diagram of an example of a processing tool for a trade contract document, in accordance with aspects of the present disclosure;
[0022] FIG. 5 is a flow diagram of an example of a processing tool relating to a notice of readiness document, in accordance with aspects of the present disclosure;
[0023] FIG. 6A is a flow diagram of an example of processing a statement of facts document, in accordance with aspects of the present disclosure;
[0024] FIG. 6B is a flow diagram of an example of processing contract document(s), in accordance with aspects of the present disclosure;
[0025] FIG. 7 is a flow diagram of an example of determining a demurrage or despatch calculation, in accordance with aspects of the present disclosure;
[0026] FIG. 8 is a flow diagram of an example of processing laytime statement documents, in accordance with aspects of the present disclosure;
[0027] FIG. 9 is a flow diagram of an example of generating a comparison of laytime statements, in accordance with aspects of the present disclosure;
[0028] FIG. 10 is a diagram of an example of a notice of readiness, in accordance with aspects of the present disclosure;
[0029] FIGS. 11 A and 1 IB are diagrams of an example of a statement of fact, in accordance with aspects of the present disclosure;
[0030] FIG. 12 is a diagram of an example of a generated laytime statement document, in accordance with aspects of the present disclosure;
[0031] FIG. 13 is a diagram of an example of a cargo seller’s laytime statement document, in accordance with aspects of the present disclosure;
[0032] FIG. 14 is a diagram of an example of a cargo buyer’s laytime statement document, in accordance with aspects of the present disclosure;
[0033] FIGS. 15A-15C are diagrams of an example of a report of comparison of laytime statements, in accordance with aspects of the present disclosure;
[0034] FIG. 16 is a block diagram of an example of components of a processing system, in accordance with aspects of the present disclosure; and
[0035] FIGS. 17A-17E are diagrams of an example of a contract document, in accordance with aspects of the present disclosure.DETAILED DESCRIPTION
[0036] The present disclosure relates to analysis of laytime and the calculation of demurrage or despatch in maritime shipping operations. Aspects of the present disclosure are directed to solving a persistent source of uncertainty inherent in every voyage: demurrage. An aspect of the present disclosure transforms demurrage from an unpredictable and manual, time-consuming process to a fast, efficient, and digitally enabled process, thereby creating a world where demurrage can be accurately planned for and quickly settled.
[0037] As mentioned above, demurrage is a measure that reflects inefficiency in loading and discharging cargo operations. In simple terms, in various embodiments, demurrage impacts the entire bulk commodity trade chain, involving tens of billions of dollars being negotiated by global companies using a process that has not fundamentally changed or improved over the past fifty years.
[0038] Currently, there is a fragmented, entrenched process for analyzing and calculating laytime and demurrage dependent on unstandardized physical documents, rudimentary spreadsheets, and email correspondence found in inboxes. Attempts at innovation to date have tried to standardize forms and change workflows to facilitate seamless communication between counterparties. The flaw in this approach is that the hardest thing to do is to change behavior, especially in an industry where stakeholders span the world and mistakes are costly. As a result, companies are still stuck managing critical freight and commodity trading processes using tools such as spreadsheets today.
[0039] In accordance with aspects of the present disclosure, developments in artificial intelligence and machine learning are used to support diverse processes, formats, and data- intensive workflows by incorporating them into a platform that streamlines, automates, and audits the demurrage process without changing the workflows of the people working in the field. By making existing processes more efficient rather than trying to supplant them, the technology of the present disclosure solves the demurrage problem seamlessly.
[0040] Aspects of the present disclosure enable the automation of demurrage workflows, digitization of key documents such as the trade contract, notice of readiness, bill of lading,statement of facts, and other trade documents, and auditing of the demurrage claim, producing actionable follow-ups for departments handling trade execution, freight trading, and maritime claims with their counterparties. This enables accurate claim audits, faster settlement of claims, and predictable demurrage cost - freeing up human capital and accelerating global trade.
[0041] In the following description, certain specific details are set forth in order to provide a thorough understanding of disclosed aspects. However, one skilled in the relevant art will recognize that aspects may be practiced without one or more of these specific details or with other methods, components, materials, etc. In other instances, well-known structures associated with processing systems have not been shown or described in detail to avoid unnecessarily obscuring descriptions of the aspects.
[0042] Reference throughout this specification to “one aspect” or “an aspect” means that a particular feature, structure, or characteristic described in connection with the aspect is included in at least one aspect. Thus, the appearances of the phrases “in one aspect” or “in an aspect” in various places throughout this specification are not necessarily all referring to the same aspect. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more aspects.
[0043] As used herein, the term “document” means and includes any collection of characters and / or numbers (and optionally non-text) that is contained in a physical or electronic medium. A document may be, for example, physical paper(s) or an electronic file. A document may contain a scan of one or more papers into any format (e.g., image format, PDF format, etc.), a file containing an email thread (e.g., an eml file or a PDF file, etc.), a Microsoft Office file, and / or other types of documents.
[0044] As used herein, the term “statement of facts document” means and includes a maritime document which specifies events during cargo loading or discharging operations and which is signed by representatives of the shipowner and the cargo owner. The term “notice of readiness document” means and includes a maritime document which specifies a notice by a vessel that it has arrived at the contractually agreed port and is ready to load or discharge its cargo. The term “bill of lading document” means and includes a maritime document issued by a shipowner to a cargo owner which specifies key information including a description of the cargo, cargo quantities, and other terms of the transportation of the cargo.
[0045] The term “laytime” means and includes the contractual time available to a charterer, cargo buyer, or cargo seller for a voyage-chartered ship’s cargo operations (i.e., to perform the loading and / or discharging of cargo). The term “demurrage” means and includes additional freight cost or “liquidated damages” payable to a shipowner for delay during load or discharge beyond laytime. The term “despatch” or “dispatch” means and includes refundable freight cost payable to a charterer, cargo buyer, or cargo seller for early completion of cargo loading or discharging prior to expiration of laytime.
[0046] The term “trade contract document” means and includes a document which specifies one or more terms related to one or more of: laytime allowance, demurrage rate, commencement of laytime, and / or exceptions to laytime and demurrage. The term “laytime statement” means and includes a document which sets forth a demurrage amount or a despatch amount and the supporting information for calculating the laytime allowance, time used, time saved or lost and the corresponding demurrage amount or despatch amount.
[0047] The reason there are contractual clauses relating to laytime and demurrage is that the loading and discharging operations require acts of performance by both the shipowner and the charterer. What a laytime calculator does is calculate the time allowed, allocates time for cargo operations and any interruptions to laytime as being time that counts for or against either the shipowner or the charterer, calculates the total time used and calculates the resulting demurrage or despatch.
[0048] Calculating demurrage or despatch is not straightforward due to a number of factors, such as, without limitation:• Laytime and demurrage terms are standard provisions in all voyage charter contracts, however clauses vary from one contract or company to another.• Calculating demurrage is complex and error prone, and is impacted by the type of cargo, port restrictions, cargo operations, and interruptions or exceptions to laytime counting arising from events such as weather, strikes, equipment breakdowns or port congestion.• Demurrage rates are typically in line with daily hires rates for a vessel; ranging from $10,000-20, 000 / day in average market conditions to as high as $200,000 / day in strong markets.• A laytime calculation is prepared for every port call and cargo, and is reviewed by all stakeholders.• Even cargoes sold on an FOB or “Free on Board” basis in which the cargo buyer or the cargo seller do not get involved in the ocean transportation have a demurrage exposure which must be calculated.• Commodity traders perform multiple laytime calculations to pro-rate and rebill costs to suppliers and receivers who have bought or sold cargo to them.
[0049] The calculation of laytime requires data from several documents, each of which comes from different sources outside of the organization that needs to calculate laytime. Some documents used to calculate laytime and demurrage include:Table 1. Examples of shipping documents
[0050] A contract may not be a single document and may include different components that form the contract, such as, without limitation, a trade contract, a voyage charterparty, a fixture recap (a short form of key terms agreed for a charterparty), general terms and conditions of oil majors, base charterparties such as ASBATANKVOY or GENCON, rider clauses (such as an Oil company’s addendum of terms to ASBATANKVOY or another contract), among other potential components.
[0051] Other documents such as the Bill of Lading, Letter(s) of Protest, Cargo Inspection or Survey report (which shows cargo quantity and may show interruptions similar to a Statement ofFacts), and Pumping Logs (for liquid bulk / oil cargoes), among other possible demurrage-related documents may also factor into the preparation or negotiation of a demurrage claim.
[0052] Past efforts to standardize these documents or automate the demurrage process have failed due to challenges inherent with the global nature of trade: different types of contracts; number of commodities that can be transported in bulk and customs of the trade associated with commodity; several different stakeholders involved in cargo operations; and voyages which take place all around the world.
[0053] Aspects of the present disclosure involve combining OCR technology with Artificial Intelligence, and not only digitizing a Statement of Facts, but also digitizing, extracting, and organizing data from all of the key documents required for laytime computations.
[0054] Aspects of the present disclosure involve a process that automates the calculation of laytime altogether, based on an understanding of the structure of the documents, to provide an ability to extract and normalize the data into a structure that can be used as inputs to a laytime calculation, and thereby apply the business logic to produce a demurrage calculation.
[0055] Aspects of the present disclosure involve automating the process of analyzing and applying the contract terms from a Trade Contract (e.g. Voyage Charter or Cargo Contract, among other contract components described above), calculating the amount of time allowed for cargo operations (“Laytime Allowance” or “Allowed Laytime”), recognizing the commencement of laytime from the Notice of Readiness, and from the Statement of Facts identifying an applying the interruptions and exceptions to laytime, as well as the completion of laytime. This is implemented by the development of a Machine Learning model to normalize a Statement of Facts into datetimes and remarks, and to classify each of the remarks into exception categories to which business logic from demurrage calculation standards are applied.
[0056] Aspects of the present disclosure involve, after digitizing laytime related documents, ingesting and processing a demurrage calculation (also referred to as a laytime statement) from any format and normalizing it into a data structure, to generate an audit of any two laytime statements, two or more statement of fact documents, a laytime statement and one or more statement of fact documents, or a laytime statement and a bill of lading, among other files to compare, to identify differences in the application of demurrage business logic between the two, such as laytime allowed, commencement of laytime, application of interruptions or exceptions tolaytime, the completion of laytime, total laytime used, demurrage or despatch due, or differences in the contract terms used to produce each calculation.
[0057] Referring to FIG. 1, there is shown a diagram of an example of a processing system for determining a laytime statement that includes a demurrage calculation and of inputs and outputs of the processing system. The processing system 100 may be any type of system, such as a standalone system, a distributed system, a proprietary system, a cloud system, an email system, and / or combinations of such systems. An example of components of the processing system 100 will be described in connection with FIG. 16. The processing system 100 can execute instructions that implement software functions, algorithms, and / or machine learning models.
[0058] In the illustrated embodiment of FIG. 1, inputs to the processing system 100 include one or more trade contract document(s) 110, a notice of readiness document 120, a statement of facts document 130, one or more cargo quantity documents 140 (e.g., Bill of Lading, etc.), and other demurrage-related documents 150, such as other documents mentioned above or described below herein. A cargo quantity document 140, such as a Bill of Lading, provides a source of truth for cargo quantity that is loaded (which is also shown in a statement of facts document) and is useful for cross-referencing other documents, e.g., load port, etc., or names of other documents which have source of truth for cargo, such as “Mate's Receipt” or “Cargo Manifest”, among others. The input documents 110-150 are processed by the processing system 100 in various ways, which will be described below herein. The processing system 100 outputs a laytime statement 160, which contains a demurrage calculation.
[0059] An example of a laytime statement 160 output by the processing system 100 is provided in FIG. 12. In the example of FIG. 12, different sections of the laytime statement are based on a statement of facts document, a notice of readiness document, and a contract, among other documents. For example, the table at the bottom of the laytime statement is generated based on a statement of facts document. Therefore, such other documents are processed to generate the laytime statement.
[0060] FIG. 1 is merely an example, and variations are contemplated to be within the scope of the present disclosure. For example, in various embodiments, any document in a trade chain related to shipping may be processed. For example, in various embodiments, FIG. 1 may include a transaction processing platform for parties to agree and financially settle a demurrage claim. The transaction system may include financial account numbers and may implement electronic transferprotocols such as automated clearing house (ACH) protocols or wire transfer protocols. The transfer protocols may be used to transfer a demurrage or dispatch amount from one party’s account to another party ’ s account. Such and other embodiments are contemplated to be within the scope of the present disclosure.
[0061] FIG. 2 is a block diagram of an example of a processing system 200 for comparing various input documents and of inputs and outputs. The processing system 200 may be any type of system, such as a standalone system, a distributed system, a proprietary system, a cloud system, an email system, and / or combinations of such systems. An example of components of the processing system 200 will be described in connection with FIG. 16. In various embodiments, the processing system 200 of FIG. 2 is the same processing system as that of FIG. 1 (100, FIG. 1). The processing system 200 can execute instructions that implement software functions, algorithms, and / or Machine Learning models.
[0062] In the illustrated embodiment of FIG. 2, inputs 210, 220 to the processing system 200 include a first input document or set of input documents 210 and a second input document or set of input documents 220. In various embodiments, the first input document(s) 210 and the second input document(s) 220 may include two laytime statements, two or more statement of facts documents, a laytime statement and one or more statement of facts documents, a laytime statement and a bill of lading, or other input documents. The input documents 210, 220 are processed by the processing system 200 in various ways, which will be described below herein. The processing system 200 outputs a comparison report 230, which may be contained in a document and / or presented on a display screen. When the input documents 210, 220 are two laytime statements, the comparison report 230 can be a laytime statement comparison report. An example of a laytime statement comparison report 230 output by the processing system 200 is provided in FIGS. 15A- 15C. When the input documents 210, 220 are two or more statement of facts documents, the comparison report 230 can be a comparison of the statements of facts in the documents. When the input documents 210, 220 are a laytime statement and one or more statement of facts document(s), the comparison report 230 can be a comparison of discrepancies between them, with the statement of facts document(s) taken as more reliable, such that the comparison can be used to, e.g., correct any deductions to laytime. When the input documents 210, 220 are a laytime statement and a bill of lading, the comparison report 230 can be a comparison of cargo quantity discrepancies between them, with the bill of lading being more reliable, such that the comparison can be used to, e.g.,correct demurrage calculation (e.g., cargo quantity is relevant to calculation of time allowed for dry bulk cargo loading / discharging).
[0063] FIG. 2 is merely an example, and variations are contemplated to be within the scope of the present disclosure. For example, in various embodiments, FIG. 2 may include a transaction processing platform for parties to agree and financially settle a demurrage claim. Such and other embodiments are contemplated to be within the scope of the present disclosure.
[0064] FIG. 3 is a flow diagram of an example of an operation for ingesting and processing documents. The operation may be implemented in a processing system, such as the processing system shown in FIG. 1, FIG. 2, and / or FIG. 16.
[0065] The operation involves accessing a shipping document 310, which may be any type of shipping document (e.g., any shown in Table 1 or described above or below herein) and may be accessed from any source, such as a cloud storage, email, and / or an online portal, among other sources. The operation involves processing the shipping document 310 in a document classification pipeline 320. The shipping document 310 may be classified by a Machine Learning model which is trained to classify images and / or documents to one of multiple document classifications, including, for example, trade contract document 330, notice of readiness document 332, statement of facts document 334, laytime statement document 336, and / or other types of documents 338 shown or described above or below herein. Persons skilled in the art will understand how to implement, train, and deploy a document classification Machine Learning model, including using and / or customizing Machine Learning models available in cloud services platforms such as Amazon Web Services or Microsoft Azure, among other services.
[0066] In various embodiments, the document classification pipeline 320 ingests any collections of shipping documents as its input. Then, all pages of the document are processed by a custom image classification machine learning model (Document Classification Model) which labels each page with one of the document classifications. Then, pages which have the same classifications / labels are collected into smaller document packets. For example, if pages 1 and 2 are labeled laytime statement document and pages 3, 4, and 5 are labeled statement of fact document, then pages 1 and 2 form a laytime statement document packet, and pages 3, 4, and 5 form a statement of fact document packet. After the document packets are determined, the processor applies a splitting algorithm to divide the original document into its individual document packets 330-338 and stores the document packets 330-338, e.g., in a cloud storage.
[0067] After a shipping document 310 is classified or is split into document packets 330-338, various tools 340-348 may be used to process each document 330-348 to produce a data object 350-358. As used herein, an “object” or “data object” is a data structure that defines one or more fields and that is configured to store values for the one or more fields. A data object 350-358 corresponding to a document 340-348 has fields that correspond to various information contained in the document 340-348.
[0068] If a document is a laytime statement document 336, various tools 346 for processing a laytime statement document 336 are applied to the document 336 to generate a universal claim object 356, which is an object that can store various data found in laytime statements. As used herein, a “universal claim object” is an object that includes fields for storing data from every type of shipping document 310 processable by the processing system, including any of the documents shown or described above or below herein. Thus, a universal claim object includes data fields from all of the other objects 350-358. If the shipping document 310 is a statement of facts document 334, various tools 344 for processing a statement of facts document 334 are applied to the document 334 to generate a statement of facts object 354. If the shipping document 310 is a trade contract document 330, various tools 340 for processing a trade contract document 330 are applied to the document 330 to generate a contract object 350. If the shipping document 310 is a notice of readiness document 332, various tools 342 for processing a notice of readiness document 332 are applied to the document 332 to generate a notice of readiness object 352. For other types of documents 338, various tools 348 may be applied to such documents 338 to generate corresponding data objects 358.
[0069] Generally, for any shipping document 310, the tools 340-348 for processing the document 330-338 to create a data object 350-358 may include optical character recognition (OCR) processing that extract characters from the document and further processing that extracts information from the characters. In various embodiments, OCR processing may be implemented using machine learning. In various embodiments, the further processing may include identification of key -value pairs, e.g., a pair of data that have associated values containing a field name and the corresponding value. In various embodiments, the further processing may include analysis and identification of document structures, such as identification of table structures, and include extraction of information from the table structures based on table row and / or column headings. In various embodiments, the further processing may apply one or more trained machine learningmodels (e.g., large language model, natural language processing model, etc.). For any document 310, the result of the further processing is data that is stored in the fields of the data object 350- 358 corresponding to the document 310.
[0070] FIG. 3 is merely an example, and variations are contemplated to be within the scope of the present disclosure. For example, in various embodiments, every data object 350-358 may be a universal claim object, and only the relevant fields of the universal claim object may be populated in each instance. For example, in various embodiments, the operation of FIG. 3 may include “demurrage claim packet audit” Al engine which analyzes a set of documents uploaded by a user and provides a “pass / fail” mark indicating whether all the documents needed for filing a demurrage claim are in the uploaded set of documents. In various embodiments, the operation of FIG. 3 may include analyzing and validating whether the values or information in the documents match user-entered data or data from reference documents. For example, if a laytime statement is from a third party and the cargo quantity is shown as 30,000MT, and a Bill of Lading shows this same quantity, the operation of FIG. 3 can determine that the cargo quantity in the two documents match to validate that the quantity is correct. For another example, in various embodiments, the operation of FIG. 3 may include a transaction processing platform for parties to agree and financially settle a demurrage claim. In various embodiments, blocks / operations shown separately in FIG. 3 may be combined, and single blocks / operations shown in FIG. 3 may be separated into multiple blocks / operations. Such and other embodiments are within the scope of the present disclosure.
[0071] FIG. 4 is a flow diagram of an example of a processing tool for a trade contract. An example of various trade contracts are shown in FIGS. 17A-17E. As described above, OCR and various types of further processing may be applied to a trade contract document to extract information from a trade contract document. In various situations, trade contracts incorporate other documents which modify the original terms, such as contract modification documents, which in some cases may be email chains specifying the contract modifications. FIG. 4 illustrates an example of an operation that automates contract modification based on a contract modification document.
[0072] The operation involves accessing a trade contract document and a contract modification document 410, which may be an email that contains an email chain. An analyzer tool 420 analyzes the contract modification document 410 to extract sentences relating to modifications. Theanalyzer tool 420 extracts the corresponding contract section of the contract and transmits the extracted modification sentence(s) and the corresponding contract section to a large language model 430, which is a type of trained machine learning model that specializes in language processing and language generation. A large language model 430 can accept a string of characters (or words or sentences) as input and can provide another string of characters as an output. Because a large language model generates a string of characters as output, large language models may also be referred to as generative artificial intelligence (Al) models.
[0073] In the embodiment of FIG. 4, the large language model 430 may incorporate natural language processing and / or semantic analysis. The large language model 430 may be trained using contract templates and contract clauses 440. Persons skilled in the art will understand how to implement, train, and deploy such large language models, including using and / or customizing machine learning models available in cloud services platforms such as Amazon Web Service or Microsoft Azure, among other services, and using, e.g., reinforcement learning / training 480. In the embodiment of FIG. 4, the original contract section and the modification sentence(s) are input to the large language model 430, and the large language model 430 outputs the modified contract section. The modified contract section is provided back to the analyzer 420, which can convey it to a document creator tool 450.
[0074] The contract creator tool 450 operates to create a document that includes the modified contract. In various embodiments, the contract creator tool 450 can use a contract template 440 and can fill in the contract template 440 using unmodified original contract sections (from the original contract) and using modified contract sections (generated by the large language model 430).
[0075] In various embodiments, the contents of the contract created by the document creator tool 450 can be used to populate a contract object 460. In various embodiments, the contents of the original contract and the contents of the modified contract sections can be used to populate the contract object 460. The data stored in the contract object 460 can be accessed and viewed in a graphical user interface of a portal (e.g., web portal, cloud portal, online portal, etc.) 470 and can be edited via the graphical user interface. In various embodiments, an application programming interface (API) portal may be used to edit the information. Any information that is corrected by a user can be used by reinforcement learning 480 to train the large language model 430 to improve performance.
[0076] A contract object 460 may include fields such as: vessel name, loading port, unloading port, contract date, currency denomination, a once on demurrage always on demurrage setting, a once on demurrage not always on demurrage setting, and a remarks field, among other possible fields.
[0077] FIG. 4 is merely an example, and variations are contemplated to be within the scope of the present disclosure. In various embodiments, blocks / operations shown separately in FIG. 4 may be combined, and single blocks / operations shown in FIG. 4 may be separated into multiple blocks / operations. Such and other embodiments are contemplated to be within the scope of the present disclosure.
[0078] FIG. 5 is a flow diagram of an example of a processing tool relating to a notice of readiness document. FIG. 10 shows an example of a notice of readiness document. As described above, OCR and various types of further processing may be applied to a notice of readiness document to extract information from a notice of readiness document. In various situations where a notice of readiness may not be available, FIG. 5 illustrates an example of an operation that provides alternatives to having a notice of readiness document.
[0079] The operation involves using location data 510, e.g., automatic identification system (AIS) data 510, satellite Global Positioning System (GPS) data, a daily position report or Estimated Time of Arrival (ETA) notification message by the vessel, and / or Long-Range Identification and Tracking (LRIT) data, among other possibilities, or using human input 560, when a notice of readiness document is not available. AIS is a system that transmits a ship's position (among other data) so that other ships are aware of its position. The International Maritime Organization (IMO) and other management bodies require large ships, including many commercial vessels, to broadcast their position with AIS in order to avoid collisions. The IMO regulation V / 19 sets forth navigational equipment to be carried onboard ships by ship type. In 2000, IMO adopted a requirement for all ships to carry Automatic Identification Systems (AIS) capable of providing information about the ship to other ships and to coastal authorities automatically. In May 2006 the IMO adopted amendments to Chapter V of the Safety of Life at Sea (SOLAS) convention in relation to LRIT. The LRIT system provides for the global identification and tracking of ships. Each flag state requires vessels registered under that country’s flag to transmit LRIT position reports, to a corresponding flag National Data Center (NDC) via an Application Service Provider (ASP) recognized by the IMO.
[0080] Because AIS, LRIT, and GPS can indicate a ship’s position at a certain time, AIS, LRIT, and / or GPS data 510 can be compared to geographical coordinates of ports or geospatial location polygons of ports 530 to determine when a ship entered port and would have approximately tendered a notice of readiness. A geospatial polygon is a geometric shape used in geographic information systems (GIS) to represent areas on the Earth's surface. It is defined by a series of connected points (vertices) that form a closed loop, with the first and last points being the same to close the shape. These polygons can be used to represent various geographical features, such as boundaries of a port. The vertices of a geospatial polygon are typically specified using coordinates, such as latitude and longitude, or other coordinate systems like UTM (Universal Transverse Mercator). Geospatial polygons can be simple, with just a few vertices forming a straightforward shape, or complex, with many vertices creating intricate and detailed boundaries. In GIS, polygons are often used for spatial analysis, mapping, and visualization purposes.
[0081] The geographical coordinates of ports or geospatial location polygons 530 may be stored in a cloud storage or other storage. Location data (e.g., AIS, LRIT, or GPS data) 510 for a particular ship may be accessed from the ship’s data and / or from third party databases which aggregate such data, among other possible sources. Using the location data 510 for a ship and the port coordinates or geospatial location polygons 530, a processing tool 520 may determine the date and time which would have been specified in a notice of readiness.
[0082] In various embodiments, the date and time determined by the processing tool 520 may be transmitted to a document creation tool 540, which can use that information to create a notice of readiness document, based on notice of readiness templates 550, in place of the unavailable notice of readiness document.
[0083] In various embodiments, the information in the created notice of readiness document may be used to populate a notice of readiness object 570. In various embodiments, the date and time determined by the processing tool 520 may be used to populate the notice of readiness object 570.
[0084] In various embodiments, a notice of readiness object 570 may include fields such as: notice of readiness tendered date, vessel information, cargo information, and port information, among other possible fields.
[0085] FIG. 5 is merely an example, and variations are contemplated to be within the scope of the present disclosure. In various embodiments, blocks / operations shown separately in FIG. 5 maybe combined, and single blocks / operations shown in FIG. 5 may be separated into multiple blocks / operations. Such and other embodiments are contemplated to be within the scope of the present disclosure.
[0086] FIG. 6A is a flow diagram of an example of a processing tool relating to a statement of facts document. FIGS. 11A and 11B show an example of a statement of facts document. As described above, OCR and various types of further processing may be applied to a statement of facts document to extract information from a statement of facts document. FIG. 6A illustrates an example of such further processing in more detail.
[0087] The operation involves accessing a statement of facts document 600, which is a single port statement of facts document. If a statement of facts document 600 includes statements of facts for multiple ports, the document can be split into document packets by a processing tool 610, in the manner described above, so that each document relates to a single port.
[0088] The operation involves processing a (single port) statement of facts document 600 using one or more machine learning models 615 to identify and extract information in the document, such as the dates, times, and remarks, for the events specified in the statement of facts document 600, all tables, headers, master’s and agent’s remarks, and / or document signatures. In various embodiments, multiple machine learning models 615 may be applied, and the output of one of them may be selected. For example, one machine learning model 615 may be trained to identify tables of information (e.g., date / time / remarks) that contain table borders, and another machine learning model 615 may be trained to identify tables of information (e.g., date / time / remarks) that do not contain table borders. In various embodiments, one or more other machine learning models 615 may be trained to identify information (e.g., date / time / remarks) that are not in tabular format, such as those that are in list format or bullet point format. Such and other machine learning models 615 are contemplated to be within the scope of the present disclosure. Any such machine learning model 615 may include an OCR component that extracts the identified information (e.g., dates, times, and remarks) in a structured way so that related information (e.g., dates, times, and remarks) are associated with each other. Persons skilled in the art will understand how to implement, train, and deploy such models, including using and / or customizing machine learning models available in cloud services platforms such as Amazon Web Services or Microsoft Azure, among other services, and use reinforcement learning / training 650.
[0089] In embodiments that apply multiple machine learning models 615, the output of one of the models may be selected. In various embodiments, each machine learning model 615 may output a score that indicates the degree to which a statement of facts document matches the document format (e.g., table with borders, table without borders, list format, bullet point format, etc.) that the machine learning model is trained to process. The machine learning model 615 that provides the highest score may be selected, and the selected machine learning model’s output may be used to extract the information (e.g., dates, times, and remarks) from the statement of facts document 600. Such and other embodiments are contemplated to be within the scope of the present disclosure. The output is stored in an intermediate data object 620, which is a data structure for holding the extracted information. In the intermediate data object 620, for example, date and time are standardized and stored in a single format.
[0090] The intermediate data object 620 is now passed to further processing 625 which applies contextual information 630 to the date and times and which classifies the remarks. The contextual information 630 can, for example, indicate whether certain dates and times occurred during a local weekend or during a local holiday which is an exception to laytime. For example, the weekend in different countries occurs on different days, and different countries celebrate different holidays. Using the contextual information 630 and the remarks, a text classification model 635 (Remarks Classification Model) classifies each remark onto a classification from: Full / Normal, Rain / Bad Weather, Not to count, Shifting, Half, Partial, Always partial, Always excluded, Waiting, Full even if S / H, Partial even if S / H. The text classification model 635 can include natural language processing capabilities. Persons skilled in the art will understand how to implement, train, and deploy such models, including using and / or customizing machine learning models available in cloud services platforms such as Amazon Web Services or Microsoft Azure, among other services, and using, e.g., reinforcement leaming / training 650. The resulting dates, times, and classifications are stored in a statement of facts object 640.
[0091] The tables below list the classifications for laytime counting, mentioned above, together with the percentage value which will be applied under the various conditions and trade contract clauses. As the system processes the demurrage calculation, it will determine the date and time the vessel comes on demurrage and will always apply the correct assignment of time counting.
[0092] The percentage of time to count under each classification depends on 3 factors:■ If the event occurs during the contractual laytime allowance, or “normal time”,■ If the event occurs during the contractual laytime allowance but during a weekend or holiday period outside the normal working hours of the port. This period is often referred to as “SHEX” (i.e. “Sundays and Holidays Excluded”); in practice a trade contract will normally specify when the contract is “SHINC” (Sundays and Holidays Included, i.e. no periods during which laytime ceases during the laytime allowance) or SHEX, including actual days and times before a holiday or weekend that laytime ceases.■ If the event occurs once the vessel is on demurrage.Table 2. Laytime counting for Once on demurrage, always on demurrage clauseTable 3. Laytime counting for Not always on demurrage clause
[0093] The two tables correspond to two settings: “once on demurrage, always on demurrage,” or “once on demurrage, NOT always on demurrage.” The settings indicate whether exceptions to laytime can also be excepted during demurrage.
[0094] For liquid bulk (oil / tanker cargoes), Table 2 and Table 3 will have different % to count in some cases. Most notable is the rain / bad weather; in tankers it is standard convention to deduct 50%, not 100%. A machine learning model 635 may be trained for such cases.
[0095] In various embodiments, the machine learning classification model 635 may be trained to classify statement of facts remarks into categories of delay. While those categories of delay may still count as “time to count” from a laytime perspective, they provide a way to indicate the reasons for delay.
[0096] With continuing reference to FIG. 6A, the data stored in the statement of facts object 640 can be displayed in graphical user interface of a portal (e.g., web portal, cloud portal, online portal, etc.) 645 and can be edited by a user via the graphical user interface. In various embodiments, an application programming interface (API) portal may be used to edit the information. Any information that is corrected by a user can be used by reinforcement learning 650 to train the machine learning model 655 and the Remarks Classification Model 635 to improve performance.
[0097] In various embodiments, various data objects may be used to store various information described above. For example, a laytime statement object may include fields such as: currency denomination, remarks, once on demurrage always on demurrage setting, once on demurrage notalways on demurrage setting, vessel name, counterparty, a port collection object, pro-rata calculation method, and a result object, among other possible fields.
[0098] A port collection object may include fields such as: port type calculation, time saved or lost, demurrage or despatch, cargo name, cargo quantity, cargo units, date, remarks, time, port action, port name, begin laytime counting days and time, demurrage rate, demurrage commission, despatch rate, detention rate, detention commission, SHEX option, SHEX start day and time, SHEX end day and time, SHEX description, statement of facts start date and time, statement of facts end date and time, statement of facts remarks, and statement of facts time to count type and name and percentage, time allowance units and quantity and minimum, and time limits start date and day and time, and time limits end date and day and time, among other possible fields.
[0099] A result object may include fields such as: days allowed, time allowed, days used, time used, days waited, time waited, days saved or lost, time saved or lost, saved or lost days time balance, currency, demurrage or despatch due, demurrage rate, despatch rate, amount due, commission percentage, commission due, and net amount due, among other possible fields.
[0100] FIG. 6A is merely an example, and variations are contemplated to be within the scope of the present disclosure. In various embodiments, blocks / operations shown separately in FIG. 6A may be combined, and single blocks / operations shown in FIG. 6A may be separated into multiple blocks / operations. Such and other embodiments are contemplated to be within the scope of the present disclosure.
[0101] FIG. 6B is a flow diagram of an example of a processing tool relating to a contract document. OCR and various types of further processing may be applied to a contract document to extract information from a contract document. FIG. 6B illustrates an example of such further processing in more detail.
[0102] The operation involves accessing a contract document 602, which is a single contract. A collection of documents that may form a contract may include, without limitation, Voyage Charter Party document, Sale Contract (Purchase Contract), Fixture Recap, Base Charterparty Form, Rider Clauses, and General Terms & Conditions (GTCs), among others. If a contract document 602 includes multiple contracts, the document can be split into document packets by a processing tool 650, in the manner described above, so that each document relates to a single contract.
[0103] The operation involves processing a contract document 602 using one or more machine learning models 655 to identify and extract information in the document, such as contract clauses. In various embodiments, multiple machine learning models 655 may be applied, and the output of one of them may be selected. For example, one machine learning model 655 may be trained to identify tables that contain table borders, and another machine learning model 655 may be trained to identify tables that do not contain table borders. In various embodiments, one or more other machine learning models 655 may be trained to identify information that are not in tabular format, such as those that are in list format, bullet point format, or section format. Such and other machine learning models 655 are contemplated to be within the scope of the present disclosure. Any such machine learning model 655 may include an OCR component that extracts the identified information (e.g., contract clauses) in a structured way so that related information are associated with each other. Persons skilled in the art will understand how to implement, train, and deploy such models, including using and / or customizing machine learning models available in cloud services platforms such as Amazon Web Services or Microsoft Azure, among other services, and use reinforcement learning / training 690.
[0104] In embodiments that apply multiple machine learning models 655, the output of one of the models may be selected. In various embodiments, each machine learning model 655 may output a score that indicates the degree to which a contract document matches the document format (e.g., table with borders, table without borders, list format, bullet point format, section format, etc.) that the machine learning model is trained to process. The machine learning model 655 that provides the highest score may be selected, and the selected machine learning model’s output may be used to extract the information from the contract document 602. Such and other embodiments are contemplated to be within the scope of the present disclosure. The output is stored in an intermediate data object 660, which is a data structure for holding the extracted information. In the intermediate data object 660, for example, date and time are standardized and stored in a single format.
[0105] The intermediate data object 660 is now passed to further processing 665 which applies contextual information 670 to the date and times, classifies the contract clauses, and applies a large language model. The contextual information 670 can, for example, indicate whether certain dates and times occurred during a local weekend or during a local holiday which is an exception to laytime. For example, the weekend in different countries occurs on different days, and differentcountries celebrate different holidays. Using the contextual information 670, a machine learning model 635 classifies each contract clause. The machine learning model 675 can include natural language processing and large language model capabilities. Text from the contract document 602 is provided by machine learning model 655. Such text is input to the machine learning model 675 (e g., into LLM or text classifier), and the output of machine learning model 675 can be information that sets parameters for demurrage calculations (such as exclusions to laytime, etc.). The information can also, for example, be used to modify the information extracted from other documents, such as information extracted in FIG. 6A in processing a statement of facts document. For example, an example of a contract document is shown in FIGS. 17A-17E. In FIG. 17C, the machine learning model 675 may extract information regarding laytime allowance 1710, Sundays and holidays exceptions to laytime 1712, shifting and weather and delay exceptions to laytime 1714, validity of notice of readiness for commencement of laytime 1716, and commencement of laytime 1718. Such information may be used to modify information set parameters for demurrage calculations and / or be used to modify information extracted from other documents (e.g., from statement of facts document). Persons skilled in the art will understand how to implement, train, and deploy such models, including using and / or customizing machine learning models available in cloud services platforms such as Amazon Web Services or Microsoft Azure, among other services, and using, e.g., reinforcement leaming / training 690.
[0106] The resulting information is stored in a contract object 680, which can store information such as, without limitation, assessed commencement of laytime, exceptions to laytime (weekends, holidays, etc.), exceptions to demurrage, demurrage rate, intended cargo quantity, treatment of weather, and / or treatment of shifting times (shifting from berth), among other information.
[0107] With continuing reference to FIG. 6B, the data stored in the contract object 680 can be displayed in graphical user interface of a portal (e.g., web portal, cloud portal, online portal, etc.) 685 and can be edited by a user via the graphical user interface. In various embodiments, application programming interfaces (API) portal may be used to edit the information. Any information that is corrected by a user can be used by reinforcement learning 690 to train the machine learning models 655, 675 to improve performance.
[0108] FIG. 6B is merely an example, and variations are contemplated to be within the scope of the present disclosure. In various embodiments, blocks / operations shown separately in FIG. 6B may be combined, and single blocks / operations shown in FIG. 6B may be separated into multipleblocks / operations. Such and other embodiments are contemplated to be within the scope of the present disclosure.
[0109] FIG. 7 is a flow diagram of an example of determining a demurrage or despatch calculation. Data from the statement of fact object 704, the notice of readiness object 702, the contract object 700, cargo quantity object 706 (e.g., bill of lading object), and / or other data objects 708 related to demurrage computation (e.g., data described above herein) are used by a processing tool 710 in calculating a demurrage or despatch amount. The computed demurrage or dispatch amount, as well as any data for generating a laytime statement, may be stored in a universal claim object 720. As mentioned above, a universal claim object 720 is an object that includes fields for storing data from every type of shipping document processable by the processing system, including any of the documents shown or described above or below herein. The universal claim object 720 can be processed by a document creator tool 730 to generate a laytime statement document 740 that includes the demurrage or despatch amount. FIG. 12 shows an example of a generated laytime statement document, which includes a computed demurrage amount. The document creation tool 730 may be used to generate the laytime statement document 740 based on various data from the statement of fact object 704, the notice of readiness object 702, the contract object 700, the cargo quantity object 706, and / or other data objects 708 relevant to demurrage computation, and based on the demurrage or despatch amount.
[0110] FIG. 7 is merely an example, and variations are contemplated to be within the scope of the present disclosure.
[0111] Accordingly, FIGS. 1-7 have been described in connection with automating input of shipping documents to determine a demurrage or despatch calculation and to generate a laytime statement document. FIGS. 8-15C will now be described in connection with FIG. 2 for processing multiple input documents to generate a laytime statement comparison report. As mentioned in connection with FIG. 2, the input documents may include two laytime statements, two or more statement of facts documents, or a laytime statement and one or more statement of facts documents.
[0112] FIGS. 13 and 14 show examples of two different laytime statement documents corresponding to the notice of readiness document of FIG. 10 and the statement of facts document of FIGS. 11 A and 1 IB. The laytime statements of FIG. 13 and FIG. 14 were prepared by different parties and show a difference in the demurrage amount. The operation of FIG. 8 operates to process a laytime statement document to generate a universal claim object, which is a data object thatcontains information for laytime statement documents. The operation of FIG. 9 processes two or more universal claim objects to produce a laytime statement comparison report. An example of a laytime statement comparison report is shown in FIGS. 15A-15C.
[0113] In FIG. 8, the operation involves accessing a laytime statement document 800. If the laytime statement document 800 includes laytime statements for multiple ports, a document splitter tool 810 can split the pages into document packets so that each document packet relates to a single port. In various embodiments, the document splitter tool 810 can utilize a machine learning model 815 that is an image classification model.
[0114] The model 815 returns ranges of pages that constitute a port calculation (a laytime calculation that consists of only one port). This page range information is used by the splitting tool 810 to divide the original document 800 into a collection of individual port documents. Thus, the output of the document splitter tool 810 is either one document that relates to a single port or multiple document packets that each relates to a single port.
[0115] FIG. 8 illustrates an example of three single port laytime statement document packets 820-824 that were split from the original laytime statement document 800. Each laytime statement document packet 820-824 is processed by a processing tool 830-834 to extract information from the laytime statement document packet 820-824 to populate a single port data object 840-842. Extracting information from a laytime statement document packet 820-824 may not be straightforward because there is no uniform format for a laytime statement document, as mentioned above. Rather, multiple formats are routinely used, including, for example, Veson IMOS, SoftMAR, HubSE, Enqlare, Q88VMS, Netpas, Laysoft and Excel formats.
[0116] In various embodiments, multiple machine learning models 880 may be applied in the information extraction process, and the output of one of them may be selected. For example, one machine learning model 880 may be trained to extract information for one laytime statement format (e.g., Veson IMOS), and another machine learning model 880 may be trained to extract information for another laytime statement format (e.g., HubSE), and so on. In various embodiments, there may be a separate trained machine learning model 880 for each laytime statement format, and each such model may have OCR and document structure analysis capabilities. Any such machine learning model 880 may use such capabilities to extract the identified data in a structured way so that related information are associated with each other. Persons skilled in the art will understand how to implement, train, and deploy such models,including using and / or customizing machine learning models available in cloud services platforms such as Amazon Web Services or Microsoft Azure, among other services.
[0117] In embodiments that apply multiple machine learning models 880, the output of one of the models may be selected. In various embodiments, each machine learning model 880 may output a score that indicates the degree to which a laytime statement document matches the document format (e.g., Veson IMOS, HubSE, etc.) that the machine learning model 880 is trained to process. The machine learning model 880 that provides the highest score may be selected, and the selected machine learning model’s output may be used to extract the information from the laytime statement document 820-824. Such and other embodiments are contemplated to be within the scope of the present disclosure. The output is stored in a port data object 840-844. The extracted data for various document formats may use different text conventions, different date / time formats, and / or different numerical formats. Such data is converted into a single format for storage in the port data object 840-844.
[0118] A processing tool 850 collects the individual port objects 840-844 and collects shared information across all ports, and creates a Universal Claims Object 860. The data in the Universal Claims Object 860 is displayed in a graphical user interface of a portal (e.g., web portal, cloud portal, an online portal, etc.) 870, and a user can create edits on data of the universal claim object via the portal 870. In various embodiments, an application programming interface (API) portal may be used to edit the data.
[0119] In the case a user does create edits, the modifications are noted, and these changes are used by reinforcement learning 890 to improve the machine learning models 815, 880 of FIG. 8. The reinforcement learning 890 collects a significant amount of data and runs data validation on these data and after validation, runs batch training on the machine learning models 845, 880 to improve model performance.
[0120] A universal claim object 860 may include fields such as: currency denomination, remarks, once on demurrage always on demurrage setting, once on demurrage not always on demurrage setting, vessel name, counterparty, a port collection object, pro-rata calculation method, and a result object, among other possible fields. As mentioned above, a universal claim object 860 includes fields for storing data from every type of shipping document 310 processable by the processing system, including any of the documents shown or described above or below herein.
[0121] The port object 840-844 may include fields such as: port type calculation, time saved despatch, cargo name, cargo quantity, cargo units, date, remarks, time, port action, port name, begin laytime counting days and time, demurrage rate, demurrage commission, despatch rate, detention rate, detention commission, SHEX option, SHEX start day and time, SHEX end day and time, SHEX description, statement of facts start date and time, statement of facts end date and time, statement of facts remarks, and statement of facts time to count type and name and percentage, time allowance units and quantity and minimum, and time limits start date and day and time, time limits end date and day and time, and a result object, among other possible fields.
[0122] Certain data may be stored in a result object, which may include fields such as: days allowed, time allowed, days used, time used, days waited, time waited, days saved or lost, time saved or lost, saved or lost days time balance, currency, demurrage or despatch due, demurrage rate, despatch rate, amount due, commission percentage, commission due, and net amount due, among other possible fields.
[0123] FIG. 8 is merely an example, and variations are contemplated to be within the scope of the present disclosure. For example, where the original laytime statement document relates to a single port, then the example of FIG. 8 would be reduced to just one path (rather than the three shown in FIG. 8) and just one port object. Where the original laytime statement document relates to more than three ports, then the example of FIG. 8 would be increased to more than three paths and more than three port objects. In various embodiments, blocks / operations shown separately in FIG. 8 may be combined, and single blocks / operations shown in FIG. 8 may be separated into multiple blocks / operations. Such and other variations are contemplated to be within the scope of the present disclosure.
[0124] FIG. 9 is a flow diagram of an example of generating a comparison of input documents, e g., laytime statement(s) and / or statement of facts document(s) and / or bill of lading document, etc. As mentioned above (e.g., in connection with FIG. 2), input documents for generating a comparison report may be two laytime statements, two or more statement of facts documents, a laytime statement and one or more statement of facts documents, a laytime statement and a bill of lading, among other input documents. Data from input document(s) (e g., two laytime statement documents, one laytime statement document and one or more statement of facts documents, two or more statement of facts documents, or laytime statement and bill of lading) are contained in two universal claim objects 910, 920. In embodiments where a laytime statement is compared to oneor more statement of facts documents, or two or more statement of facts documents are compared to each other, one or more statement of facts objects may be used in place of one or more universal claim objects. The data in the two universal claim objects 910, 920 can be compared by a processing tool 930 to determine their differences and to populate a comparison result object 940. FIGS. 15A-15C show an example of a generated laytime statement comparison document, in which two laytime statements are compared. In case two or more statement of facts documents are compared, the comparison may include columns corresponding to each statement of facts document that is compared. A document creation tool 950 may be used to generate the comparison document 960 based on various data in the comparison result object 940 and optionally based on data in the universal claim objects 910, 920. As shown in FIGS. 15A-15C, a generated laytime statement comparison document includes a side-by-side calendar-type view that shows whether or not time is counted over the relevant days and hours, according to each of the laytime statements that is being compared. The data stored in the comparison result object 940 and / or the comparison report 960 can be displayed in a graphical user interface of a portal (e.g., web portal, cloud portal, online portal, etc.) 970.
[0125] FIG. 9 is merely an example, and variations are contemplated to be within the scope of the present disclosure. In various embodiments, blocks / operations shown separately in FIG. 9 may be combined, and single blocks / operations shown in FIG. 9 may be separated into multiple blocks / operations. Such and other variations are contemplated to be within the scope of the present disclosure.
[0126] The documents of FIGS. 10-15C were referenced above.
[0127] Referring now to FIG. 16, there is shown a block diagram of example components of processing system such as the processing system of FIG. 1 or FIG. 2. The processing system includes an electronic storage 1610, a processor 1620, a network interface 1640, and a memory 16850. The various components may be communicatively coupled with each other. The processor 1620 may be and may include any type of processor, such as a single-core central processing unit (CPU), a multi-core CPU, a microprocessor, a digital signal processor (DSP), a System-on-Chip (SoC), or any other type of processor. The memory 1650 may be a volatile type of memory, e.g., RAM, or a non-volatile type of memory, e.g., NAND flash memory. The memory 1650 includes processor-readable instructions that are executable by the processor 1620 to cause the processing system to perform various operations, including those mentioned herein, such as the operationsshown and described in connection with FIGS. 3-9, and / or applying machine learning models, among others.
[0128] The electronic storage 1610 may be and include any type of electronic storage used for storing data, such as hard disk drive, solid state drive, and / or optical disc, among other types of electronic storage. The electronic storage 1610 stores processor-readable instructions for causing the processing system to perform its operations and stores data associated with such operations, such as storing the various documents and data objects, among other data. The network interface 1640 may implement wireless networking technologies and / or wired networking technologies.
[0129] The components shown in FIG. 16 are merely examples, and it will be understood that a processing system includes other components not illustrated and may include multiples of any of the illustrated components. Such and other embodiments are contemplated to be within the scope of the present disclosure.
[0130] In connection with the descriptions above, a graphical user interface may allow a user to access any of the features described herein. The graphical user interface may be part of a web portal, a cloud portal, and / or an online portal, among other possibilities. The graphical user interface may allow a user to upload all documents required for the features and allow a user to access the results of any of the features described herein.
[0131] Further, in connection with the descriptions above, any data object described herein may be replaced by a universal claim object, and only the relevant fields of the universal claim object may be populated in each instance.
[0132] Additional aspects of the present disclosure are described by the following examples. In the following examples, and unless indicated otherwise by the context, any “means” may include a processor that executes instructions. The notation Example n.x refers to any value of n and any value of x that is specified in the present application.
[0133] Example 1.1. A system comprising: at least one processor; and at least one memory having stored thereon instructions which, when executed by the at least one processor, cause the system at least to perform a method comprising: accessing shipping documents, the shipping documents comprising a statement of facts document;applying a plurality of trained machine learning models to process the statement of facts document, each of the plurality of trained machine learning models configured to identify a respective document structure and configured to output respective statement of facts data based on the respective document structure; selecting statement of facts data of one of the plurality of trained machine learning models; computing a demurrage amount or a despatch amount based on data in the shipping documents and based on the selected statement of facts data; and providing the demurrage amount or the despatch amount in a document or on a display screen.
[0134] Example 1.2. The system of Example 1.1, wherein the document structure comprises at least one of a table structure with table borders, a table structure without table borders, a paragraph structure, a list structure, or a bullet point structure.
[0135] Example 1.3. The system of Example 1.1 or Example 1.2, wherein each of the plurality of trained machine learning models outputs a score indicative of a degree of confidence in identifying the respective document structure in the statement of facts document.
[0136] Example 1.4. The system of Example 1.3, wherein the selected statement of facts data is selected from a machine leaning model among the plurality of trained machine learning models which has a highest score.
[0137] Example 1.5. The system of any one of the preceding Examples 1.x, wherein the selected statement of facts data comprises text related to loading or unloading of cargo, and wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising: applying a trained machine learning classification model to classify the text to one of a plurality of classifications.
[0138] Example 1.6. The system of Example 1.5, wherein the plurality of classifications comprises at least one of Full / Normal, Rain / Bad Weather, Not to count, Shifting, Half, Partial, Always partial, Always excluded, Waiting, Full even if S / H, or Partial even if S / H.
[0139] Example 1.7. The system of any one of the preceding Examples 1.x, wherein the method is performed without any human intervention.
[0140] Example 1.8. The system of Example 1.5 or Example 1.6, wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising: providing user access to the classifications via a portal or application programming interface; and receiving revised classifications based on user edits to the classifications.
[0141] Example 1.9. The system of Example 1.8, wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising: retraining the trained machine learning classification model based on the revised classifications.
[0142] Example 1.10. The system of Example 1.9, wherein the retraining applies reinforcement learning.
[0143] Example 2.1. A method comprising: accessing shipping documents, the shipping documents comprising a statement of facts document; applying a plurality of trained machine learning models to process the statement of facts document, each of the plurality of trained machine learning models configured to identify a respective document structure and configured to output respective statement of facts data based on the respective document structure; selecting statement of facts data of one of the plurality of trained machine learning models; computing a demurrage amount or a despatch amount based on data in the shipping documents and based on the selected statement of facts data; and providing the demurrage amount or the despatch amount in a document or on a display screen.
[0144] Example 2.2. The method of Example 2.1, wherein the document structure comprises at least one of: a table structure with table borders, a table structure without table borders, a paragraph structure, a list structure, or a bullet point structure.
[0145] Example 2.3. The method of Example 2.1 or Example 2.2, wherein each of the plurality of trained machine learning models outputs a score indicative of a degree of confidence in identifying the respective document structure in the statement of facts document.
[0146] Example 2.4. The method of Example 2.3, wherein the selected statement of facts data is selected from a machine leaning model among the plurality of trained machine learning models which has a highest score.
[0147] Example 2.5. The method of any one of the preceding Examples 2.x, wherein the selected statement of facts data comprises text related to loading or unloading of cargo, and the method further comprising: applying a trained machine learning classification model to classify the text to one of a plurality of classifications.
[0148] Example 2.6. The method of Example 2.5, wherein the plurality of classifications comprises at least one of: Full / Normal, Rain / Bad Weather, Not to count, Shifting, Half, Partial, Always partial, Always excluded, Waiting, Full even if S / H, or Partial even if S / H.
[0149] Example 2.7. The method of any one of the preceding Examples 2.x, wherein the method is performed without any human intervention.
[0150] Example 2.8. The method of Example 2.5 or Example 2.6, further comprising: providing user access to the classifications via a portal or application programming interface; and receiving revised classifications based on user edits to the classifications.
[0151] Example 2.9. The method of Example 2.8, further comprising: retraining the trained machine learning classification model based on the revised classifications.
[0152] Example 2.10. The method of Example 2.9, wherein the retraining applies reinforcement learning.
[0153] Example 3.1. A non-transitory processor-readable medium having stored thereon instructions which, when executed by at least one processor of a system, cause the system at least to perform: accessing shipping documents, the shipping documents comprising a statement of facts document; applying a plurality of trained machine learning models to process the statement of facts document, each of the plurality of trained machine learning models configured to identify a respective document structure and configured to output respective statement of facts data based on the respective document structure; selecting statement of facts data of one of the plurality of trained machine learning models;computing a demurrage amount or a despatch amount based on data in the shipping documents and based on the selected statement of facts data; and providing the demurrage amount or the despatch amount in a document or on a display screen.
[0154] Example 3.2. The system of Example 3.1, wherein the document structure comprises at least one of: a table structure with table borders, a table structure without table borders, a paragraph structure, a list structure, or a bullet point structure.
[0155] Example 3.3. The non-transitory processor-readable medium of Example 3.1 or Example 3.2, wherein each of the plurality of trained machine learning models outputs a score indicative of a degree of confidence in identifying the respective document structure in the statement of facts document.
[0156] Example 3.4. The non-transitory processor-readable medium of Example 3.3, wherein the selected statement of facts data is selected from a machine leaning model among the plurality of trained machine learning models which has a highest score.
[0157] Example 3.5. The non-transitory processor-readable medium of any one of the preceding Example 3.x, wherein the selected statement of facts data comprises text related to loading or unloading of cargo, and wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising: applying a trained machine learning classification model to classify the text to one of a plurality of classifications.
[0158] Example 3.6. The non-transitory processor-readable medium of Example 3.5, wherein the plurality of classifications comprises at least one of: Full / Normal, Rain / Bad Weather, Not to count, Shifting, Half, Partial, Always partial, Always excluded, Waiting, Full even if S / H, or Partial even if S / H.
[0159] Example 3.7. The non-transitory processor-readable medium of any one of the preceding 3.x, wherein the method is performed without any human intervention.
[0160] Example 3.8. The non-transitory processor-readable medium of Example 3.5 or Example 3.6, wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising:providing user access to the classifications via a portal or application programming interface; and receiving revised classifications based on user edits to the classifications.
[0161] Example 3.9. The non-transitory processor-readable medium of Example 3.8, wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising: retraining the trained machine learning classification model based on the revised classifications.
[0162] Example 3.10. The non-transitory processor-readable medium of Example 3.9, wherein the retraining applies reinforcement learning.
[0163] Example 4. 1. A system comprising: at least one processor; and at least one memory having stored thereon instructions which, when executed by the at least one processor, cause the system at least to perform a method comprising: accessing at least two laytime statement documents; for each laytime statement document of the at least two laytime statement documents: extracting data from the respective laytime statement document using one or more trained machine learning models, and storing the extracted data in a respective standardized data object; generating a comparison document based on the standardized data objects of the at least two laytime statement documents, the comparison document comprising a side-by-side time comparison of laytime specified in the at least two laytime statement documents.
[0164] Example 4.2. The system of Example 4.1, wherein each of the one or more trained machine learning models is configured to identify a respective document structure and is configured to output respective laytime statement data based on the respective document structure.
[0165] Example 4.3. The system of Example 4.2, wherein each of the one or more trained machine learning models outputs a score indicative of a degree of confidence in identifying the respective document structure in a laytime statement document.
[0166] Example 4.4. The system of Example 4.3, wherein the instructions, when executed by the at least one processor, further causes the system at least to perform:selecting extracted data from a machine leaning model among the one or more trained machine learning models which has a highest score.
[0167] Example 4.5. A method comprising: accessing at least two laytime statement documents; for each laytime statement document of the at least two laytime statement documents: extracting data from the respective laytime statement document using one or more trained machine learning models, and storing the extracted data in a respective standardized data object; generating a comparison document based on the standardized data objects of the at least two laytime statement documents, the comparison document comprising a side-by-side time comparison of laytime specified in the at least two laytime statement documents.
[0168] Example 4.6. The method of Example 4.5, wherein each of the one or more trained machine learning models is configured to identify a respective document structure and is configured to output respective laytime statement data based on the respective document structure.
[0169] Example 4.7. The method of Example 4.6, wherein each of the one or more trained machine learning models outputs a score indicative of a degree of confidence in identifying the respective document structure in a laytime statement document.
[0170] Example 4.8. The method of Example 4.7, further comprising: selecting extracted data from a machine leaning model among the one or more trained machine learning models which has a highest score.
[0171] Example 4.9. A non-transitory processor-readable medium having stored thereon instructions which, when executed by at least one processor of a system, cause the system at least to perform a method comprising: accessing at least two laytime statement documents; for each laytime statement document of the at least two laytime statement documents: extracting data from the respective laytime statement document using one or more trained machine learning models, and storing the extracted data in a respective standardized data object; generating a comparison document based on the standardized data objects of the at least two laytime statement documents, the comparison document comprising a side-by-side time comparison of laytime specified in the at least two laytime statement documents.
[0172] Example 4.10. The non-transitory processor-readable medium of Example 4.9, wherein each of the one or more trained machine learning models is configured to identify a respective document structure and is configured to output respective laytime statement data based on the respective document structure.
[0173] Example 4.11. The non-transitory processor-readable medium of Example 4.10, wherein each of the one or more trained machine learning models outputs a score indicative of a degree of confidence in identifying the respective document structure in a laytime statement document.
[0174] Example 4.12. The non-transitory processor-readable medium of Example 4.11, wherein the instructions, when executed by the at least one processor, further causes the system at least to perform: selecting extracted data from a machine leaning model among the one or more trained machine learning models which has a highest score.
[0175] Example 5.1. A system comprising: at least one processor; and at least one memory storing instructions which, when executed by the at least one processor, cause the system at least to perform a method comprising: accessing location data for a vessel; accessing geospatial information for the port; comparing the location data for the vessel with the geospatial information for the port to determine a time when the vessel entered the port; and generating a notice of readiness document indicating the time when the vessel entered the port.
[0176] Example 5.2. The system of Example 5.1, wherein the location data for the vessel comprises at least one of: automatic identification system (AIS) data, global positioning system (GPS) data, or long-range identification and tracking (LRIT) data.
[0177] Example 5.3. The system of Example 5.1 or Example 5.2, wherein the geospatial information comprises at least one of: geographic coordinates for the port, or geospatial polygons for the port.
[0178] Example 5.4. A method comprising: accessing location data for a vessel;accessing geospatial information for the port; comparing the location data for the vessel with the geospatial information for the port to determine a time when the vessel entered the port; and generating a notice of readiness document indicating the time when the vessel entered the port.
[0179] Example 5.5. The system of Example 5.4, wherein the location data for the vessel comprises at least one of: automatic identification system (AIS) data, global positioning system (GPS) data, or long-range identification and tracking (LRIT) data.
[0180] Example 5.6. The system of Example 5.4 or Example 5.5, wherein the geospatial information comprises at least one of: geographic coordinates for the port, or geospatial polygons for the port.
[0181] Example 5.7. A processor-readable medium having stored thereon instructions which, when executed by at least one processor of a system, cause the system at least to perform a method comprising: accessing location data for a vessel; accessing geospatial information for the port; comparing the location data for the vessel with the geospatial information for the port to determine a time when the vessel entered the port; and generating a notice of readiness document indicating the time when the vessel entered the port.
[0182] Example 5.8. The system of Example 5.7, wherein the location data for the vessel comprises at least one of: automatic identification system (AIS) data, global positioning system (GPS) data, or long-range identification and tracking (LRIT) data.
[0183] Example 5.9. The system of Example 5.7 or Example 5.8, wherein the geospatial information comprises at least one of: geographic coordinates for the port, or geospatial polygons for the port.
[0184] The embodiments disclosed herein are examples of the disclosure and may be embodied in various forms. For instance, although certain embodiments herein are described as separate embodiments, each of the embodiments herein may be combined with one or more of the other embodiments herein. Specific structural and functional details disclosed herein are not to be interpreted as limiting, but as a basis for the claims and as a representative basis for teaching oneskilled in the art to variously employ the present disclosure in virtually any appropriately detailed structure. Like reference numerals may refer to similar or identical elements throughout the description of the figures.
[0185] The phrases “in an embodiment,” “in embodiments,” “in various embodiments,” “in some embodiments,” or “in other embodiments” may each refer to one or more of the same or different embodiments in accordance with the present disclosure. A phrase in the form “A or B” means “(A), (B), or (A and B).” A phrase in the form “at least one of A, B, or C” means “(A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C) ”
[0186] The systems, devices, and / or servers described herein may utilize one or more processors to receive various information and transform the received information to generate an output. The processors may include any type of computing device, computational circuit, or any type of controller or processing circuit capable of executing a series of instructions that are stored in a memory. The processor may include multiple processors and / or multicore central processing units (CPUs) and may include any type of device, such as a microprocessor, graphics processing unit (GPU), digital signal processor, microcontroller, programmable logic device (PLD), field programmable gate array (FPGA), or the like. The processor may also include a memory to store data and / or instructions that, when executed by the one or more processors, cause the one or more processors to perform one or more methods and / or algorithms.
[0187] Any of the herein described methods, programs, algorithms or codes may be converted to, or expressed in, a programming language or computer program. The terms “programming language” and “computer program,” as used herein, each include any language used to specify instructions to a computer, and include (but is not limited to) the following languages and their derivatives: Assembler, Basic, Batch files, BCPL, C, C+, C++, Delphi, Fortran, Java, JavaScript, machine code, operating system command languages, Pascal, Perl, PHP, PL1, Python, scripting languages, Visual Basic, metalanguages which themselves specify programs, and all first, second, third, fourth, fifth, or further generation computer languages. Also included are database and other data schemas, and any other meta-languages. No distinction is made between languages which are interpreted, compiled, or use both compiled and interpreted approaches. No distinction is made between compiled and source versions of a program. Thus, reference to a program, where the programming language could exist in more than one state (such as source, compiled, object, orlinked) is a reference to any and all such states. Reference to a program may encompass the actual instructions and / or the intent of those instructions.
[0188] It should be understood that the foregoing description is only illustrative of the present disclosure. Various alternatives and modifications can be devised by those skilled in the art without departing from the disclosure. Accordingly, the present disclosure is intended to embrace all such alternatives, modifications and variances. The embodiments described with reference to the attached drawing figures are presented only to demonstrate certain examples of the disclosure. Other elements, steps, methods, and techniques that are insubstantially different from those described above and / or in the appended claims are also intended to be within the scope of the disclosure.
Claims
What is Claimed:
1. A system comprising: at least one processor; and at least one memory having stored thereon instructions which, when executed by the at least one processor, cause the system at least to perform a method comprising: accessing shipping documents, the shipping documents comprising a statement of facts document; applying a plurality of trained machine learning models to process the statement of facts document, each of the plurality of trained machine learning models configured to identify a respective document structure and configured to output respective statement of facts data based on the respective document structure; selecting statement of facts data of one of the plurality of trained machine learning models; computing a demurrage amount or a despatch amount based on data in the shipping documents and based on the selected statement of facts data; and providing the demurrage amount or the despatch amount in a document or on a display screen.
2. The system of claim 1, wherein the document structure comprises at least one of: a table structure with table borders, a table structure without table borders, a paragraph structure, a list structure, or a bullet point structure.
3. The system of claim 1, wherein each of the plurality of trained machine learning models outputs a score indicative of a degree of confidence in identifying the respective document structure in the statement of facts document.
4. The system of claim 3, wherein the selected statement of facts data is selected from a machine leaning model among the plurality of trained machine learning models which has a highest score.
5. The system of claim 1, wherein the selected statement of facts data comprises text related to loading or unloading of cargo, and wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising: applying a trained machine learning classification model to classify the text to one of a plurality of classifications.
6. The system of claim 5, wherein the plurality of classifications comprises at least one of Full / Normal, Rain / Bad Weather, Not to count, Shifting, Half, Partial, Always partial, Always excluded, Waiting, Full even if S / H, or Partial even if S / H.
7. The system of claim 1 , wherein the method is performed without any human intervention.
8. The system of claim 5, wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising: providing user access to the classifications via a portal or application programming interface; and receiving revised classifications based on user edits to the classifications.
9. The system of claim 8, wherein the instructions, when executed by the at least one processor, cause the system to perform the method further comprising: retraining the trained machine learning classification model based on the revised classifications.
10. The system of claim 9, wherein the retraining applies reinforcement learning.
11. A system comprising: at least one processor; and at least one memory having stored thereon instructions which, when executed by the at least one processor, cause the system at least to perform a method comprising:accessing at least two laytime statement documents; for each laytime statement document of the at least two laytime statement documents: extracting data from the respective laytime statement document using one or more trained machine learning models, and storing the extracted data in a respective standardized data object; generating a comparison document based on the standardized data objects of the at least two laytime statement documents, the comparison document comprising a side-by-side time comparison of laytime specified in the at least two laytime statement documents.
12. The system of claim 11, wherein each of the one or more trained machine learning models is configured to identify a respective document structure and is configured to output respective laytime statement data based on the respective document structure.
13. The system of claim 12, wherein each of the one or more trained machine learning models outputs a score indicative of a degree of confidence in identifying the respective document structure in a laytime statement document.
14. The system of claim 13, wherein the instructions, when executed by the at least one processor, further causes the system at least to perform: selecting extracted data from a machine leaning model among the one or more trained machine learning models which has a highest score.
15. A system comprising: at least one processor; and at least one memory storing instructions which, when executed by the at least one processor, cause the system at least to perform a method comprising: accessing location data for a vessel; accessing geospatial information for the port; comparing the location data for the vessel with the geospatial information for the port to determine a time when the vessel entered the port; andgenerating a notice of readiness document indicating the time when the vessel entered the port.
16. The system of claim 15, wherein the location data for the vessel comprises at least one of automatic identification system (AIS) data, global positioning system (GPS) data, or long-range identification and tracking (LRIT) data.
17. The system of claim 15, wherein the geospatial information comprises at least one of: geographic coordinates for the port, or geospatial polygons for the port.
Citation Information
Patent Citations
Adaptive logistics platform for determining demurrage and detention data
US20180075408A1
Using machine learning to dynamically determine shipping information
US20230061547A1
Table information extraction and mapping to other documents
US20230065915A1
Incentive-based rerouting of item delivery
US20230316215A1