# documents

url: https://en.wikipedia.org/wiki/Web_scraping
title: Web scraping - Wikipedia
scrape_date: 2025-02-27T17:39:21.936492
content_type: markdown
hash: 9f8b0471701ad894c4ce76b312217905b8ae7fae3f4372f668b308543791b78e
content:
Jump to content

Main menu

Main menu

move to sidebar hide

Navigation 

  * [Main page](/wiki/Main_Page "Visit the main page \[z\]")
  * [Contents](/wiki/Wikipedia:Contents "Guides to browsing Wikipedia")
  * [Current events](/wiki/Portal:Current_events "Articles related to current events")
  * [Random article](/wiki/Special:Random "Visit a randomly selected article \[x\]")
  * [About Wikipedia](/wiki/Wikipedia:About "Learn about Wikipedia and how it works")
  * [Contact us](//en.wikipedia.org/wiki/Wikipedia:Contact_us "How to contact Wikipedia")



Contribute 

  * [Help](/wiki/Help:Contents "Guidance on how to use and edit Wikipedia")
  * [Learn to edit](/wiki/Help:Introduction "Learn how to edit Wikipedia")
  * [Community portal](/wiki/Wikipedia:Community_portal "The hub for editors")
  * [Recent changes](/wiki/Special:RecentChanges "A list of recent changes to Wikipedia \[r\]")
  * [Upload file](/wiki/Wikipedia:File_upload_wizard "Add images or other media for use on Wikipedia")
  * [Special pages](/wiki/Special:SpecialPages)



[ ![](/static/images/icons/wikipedia.png) ![Wikipedia](/static/images/mobile/copyright/wikipedia-wordmark-en.svg) ![The Free Encyclopedia](/static/images/mobile/copyright/wikipedia-tagline-en.svg) ](/wiki/Main_Page)

[ Search ](/wiki/Special:Search "Search Wikipedia \[f\]")

Search







Appearance




  * [Donate](https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en)
  * [Create account](/w/index.php?title=Special:CreateAccount&returnto=Web+scraping "You are encouraged to create an account and log in; however, it is not mandatory")
  * [Log in](/w/index.php?title=Special:UserLogin&returnto=Web+scraping "You're encouraged to log in; however, it's not mandatory. \[o\]")



Personal tools

  * [Donate](https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en)
  * [ Create account](/w/index.php?title=Special:CreateAccount&returnto=Web+scraping "You are encouraged to create an account and log in; however, it is not mandatory")
  * [ Log in](/w/index.php?title=Special:UserLogin&returnto=Web+scraping "You're encouraged to log in; however, it's not mandatory. \[o\]")



Pages for logged out editors [learn more](/wiki/Help:Introduction)

  * [Contributions](/wiki/Special:MyContributions "A list of edits made from this IP address \[y\]")
  * [Talk](/wiki/Special:MyTalk "Discussion about edits from this IP address \[n\]")



## Contents

move to sidebar hide

  * (Top)
  * 1 History
  * 2 Techniques Toggle Techniques subsection
    * 2.1 Human copy-and-paste
    * 2.2 Text pattern matching
    * 2.3 HTTP programming
    * 2.4 HTML parsing
    * 2.5 DOM parsing
    * 2.6 Vertical aggregation
    * 2.7 Semantic annotation recognizing
    * 2.8 Computer vision web-page analysis
    * 2.9 AI-powered document understanding
  * 3 Legal issues Toggle Legal issues subsection
    * 3.1 United States
    * 3.2 European Union
    * 3.3 Australia
    * 3.4 India
  * 4 Methods to prevent web scraping
  * 5 See also
  * 6 References



Toggle the table of contents

# Web scraping

22 languages

  * [العربية](https://ar.wikipedia.org/wiki/%D8%AA%D8%AC%D8%B1%D9%8A%D9%81_%D9%88%D9%8A%D8%A8 "تجريف ويب – Arabic")
  * [Català](https://ca.wikipedia.org/wiki/Web_scraping "Web scraping – Catalan")
  * [Čeština](https://cs.wikipedia.org/wiki/Web_scraping "Web scraping – Czech")
  * [الدارجة](https://ary.wikipedia.org/wiki/%D8%AA%D8%BA%D8%B1%D8%A7%D9%81_%D9%84%D9%88%D9%8A%D8%A8 "تغراف لويب – Moroccan Arabic")
  * [Deutsch](https://de.wikipedia.org/wiki/Screen_Scraping "Screen Scraping – German")
  * [Español](https://es.wikipedia.org/wiki/Web_scraping "Web scraping – Spanish")
  * [Euskara](https://eu.wikipedia.org/wiki/Web_scraping "Web scraping – Basque")
  * [فارسی](https://fa.wikipedia.org/wiki/%D8%AA%D8%B1%D8%A7%D8%B4%DB%8C%D8%AF%D9%86_%D9%88%D8%A8 "تراشیدن وب – Persian")
  * [Français](https://fr.wikipedia.org/wiki/Web_scraping "Web scraping – French")
  * [한국어](https://ko.wikipedia.org/wiki/%EC%9B%B9_%EC%8A%A4%ED%81%AC%EB%9E%98%ED%95%91 "웹 스크래핑 – Korean")
  * [Bahasa Indonesia](https://id.wikipedia.org/wiki/Penggalian_web "Penggalian web – Indonesian")
  * [Íslenska](https://is.wikipedia.org/wiki/Vefs%C3%B6fnun "Vefsöfnun – Icelandic")
  * [Italiano](https://it.wikipedia.org/wiki/Web_scraping "Web scraping – Italian")
  * [Latviešu](https://lv.wikipedia.org/wiki/Rasmo%C5%A1ana "Rasmošana – Latvian")
  * [Nederlands](https://nl.wikipedia.org/wiki/Scrapen "Scrapen – Dutch")
  * [日本語](https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0 "ウェブスクレイピング – Japanese")
  * [Português](https://pt.wikipedia.org/wiki/Web_scraping "Web scraping – Portuguese")
  * [Русский](https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%BA%D1%80%D0%B5%D0%B9%D0%BF%D0%B8%D0%BD%D0%B3 "Веб-скрейпинг – Russian")
  * [Türkçe](https://tr.wikipedia.org/wiki/Web_kaz%C4%B1ma "Web kazıma – Turkish")
  * [Українська](https://uk.wikipedia.org/wiki/Web_scraping "Web scraping – Ukrainian")
  * [粵語](https://zh-yue.wikipedia.org/wiki/%E7%B6%B2%E9%A0%81%E5%88%AE%E6%96%99 "網頁刮料 – Cantonese")
  * [中文](https://zh.wikipedia.org/wiki/%E7%BD%91%E9%A1%B5%E6%8A%93%E5%8F%96 "网页抓取 – Chinese")



[Edit links](https://www.wikidata.org/wiki/Special:EntityPage/Q665452#sitelinks-wikipedia "Edit interlanguage links")

  * [Article](/wiki/Web_scraping "View the content page \[c\]")
  * [Talk](/wiki/Talk:Web_scraping "Discuss improvements to the content page \[t\]")



English




  * [Read](/wiki/Web_scraping)
  * [Edit](/w/index.php?title=Web_scraping&action=edit "Edit this page \[e\]")
  * [View history](/w/index.php?title=Web_scraping&action=history "Past revisions of this page \[h\]")



Tools

Tools

move to sidebar hide

Actions 

  * [Read](/wiki/Web_scraping)
  * [Edit](/w/index.php?title=Web_scraping&action=edit "Edit this page \[e\]")
  * [View history](/w/index.php?title=Web_scraping&action=history)



General 

  * [What links here](/wiki/Special:WhatLinksHere/Web_scraping "List of all English Wikipedia pages containing links to this page \[j\]")
  * [Related changes](/wiki/Special:RecentChangesLinked/Web_scraping "Recent changes in pages linked from this page \[k\]")
  * [Upload file](//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard "Upload files \[u\]")
  * [Permanent link](/w/index.php?title=Web_scraping&oldid=1277016561 "Permanent link to this revision of this page")
  * [Page information](/w/index.php?title=Web_scraping&action=info "More information about this page")
  * [Cite this page](/w/index.php?title=Special:CiteThisPage&page=Web_scraping&id=1277016561&wpFormIdentifier=titleform "Information on how to cite this page")
  * [Get shortened URL](/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FWeb_scraping)
  * [Download QR code](/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FWeb_scraping)



Print/export 

  * [Download as PDF](/w/index.php?title=Special:DownloadAsPdf&page=Web_scraping&action=show-download-screen "Download this page as a PDF file")
  * [Printable version](/w/index.php?title=Web_scraping&printable=yes "Printable version of this page \[p\]")



In other projects 

  * [Wikimedia Commons](https://commons.wikimedia.org/wiki/Category:Web_scraping)
  * [Wikidata item](https://www.wikidata.org/wiki/Special:EntityPage/Q665452 "Structured data on this page hosted by Wikidata \[g\]")



Appearance

move to sidebar hide

From Wikipedia, the free encyclopedia

For broader coverage of this topic, see [Data scraping](/wiki/Data_scraping "Data scraping").

Data scraping used for extracting data from websites

"Web scraper" redirects here. For websites that scrape content, see [Scraper site](/wiki/Scraper_site "Scraper site").

[![](//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png)](/wiki/File:Question_book-new.svg)| This article **needs additional citations for[verification](/wiki/Wikipedia:Verifiability "Wikipedia:Verifiability")**. Please help [improve this article](/wiki/Special:EditPage/Web_scraping "Special:EditPage/Web scraping") by [adding citations to reliable sources](/wiki/Help:Referencing_for_beginners "Help:Referencing for beginners"). Unsourced material may be challenged and removed.  
_Find sources:_ ["Web scraping"](https://www.google.com/search?as_eq=wikipedia&q=%22Web+scraping%22) – [news](https://www.google.com/search?tbm=nws&q=%22Web+scraping%22+-wikipedia&tbs=ar:1) **·** [newspapers](https://www.google.com/search?&q=%22Web+scraping%22&tbs=bkt:s&tbm=bks) **·** [books](https://www.google.com/search?tbs=bks:1&q=%22Web+scraping%22+-wikipedia) **·** [scholar](https://scholar.google.com/scholar?q=%22Web+scraping%22) **·** [JSTOR](https://www.jstor.org/action/doBasicSearch?Query=%22Web+scraping%22&acc=on&wc=on) _( April 2023)__([Learn how and when to remove this message](/wiki/Help:Maintenance_template_removal "Help:Maintenance template removal"))_  
---|---  
  
**Web scraping** , **web harvesting** , or **web data extraction** is [data scraping](/wiki/Data_scraping "Data scraping") used for [extracting data](/wiki/Data_extraction "Data extraction") from [websites](/wiki/Website "Website").[1] Web scraping software may directly access the [World Wide Web](/wiki/World_Wide_Web "World Wide Web") using the [Hypertext Transfer Protocol](/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol") or a web browser. While web scraping can be done manually by a software user, the term typically refers to automated processes implemented using a [bot](/wiki/Internet_bot "Internet bot") or [web crawler](/wiki/Web_crawler "Web crawler"). It is a form of copying in which specific data is gathered and copied from the web, typically into a central local [database](/wiki/Database "Database") or [spreadsheet](/wiki/Spreadsheet "Spreadsheet"), for later [retrieval](/wiki/Data_retrieval "Data retrieval") or [analysis](/wiki/Data_analysis "Data analysis"). 

Scraping a web page involves fetching it and then extracting data from it. Fetching is the downloading of a page (which a browser does when a user views a page). Therefore, web crawling is a main component of web scraping, to fetch pages for later processing. Having fetched, extraction can take place. The content of a page may be [parsed](/wiki/Parsing "Parsing"), searched and reformatted, and its data copied into a spreadsheet or loaded into a database. Web scrapers typically take something out of a page, to make use of it for another purpose somewhere else. An example would be finding and copying names and telephone numbers, companies and their URLs, or e-mail addresses to a list (contact scraping). 

As well as [contact scraping](/wiki/Contact_scraping "Contact scraping"), web scraping is used as a component of applications used for [web indexing](/wiki/Web_indexing "Web indexing"), [web mining](/wiki/Web_mining "Web mining") and [data mining](/wiki/Data_mining "Data mining"), online price change monitoring and [price comparison](/wiki/Comparison_shopping_website "Comparison shopping website"), product review scraping (to watch the competition), gathering real estate listings, weather data monitoring, [website change detection](/wiki/Change_detection_and_notification "Change detection and notification"), research, tracking online presence and reputation, [web mashup](/wiki/Web_mashup "Web mashup"), and [web data integration](/wiki/Web_data_integration "Web data integration"). 

[Web pages](/wiki/Web_page "Web page") are built using text-based mark-up languages ([HTML](/wiki/HTML "HTML") and [XHTML](/wiki/XHTML "XHTML")), and frequently contain a wealth of useful data in text form. However, most web pages are designed for human [end-users](/wiki/End-user_\(computer_science\) "End-user \(computer science\)") and not for ease of automated use. As a result, specialized tools and software have been developed to facilitate the scraping of web pages. Web scraping applications include [market research](/wiki/Market_research "Market research"), price comparison, content monitoring, and more. Businesses rely on web scraping services to efficiently gather and utilize this data. 

Newer forms of web scraping involve monitoring [data feeds](/wiki/Data_feed "Data feed") from web servers. For example, [JSON](/wiki/JSON "JSON") is commonly used as a transport mechanism between the client and the web server. 

There are methods that some websites use to prevent web scraping, such as detecting and disallowing bots from crawling (viewing) their pages. In response, web scraping systems use techniques involving [DOM](/wiki/Document_Object_Model "Document Object Model") parsing, [computer vision](/wiki/Computer_vision "Computer vision") and [natural language processing](/wiki/Natural_language_processing "Natural language processing") to simulate human browsing to enable gathering web page content for offline parsing. 

## History

[[edit](/w/index.php?title=Web_scraping&action=edit&section=1 "Edit section: History")]

After the [birth of the World Wide Web](/wiki/History_of_the_World_Wide_Web "History of the World Wide Web") in 1989, the first web robot,[2] [World Wide Web Wanderer](/wiki/World_Wide_Web_Wanderer "World Wide Web Wanderer"), was created in June 1993, which was intended only to measure the size of the web. 

In December 1993, the first crawler-based web search engine, [JumpStation](/wiki/JumpStation "JumpStation"), was launched. As there were fewer websites available on the web, search engines at that time used to rely on human administrators to collect and format links. In comparison, Jump Station was the first WWW search engine to rely on a web robot. 

In 2000, the first Web API and API crawler were created. An [API](/wiki/Application_programming_interface "Application programming interface") (Application Programming Interface) is an interface that makes it much easier to develop a program by providing the building blocks. In 2000, [Salesforce](/wiki/Salesforce.com "Salesforce.com") and [eBay](/wiki/EBay "EBay") launched their own API, with which programmers could access and download some of the data available to the public. Since then, many websites offer web APIs for people to access their public database. 

## Techniques

[[edit](/w/index.php?title=Web_scraping&action=edit&section=2 "Edit section: Techniques")]

Web scraping is the process of automatically mining data or collecting information from the World Wide Web. It is a field with active developments sharing a common goal with the [semantic web](/wiki/Semantic_web "Semantic web") vision, an ambitious initiative that still requires breakthroughs in text processing, semantic understanding, artificial intelligence and [human-computer interactions](/wiki/Human-computer_interaction "Human-computer interaction"). 

### Human copy-and-paste

[[edit](/w/index.php?title=Web_scraping&action=edit&section=3 "Edit section: Human copy-and-paste")]

The simplest form of web scraping is manually copying and pasting data from a web page into a text file or spreadsheet. Sometimes even the best web-scraping technology cannot replace a human's manual examination and copy-and-paste, and sometimes this may be the only workable solution when the websites for scraping explicitly set up barriers to prevent machine automation. 

### Text pattern matching

[[edit](/w/index.php?title=Web_scraping&action=edit&section=4 "Edit section: Text pattern matching")]

A simple yet powerful approach to extract information from web pages can be based on the UNIX [grep](/wiki/Grep "Grep") command or [regular expression](/wiki/Regular_expression "Regular expression")-matching facilities of programming languages (for instance [Perl](/wiki/Perl "Perl") or [Python](/wiki/Python_\(programming_language\) "Python \(programming language\)")). 

### HTTP programming

[[edit](/w/index.php?title=Web_scraping&action=edit&section=5 "Edit section: HTTP programming")]

[Static](/wiki/Static_web_page "Static web page") and [dynamic web pages](/wiki/Dynamic_web_page "Dynamic web page") can be retrieved by posting HTTP requests to the remote web server using [socket programming](/wiki/Socket_programming "Socket programming"). 

### HTML parsing

[[edit](/w/index.php?title=Web_scraping&action=edit&section=6 "Edit section: HTML parsing")]

Many websites have large collections of pages generated dynamically from an underlying structured source like a database. Data of the same category are typically encoded into similar pages by a common script or template. In data mining, a program that detects such templates in a particular information source, extracts its content, and translates it into a relational form, is called a [wrapper](/wiki/Wrapper_\(data_mining\) "Wrapper \(data mining\)"). Wrapper generation algorithms assume that input pages of a wrapper induction system conform to a common template and that they can be easily identified in terms of a URL common scheme.[3] Moreover, some [semi-structured data](/wiki/Semi-structured_data "Semi-structured data") query languages, such as [XQuery](/wiki/XQuery "XQuery") and the HTQL, can be used to parse HTML pages and to retrieve and transform page content. 

### DOM parsing

[[edit](/w/index.php?title=Web_scraping&action=edit&section=7 "Edit section: DOM parsing")]

Further information: [Document Object Model](/wiki/Document_Object_Model "Document Object Model")

By using a program such as [Selenium](/wiki/Selenium_\(software\) "Selenium \(software\)") or [Playwright](/wiki/Playwright_\(software\) "Playwright \(software\)"), developers can control a web browser such as [Chrome](/wiki/ChromeOS "ChromeOS") or [Firefox](/wiki/Firefox "Firefox") wherein they can load, navigate, and retrieve data from websites. This method can be especially useful for scraping data from dynamic sites since a web browser will fully load each page. Once an entire page is loaded, you can access and parse the [DOM](/wiki/Document_Object_Model "Document Object Model") using an expression language such as [XPath](/wiki/XPath "XPath"). 

### Vertical aggregation

[[edit](/w/index.php?title=Web_scraping&action=edit&section=8 "Edit section: Vertical aggregation")]

There are several companies that have developed vertical specific harvesting platforms. These platforms create and monitor a multitude of "bots" for specific verticals with no "man in the loop" (no direct human involvement), and no work related to a specific target site. The preparation involves establishing the knowledge base for the entire vertical and then the platform creates the bots automatically. The platform's robustness is measured by the quality of the information it retrieves (usually number of fields) and its scalability (how quick it can scale up to hundreds or thousands of sites). This scalability is mostly used to target the [Long Tail](/wiki/Long_Tail "Long Tail") of sites that common aggregators find complicated or too labor-intensive to harvest content from. 

### Semantic annotation recognizing

[[edit](/w/index.php?title=Web_scraping&action=edit&section=9 "Edit section: Semantic annotation recognizing")]

The pages being scraped may embrace [metadata](/wiki/Metadata "Metadata") or semantic markups and annotations, which can be used to locate specific data snippets. If the annotations are embedded in the pages, as [Microformat](/wiki/Microformat "Microformat") does, this technique can be viewed as a special case of DOM parsing. In another case, the annotations, organized into a semantic layer,[4] are stored and managed separately from the web pages, so the scrapers can retrieve data schema and instructions from this layer before scraping the pages. 

### Computer vision web-page analysis

[[edit](/w/index.php?title=Web_scraping&action=edit&section=10 "Edit section: Computer vision web-page analysis")]

There are efforts using [machine learning](/wiki/Machine_learning "Machine learning") and [computer vision](/wiki/Computer_vision "Computer vision") that attempt to identify and extract information from web pages by interpreting pages visually as a human being might.[5]

### AI-powered document understanding

[[edit](/w/index.php?title=Web_scraping&action=edit&section=11 "Edit section: AI-powered document understanding")]

Uses advanced AI to interpret and process web page content contextually, extracting relevant information, transforming data, and customizing outputs based on the content's structure and meaning. This method enables more intelligent and flexible data extraction, accommodating complex and dynamic web content. 

## Legal issues

[[edit](/w/index.php?title=Web_scraping&action=edit&section=12 "Edit section: Legal issues")]

![Globe icon.](//upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Ambox_globe_content.svg/48px-Ambox_globe_content.svg.png)| The examples and perspective in this section **deal primarily with the United States and do not represent a[worldwide view](/wiki/Wikipedia:WikiProject_Countering_systemic_bias "Wikipedia:WikiProject Countering systemic bias") of the subject**. You may [improve this section](https://en.wikipedia.org/w/index.php?title=Web_scraping&action=edit), discuss the issue on the [talk page](/wiki/Talk:Web_scraping "Talk:Web scraping"), or create a new section, as appropriate. _( October 2015)__([Learn how and when to remove this message](/wiki/Help:Maintenance_template_removal "Help:Maintenance template removal"))_  
---|---  
  
The legality of web scraping varies across the world. In general, web scraping may be against the [terms of service](/wiki/Terms_of_service "Terms of service") of some websites, but the enforceability of these terms is unclear.[6]

### United States

[[edit](/w/index.php?title=Web_scraping&action=edit&section=13 "Edit section: United States")]

In the United States, website owners can use three major [legal claims](/wiki/Cause_of_action "Cause of action") to prevent undesired web scraping: (1) copyright infringement (compilation), (2) violation of the [Computer Fraud and Abuse Act](/wiki/Computer_Fraud_and_Abuse_Act "Computer Fraud and Abuse Act") ("CFAA"), and (3) [trespass to chattel](/wiki/Trespass_to_chattels "Trespass to chattels").[7] However, the effectiveness of these claims relies upon meeting various criteria, and the case law is still evolving. For example, with regard to copyright, while outright duplication of original expression will in many cases be illegal, in the United States the courts ruled in [_Feist Publications v. Rural Telephone Service_](/wiki/Feist_Publications,_Inc.,_v._Rural_Telephone_Service_Co. "Feist Publications, Inc., v. Rural Telephone Service Co.") that duplication of facts is allowable. 

U.S. courts have acknowledged that users of "scrapers" or "robots" may be held liable for committing [trespass to chattels](/wiki/Trespass_to_chattels "Trespass to chattels"),[8][9] which involves a computer system itself being considered personal property upon which the user of a scraper is trespassing. The best known of these cases, _[eBay v. Bidder's Edge](/wiki/EBay_v._Bidder%27s_Edge "EBay v. Bidder's Edge")_ , resulted in an injunction ordering Bidder's Edge to stop accessing, collecting, and indexing auctions from the eBay web site. This case involved automatic placing of bids, known as [auction sniping](/wiki/Auction_sniping "Auction sniping"). However, in order to succeed on a claim of trespass to [chattels](/wiki/Personal_property "Personal property"), the [plaintiff](/wiki/Plaintiff "Plaintiff") must demonstrate that the [defendant](/wiki/Defendant "Defendant") intentionally and without authorization interfered with the plaintiff's possessory interest in the computer system and that the defendant's unauthorized use caused damage to the plaintiff. Not all cases of web spidering brought before the courts have been considered trespass to chattels.[10]

One of the first major tests of [screen scraping](/wiki/Screen_scraping "Screen scraping") involved [American Airlines](/wiki/American_Airlines "American Airlines") (AA), and a firm called FareChase.[11] AA successfully obtained an [injunction](/wiki/Injunction "Injunction") from a Texas trial court, stopping FareChase from selling software that enables users to compare online fares if the software also searches AA's website. The airline argued that FareChase's websearch software trespassed on AA's servers when it collected the publicly available data. FareChase filed an appeal in March 2003. By June, FareChase and AA agreed to settle and the appeal was dropped.[12]

[Southwest Airlines](/wiki/Southwest_Airlines "Southwest Airlines") has also challenged screen-scraping practices, and has involved both FareChase and another firm, Outtask, in a legal claim. Southwest Airlines charged that the screen-scraping is Illegal since it is an example of "Computer Fraud and Abuse" and has led to "Damage and Loss" and "Unauthorized Access" of Southwest's site. It also constitutes "Interference with Business Relations", "Trespass", and "Harmful Access by Computer". They also claimed that screen-scraping constitutes what is legally known as "Misappropriation and Unjust Enrichment", as well as being a breach of the web site's user agreement. Outtask denied all these claims, claiming that the prevailing law, in this case, should be [US Copyright law](/wiki/US_Copyright_law "US Copyright law") and that under copyright, the pieces of information being scraped would not be subject to copyright protection. Although the cases were never resolved in the [Supreme Court of the United States](/wiki/Supreme_Court_of_the_United_States "Supreme Court of the United States"), FareChase was eventually shuttered by parent company [Yahoo!](/wiki/Yahoo! "Yahoo!"), and Outtask was purchased by travel expense company Concur.[13] In 2012, a startup called 3Taps scraped classified housing ads from Craigslist. Craigslist sent 3Taps a cease-and-desist letter and blocked their IP addresses and later sued, in _[Craigslist v. 3Taps](/wiki/Craigslist_v._3Taps "Craigslist v. 3Taps")_. The court held that the cease-and-desist letter and IP blocking was sufficient for Craigslist to properly claim that 3Taps had violated the [Computer Fraud and Abuse Act](/wiki/Computer_Fraud_and_Abuse_Act "Computer Fraud and Abuse Act") (CFAA). 

Although these are early scraping decisions, and the theories of liability are not uniform, it is difficult to ignore a pattern emerging that the courts are prepared to protect proprietary content on commercial sites from uses which are undesirable to the owners of such sites. However, the degree of protection for such content is not settled and will depend on the type of access made by the scraper, the amount of information accessed and copied, the degree to which the access adversely affects the site owner's system and the types and manner of prohibitions on such conduct.[14]

While the law in this area becomes more settled, entities contemplating using scraping programs to access a public web site should also consider whether such action is authorized by reviewing the terms of use and other terms or notices posted on or made available through the site. In _[Cvent Inc.](/wiki/Cvent "Cvent") v. [Eventbrite Inc.](/wiki/Eventbrite "Eventbrite")_ (2010), the United States [district court for the eastern district of Virginia](/wiki/United_States_District_Court_for_the_Eastern_District_of_Virginia "United States District Court for the Eastern District of Virginia"), ruled that the terms of use should be brought to the users' attention in order for a [browsewrap](/wiki/Browsewrap "Browsewrap") contract or license to be enforceable.[15] In a 2014 case, filed in the [United States District Court for the Eastern District of Pennsylvania](/wiki/United_States_District_Court_for_the_Eastern_District_of_Pennsylvania "United States District Court for the Eastern District of Pennsylvania"),[16] e-commerce site [QVC](/wiki/QVC "QVC") objected to the Pinterest-like shopping aggregator Resultly's 'scraping of QVC's site for real-time pricing data. QVC alleges that Resultly "excessively crawled" QVC's retail site (allegedly sending 200-300 search requests to QVC's website per minute, sometimes to up to 36,000 requests per minute) which caused QVC's site to crash for two days, resulting in lost sales for QVC.[17] QVC's complaint alleges that the defendant disguised its web crawler to mask its source IP address and thus prevented QVC from quickly repairing the problem. This is a particularly interesting scraping case because QVC is seeking damages for the unavailability of their website, which QVC claims was caused by Resultly. 

In the plaintiff's web site during the period of this trial, the terms of use link are displayed among all the links of the site, at the bottom of the page as most sites on the internet. This ruling contradicts the Irish ruling described below. The court also rejected the plaintiff's argument that the browse-wrap restrictions were enforceable in view of Virginia's adoption of the Uniform Computer Information Transactions Act (UCITA)—a uniform law that many believed was in favor on common browse-wrap contracting practices.[18]

In _[Facebook, Inc. v. Power Ventures, Inc.](/wiki/Facebook,_Inc._v._Power_Ventures,_Inc. "Facebook, Inc. v. Power Ventures, Inc.")_ , a district court ruled in 2012 that Power Ventures could not scrape Facebook pages on behalf of a Facebook user. The case is on appeal, and the [Electronic Frontier Foundation](/wiki/Electronic_Frontier_Foundation "Electronic Frontier Foundation") filed a brief in 2015 asking that it be overturned.[19][20] In _[Associated Press v. Meltwater U.S. Holdings, Inc.](/wiki/Associated_Press_v._Meltwater_U.S._Holdings,_Inc. "Associated Press v. Meltwater U.S. Holdings, Inc.")_ , a court in the US held Meltwater liable for scraping and republishing news information from the Associated Press, but a court in the United Kingdom held in favor of Meltwater. 

The [Ninth Circuit](/wiki/Ninth_Circuit "Ninth Circuit") ruled in 2019 that web scraping did not violate the CFAA in _[hiQ Labs v. LinkedIn](/wiki/HiQ_Labs_v._LinkedIn "HiQ Labs v. LinkedIn")_. The case was appealed to the [United States Supreme Court](/wiki/United_States_Supreme_Court "United States Supreme Court"), which returned the case to the Ninth Circuit to reconsider the case in light of the 2021 Supreme Court decision in _[Van Buren v. United States](/wiki/Van_Buren_v._United_States "Van Buren v. United States")_ which narrowed the applicability of the CFAA.[21] On this review, the Ninth Circuit upheld their prior decision.[22]

[Internet Archive](/wiki/Internet_Archive "Internet Archive") collects and distributes a significant number of publicly available web pages without being considered to be in violation of copyright laws.[_[citation needed](/wiki/Wikipedia:Citation_needed "Wikipedia:Citation needed")_]

### European Union

[[edit](/w/index.php?title=Web_scraping&action=edit&section=14 "Edit section: European Union")]

In February 2006, the [Danish Maritime and Commercial Court](/wiki/Maritime_and_Commercial_Court_\(Denmark\) "Maritime and Commercial Court \(Denmark\)") (Copenhagen) ruled that systematic crawling, indexing, and deep linking by portal site ofir.dk of real estate site Home.dk does not conflict with Danish law or the database directive of the European Union.[23]

In a February 2010 case complicated by matters of jurisdiction, Ireland's High Court delivered a verdict that illustrates the [inchoate](/wiki/Inchoate_offense "Inchoate offense") state of developing case law. In the case of _Ryanair Ltd v Billigfluege.de GmbH_ , Ireland's High Court ruled [Ryanair's](/wiki/Ryanair "Ryanair") "[click-wrap](/wiki/Clickwrap "Clickwrap")" agreement to be legally binding. In contrast to the findings of the United States District Court Eastern District of Virginia and those of the Danish Maritime and Commercial Court, Justice [Michael Hanna](/wiki/Michael_Hanna_\(judge\) "Michael Hanna \(judge\)") ruled that the hyperlink to Ryanair's terms and conditions was plainly visible, and that placing the onus on the user to agree to terms and conditions in order to gain access to online services is sufficient to comprise a contractual relationship.[24] The decision is under appeal in Ireland's Supreme Court.[25]

On April 30, 2020, the French Data Protection Authority (CNIL) released new guidelines on web scraping.[26] The CNIL guidelines made it clear that publicly available data is still personal data and cannot be repurposed without the knowledge of the person to whom that data belongs.[27]

### Australia

[[edit](/w/index.php?title=Web_scraping&action=edit&section=15 "Edit section: Australia")]

In Australia, the [Spam Act 2003](/wiki/Spam_Act_2003 "Spam Act 2003") outlaws some forms of web harvesting, although this only applies to email addresses.[28][29]

### India

[[edit](/w/index.php?title=Web_scraping&action=edit&section=16 "Edit section: India")]

Leaving a few cases dealing with IPR infringement, Indian courts have not expressly ruled on the legality of web scraping. However, since all common forms of electronic contracts are enforceable in India, violating the terms of use prohibiting data scraping will be a violation of the contract law. It will also violate the [Information Technology Act, 2000](/wiki/Information_Technology_Act,_2000#:~:text=From_Wikipedia,_the_free_encyclopedia_The_Information_Technology,in_India_dealing_with_cybercrime_and_electronic_commerce. "Information Technology Act, 2000"), which penalizes unauthorized access to a computer resource or extracting data from a computer resource. 

## Methods to prevent web scraping

[[edit](/w/index.php?title=Web_scraping&action=edit&section=17 "Edit section: Methods to prevent web scraping")]

The administrator of a website can use various measures to stop or slow a bot. Some techniques include: 

  * Blocking an [IP address](/wiki/IP_address "IP address") either manually or based on criteria such as [geolocation](/wiki/Geolocation "Geolocation") and [DNSRBL](/wiki/DNSBL "DNSBL"). This will also block all browsing from that address.
  * Disabling any [web service](/wiki/Web_service "Web service") [API](/wiki/Application_programming_interface "Application programming interface") that the website's system might expose.
  * Bots sometimes declare who they are (using [user agent](/wiki/User_agent "User agent") [strings](/wiki/String_\(computer_science\) "String \(computer science\)")) and can be blocked on that basis using [robots.txt](/wiki/Robots_exclusion_standard "Robots exclusion standard"); '[googlebot](/wiki/Googlebot "Googlebot")' is an example. Other bots make no distinction between themselves and a human using a browser.
  * Bots can be blocked by monitoring excess traffic.
  * Bots can sometimes be blocked with tools to verify that it is a real person accessing the site, like a [CAPTCHA](/wiki/CAPTCHA "CAPTCHA"). Bots are sometimes coded to explicitly break specific CAPTCHA patterns or may employ third-party services that utilize human labor to read and respond in real-time to CAPTCHA challenges. They can be triggered because the bot is: 1) making too many requests in a short time, 2) using low-quality proxies, or 3) not covering the web scraper’s fingerprint properly.[30]
  * Commercial anti-bot services: Companies offer anti-bot and anti-scraping services for websites. A few web [application firewalls](/wiki/Application_firewall "Application firewall") have limited bot detection capabilities as well. However, many such solutions are not very effective.[31]
  * Locating bots with a [honeypot](/wiki/Honeypot_\(computing\) "Honeypot \(computing\)") or other method to identify the IP addresses of automated crawlers.
  * [Obfuscation](/wiki/Obfuscation "Obfuscation") using [CSS sprites](/wiki/CSS_sprite "CSS sprite") to display such data as telephone numbers or email addresses, at the cost of [accessibility](/wiki/Web_accessibility "Web accessibility") to [screen reader](/wiki/Screen_reader "Screen reader") users.
  * Because bots rely on consistency in the front-end code of a target website, adding small variations to the HTML/CSS surrounding important data and navigation elements would require more human involvement in the initial set up of a bot and if done effectively may render the target website too difficult to scrape due to the diminished ability to automate the scraping process.
  * Websites can declare if crawling is allowed or not in the [robots.txt](/wiki/Robots_exclusion_standard "Robots exclusion standard") file and allow partial access, limit the crawl rate, specify the optimal time to crawl and more.



## See also

[[edit](/w/index.php?title=Web_scraping&action=edit&section=18 "Edit section: See also")]

  * [Archive.today](/wiki/Archive.today "Archive.today")
  * [Comparison of feed aggregators](/wiki/Comparison_of_feed_aggregators "Comparison of feed aggregators")
  * [Data scraping](/wiki/Data_scraping "Data scraping")
  * [Data wrangling](/wiki/Data_wrangling "Data wrangling")
  * [Importer](/wiki/Importer_\(computing\) "Importer \(computing\)")
  * [Job wrapping](/wiki/Job_wrapping "Job wrapping")
  * [Knowledge extraction](/wiki/Knowledge_extraction "Knowledge extraction")
  * [OpenSocial](/wiki/OpenSocial "OpenSocial")
  * [Scraper site](/wiki/Scraper_site "Scraper site")
  * [Fake news website](/wiki/Fake_news_website "Fake news website")
  * [Spamdexing](/wiki/Spamdexing "Spamdexing")
  * [Domain name drop list](/wiki/Domain_name_drop_list "Domain name drop list")
  * [Text corpus](/wiki/Text_corpus "Text corpus")
  * [Web archiving](/wiki/Web_archiving "Web archiving")
  * [Web crawler](/wiki/Web_crawler "Web crawler")
  * [Offline reader](/wiki/Offline_reader "Offline reader")
  * [Link farm](/wiki/Link_farm "Link farm") (blog network)
  * [Search engine scraping](/wiki/Search_engine_scraping "Search engine scraping")
  * [Web crawlers](/wiki/Category:Web_crawlers "Category:Web crawlers")



## References

[[edit](/w/index.php?title=Web_scraping&action=edit&section=19 "Edit section: References")]

  1. **^** Thapelo, Tsaone Swaabow; Namoshe, Molaletsa; Matsebe, Oduetse; Motshegwa, Tshiamo; Bopape, Mary-Jane Morongwa (2021-07-28). ["SASSCAL WebSAPI: A Web Scraping Application Programming Interface to Support Access to SASSCAL's Weather Data"](https://doi.org/10.5334%2Fdsj-2021-024). _Data Science Journal_. **20** : 24. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.5334/dsj-2021-024](https://doi.org/10.5334%2Fdsj-2021-024). [ISSN](/wiki/ISSN_\(identifier\) "ISSN \(identifier\)") [1683-1470](https://search.worldcat.org/issn/1683-1470). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [237719804](https://api.semanticscholar.org/CorpusID:237719804).
  2. **^** ["Search Engine History.com"](http://www.searchenginehistory.com/). _Search Engine History_. Retrieved November 26, 2019.
  3. **^** Song, Ruihua; Microsoft Research (Sep 14, 2007). ["Joint optimization of wrapper generation and template detection"](https://web.archive.org/web/20161011080619/https://pdfs.semanticscholar.org/4fb4/3c5a212df751e84c3b2f8d29fabfe56c3616.pdf) (PDF). _Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining_. p. 894\. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1145/1281192.1281287](https://doi.org/10.1145%2F1281192.1281287). [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [9781595936097](/wiki/Special:BookSources/9781595936097 "Special:BookSources/9781595936097"). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [833565](https://api.semanticscholar.org/CorpusID:833565). Archived from [the original](https://pdfs.semanticscholar.org/4fb4/3c5a212df751e84c3b2f8d29fabfe56c3616.pdf) (PDF) on October 11, 2016.
  4. **^** [Semantic annotation based web scraping](http://www.gooseeker.com/en/node/knowledgebase/freeformat)
  5. **^** Roush, Wade (2012-07-25). ["Diffbot Is Using Computer Vision to Reinvent the Semantic Web"](http://www.xconomy.com/san-francisco/2012/07/25/diffbot-is-using-computer-vision-to-reinvent-the-semantic-web/). www.xconomy.com. Retrieved 2013-03-15.
  6. **^** ["FAQ about linking – Are website terms of use binding contracts?"](https://web.archive.org/web/20020308222536/http://www.chillingeffects.org/linking/faq.cgi#QID596). www.chillingeffects.org. 2007-08-20. Archived from [the original](http://www.chillingeffects.org/linking/faq.cgi#QID596) on 2002-03-08. Retrieved 2007-08-20.
  7. **^** Kenneth, Hirschey, Jeffrey (2014-01-01). ["Symbiotic Relationships: Pragmatic Acceptance of Data Scraping"](http://scholarship.law.berkeley.edu/btlj/vol29/iss4/16/). _Berkeley Technology Law Journal_. **29** (4). [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.15779/Z38B39B](https://doi.org/10.15779%2FZ38B39B). [ISSN](/wiki/ISSN_\(identifier\) "ISSN \(identifier\)") [1086-3818](https://search.worldcat.org/issn/1086-3818).`{{[cite journal](/wiki/Template:Cite_journal "Template:Cite journal")}}`: CS1 maint: multiple names: authors list ([link](/wiki/Category:CS1_maint:_multiple_names:_authors_list "Category:CS1 maint: multiple names: authors list"))
  8. **^** ["Internet Law, Ch. 06: Trespass to Chattels"](http://www.tomwbell.com/NetLaw/Ch06.html). www.tomwbell.com. 2007-08-20. Retrieved 2007-08-20.
  9. **^** ["What are the "trespass to chattels" claims some companies or website owners have brought?"](https://web.archive.org/web/20020308222536/http://www.chillingeffects.org/linking/faq.cgi#QID460). www.chillingeffects.org. 2007-08-20. Archived from [the original](http://www.chillingeffects.org/linking/faq.cgi#QID460) on 2002-03-08. Retrieved 2007-08-20.
  10. **^** ["Ticketmaster Corp. v. Tickets.com, Inc"](http://www.tomwbell.com/NetLaw/Ch07/Ticketmaster.html). 2007-08-20. Retrieved 2007-08-20.
  11. **^** ["American Airlines v. FareChase"](https://web.archive.org/web/20110723131832/http://www.fornova.net/documents/AAFareChase.pdf) (PDF). 2007-08-20. Archived from [the original](http://www.fornova.net/documents/AAFareChase.pdf) (PDF) on 2011-07-23. Retrieved 2007-08-20.
  12. **^** ["American Airlines, FareChase Settle Suit"](https://web.archive.org/web/20160305025808/http://www.thefreelibrary.com/American+Airlines,+FareChase+Settle+Suit.-a0103213546). The Free Library. 2003-06-13. Archived from [the original](http://www.thefreelibrary.com/American+Airlines,+FareChase+Settle+Suit.-a0103213546) on 2016-03-05. Retrieved 2012-02-26.
  13. **^** Imperva (2011). [Detecting and Blocking Site Scraping Attacks](http://www.imperva.com/docs/WP_Detecting_and_Blocking_Site_Scraping_Attacks.pdf). Imperva white paper.
  14. **^** Adler, Kenneth A. (2003-07-29). ["Controversy Surrounds 'Screen Scrapers': Software Helps Users Access Web Sites But Activity by Competitors Comes Under Scrutiny"](https://web.archive.org/web/20110211123854/http://library.findlaw.com/2003/Jul/29/132944.html). Archived from [the original](http://library.findlaw.com/2003/Jul/29/132944.html) on 2011-02-11. Retrieved 2010-10-27.
  15. **^** ["CVENT, Inc. v. Eventbrite, Inc.,et al"](https://web.archive.org/web/20130921054619/http://www.fornova.net/documents/Cvent.pdf) (PDF). 2014-11-24. Archived from [the original](http://www.fornova.net/documents/Cvent.pdf) (PDF) on 2013-09-21. Retrieved 2015-11-05.
  16. **^** ["QVC Inc. v. Resultly LLC, No. 14-06714 (E.D. Pa. filed Nov. 24, 2014)"](https://www.scribd.com/doc/249068700/LinkedIn-v-Resultly-LLC-Complaint?secret_password=pEVKDbnvhQL52oKfdrmT). _United States District Court for the Eastern District of Pennsylvania_. Retrieved 5 November 2015.
  17. **^** Neuburger, Jeffrey D (5 December 2014). ["QVC Sues Shopping App for Web Scraping That Allegedly Triggered Site Outage"](http://newmedialaw.proskauer.com/2014/12/05/qvc-sues-shopping-app-for-web-scraping-that-allegedly-triggered-site-outage/). _The National Law Review_. Proskauer Rose LLP. Retrieved 5 November 2015.
  18. **^** ["Did Iqbal/Twombly Raise the Bar for Browsewrap Claims?"](https://web.archive.org/web/20110723132015/http://www.fornova.net/documents/pblog-bna-com.pdf) (PDF). 2010-09-17. Archived from [the original](http://www.fornova.net/documents/pblog-bna-com.pdf) (PDF) on 2011-07-23. Retrieved 2010-10-27.
  19. **^** ["Can Scraping Non-Infringing Content Become Copyright Infringement... Because Of How Scrapers Work? | Techdirt"](https://www.techdirt.com/articles/20090605/2228205147.shtml). _Techdirt_. 2009-06-10. Retrieved 2016-05-24.
  20. **^** ["Facebook v. Power Ventures"](https://www.eff.org/cases/facebook-v-power-ventures). _Electronic Frontier Foundation_. July 2011. Retrieved 2016-05-24.
  21. **^** Chung, Andrew (June 14, 2021). ["U.S. Supreme Court revives LinkedIn bid to shield personal data"](https://www.reuters.com/technology/us-supreme-court-revives-linkedin-bid-shield-personal-data-2021-06-14/). [Reuters](/wiki/Reuters "Reuters"). Retrieved June 14, 2021.
  22. **^** Whittaker, Zack (18 April 2022). ["Web scraping is legal, US appeals court reaffirms"](https://techcrunch.com/2022/04/18/web-scraping-legal-court/). _TechCrunch_.
  23. **^** ["UDSKRIFT AF SØ- & HANDELSRETTENS DOMBOG"](https://web.archive.org/web/20071012005033/http://www.bvhd.dk/uploads/tx_mocarticles/S_-_og_Handelsrettens_afg_relse_i_Ofir-sagen.pdf) (PDF) (in Danish). bvhd.dk. 2006-02-24. Archived from [the original](http://www.bvhd.dk/uploads/tx_mocarticles/S_-_og_Handelsrettens_afg_relse_i_Ofir-sagen.pdf) (PDF) on 2007-10-12. Retrieved 2007-05-30.
  24. **^** ["High Court of Ireland Decisions >> Ryanair Ltd -v- Billigfluege.de GMBH 2010 IEHC 47 (26 February 2010)"](http://www.bailii.org/ie/cases/IEHC/2010/H47.html). British and Irish Legal Information Institute. 2010-02-26. Retrieved 2012-04-19.
  25. **^** Matthews, Áine (June 2010). ["Intellectual Property: Website Terms of Use"](https://web.archive.org/web/20120624103316/http://www.lkshields.ie/htmdocs/publications/newsletters/update26/update26_03.htm). _Issue 26: June 2010_. LK Shields Solicitors Update. p. 03\. Archived from [the original](http://www.lkshields.ie/htmdocs/publications/newsletters/update26/update26_03.htm) on 2012-06-24. Retrieved 2012-04-19.
  26. **^** ["La réutilisation des données publiquement accessibles en ligne à des fins de démarchage commercial | CNIL"](https://www.cnil.fr/fr/la-reutilisation-des-donnees-publiquement-accessibles-en-ligne-des-fins-de-demarchage-commercial). _www.cnil.fr_ (in French). Retrieved 2020-07-05.
  27. **^** FindDataLab.com (2020-06-09). ["Can You Still Perform Web Scraping With The New CNIL Guidelines?"](https://medium.com/@finddatalab/can-you-still-perform-web-scraping-with-the-new-cnil-guidelines-bf3e20d0edc2). _Medium_. Retrieved 2020-07-05.
  28. **^** National Office for the Information Economy (February 2004). ["Spam Act 2003: An overview for business"](https://web.archive.org/web/20191203113701/https://www.lloyds.com/~/media/5880dae185914b2487bed7bd63b96286.ashx). Australian Communications Authority. p. 6\. Archived from [the original](https://www.lloyds.com/~/media/5880dae185914b2487bed7bd63b96286.ashx) on 2019-12-03. Retrieved 2017-12-07.
  29. **^** National Office for the Information Economy (February 2004). ["Spam Act 2003: A practical guide for business"](http://www.webstartdesign.com.au/spam_business_practical_guide.pdf) (PDF). Australian Communications Authority. p. 20. Retrieved 2017-12-07.
  30. **^** ["Web Scraping for Beginners: A Guide 2024"](https://proxyway.com/guides/what-is-web-scraping). _Proxyway_. 2023-08-31. Retrieved 2024-03-15.
  31. **^** Mayank Dhiman [Breaking Fraud & Bot Detection Solutions](https://s3.us-west-2.amazonaws.com/research-papers-mynk/Breaking-Fraud-And-Bot-Detection-Solutions.pdf) _OWASP AppSec Cali' 2018_ Retrieved February 10, 2018.



![](https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0)

Retrieved from "[https://en.wikipedia.org/w/index.php?title=Web_scraping&oldid=1277016561](https://en.wikipedia.org/w/index.php?title=Web_scraping&oldid=1277016561)"

[Category](/wiki/Help:Category "Help:Category"): 

  * [Web scraping](/wiki/Category:Web_scraping "Category:Web scraping")



Hidden categories: 

  * [CS1 maint: multiple names: authors list](/wiki/Category:CS1_maint:_multiple_names:_authors_list "Category:CS1 maint: multiple names: authors list")
  * [CS1 Danish-language sources (da)](/wiki/Category:CS1_Danish-language_sources_\(da\) "Category:CS1 Danish-language sources \(da\)")
  * [CS1 French-language sources (fr)](/wiki/Category:CS1_French-language_sources_\(fr\) "Category:CS1 French-language sources \(fr\)")
  * [Articles with short description](/wiki/Category:Articles_with_short_description "Category:Articles with short description")
  * [Short description matches Wikidata](/wiki/Category:Short_description_matches_Wikidata "Category:Short description matches Wikidata")
  * [Articles needing additional references from April 2023](/wiki/Category:Articles_needing_additional_references_from_April_2023 "Category:Articles needing additional references from April 2023")
  * [All articles needing additional references](/wiki/Category:All_articles_needing_additional_references "Category:All articles needing additional references")
  * [Articles with limited geographic scope from October 2015](/wiki/Category:Articles_with_limited_geographic_scope_from_October_2015 "Category:Articles with limited geographic scope from October 2015")
  * [United States-centric](/wiki/Category:United_States-centric "Category:United States-centric")
  * [All articles with unsourced statements](/wiki/Category:All_articles_with_unsourced_statements "Category:All articles with unsourced statements")
  * [Articles with unsourced statements from April 2023](/wiki/Category:Articles_with_unsourced_statements_from_April_2023 "Category:Articles with unsourced statements from April 2023")



  * This page was last edited on 22 February 2025, at 03:34 (UTC).
  * Text is available under the [Creative Commons Attribution-ShareAlike 4.0 License](/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License "Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License"); additional terms may apply. By using this site, you agree to the [Terms of Use](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use "foundation:Special:MyLanguage/Policy:Terms of Use") and [Privacy Policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy "foundation:Special:MyLanguage/Policy:Privacy policy"). Wikipedia® is a registered trademark of the [Wikimedia Foundation, Inc.](https://wikimediafoundation.org/), a non-profit organization.


  * [Privacy policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy)
  * [About Wikipedia](/wiki/Wikipedia:About)
  * [Disclaimers](/wiki/Wikipedia:General_disclaimer)
  * [Contact Wikipedia](//en.wikipedia.org/wiki/Wikipedia:Contact_us)
  * [Code of Conduct](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct)
  * [Developers](https://developer.wikimedia.org)
  * [Statistics](https://stats.wikimedia.org/#/en.wikipedia.org)
  * [Cookie statement](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement)
  * [Mobile view](//en.m.wikipedia.org/w/index.php?title=Web_scraping&mobileaction=toggle_view_mobile)


  * [![Wikimedia Foundation](/static/images/footer/wikimedia.svg)](https://wikimediafoundation.org/)
  * [![Powered by MediaWiki](/w/resources/assets/mediawiki_compact.svg)](https://www.mediawiki.org/)



Search

Search

Toggle the table of contents

Web scraping

22 languages Add topic


url: https://en.wikipedia.org/wiki/Natural_language_processing
title: Natural language processing - Wikipedia
scrape_date: 2025-02-27T17:39:21.948174
content_type: markdown
hash: 49c38421e2312c8536dfc4e385d9817afab91be12429c942f7e16e8792ebac0a
content:
Jump to content

Main menu

Main menu

move to sidebar hide

Navigation 

  * [Main page](/wiki/Main_Page "Visit the main page \[z\]")
  * [Contents](/wiki/Wikipedia:Contents "Guides to browsing Wikipedia")
  * [Current events](/wiki/Portal:Current_events "Articles related to current events")
  * [Random article](/wiki/Special:Random "Visit a randomly selected article \[x\]")
  * [About Wikipedia](/wiki/Wikipedia:About "Learn about Wikipedia and how it works")
  * [Contact us](//en.wikipedia.org/wiki/Wikipedia:Contact_us "How to contact Wikipedia")



Contribute 

  * [Help](/wiki/Help:Contents "Guidance on how to use and edit Wikipedia")
  * [Learn to edit](/wiki/Help:Introduction "Learn how to edit Wikipedia")
  * [Community portal](/wiki/Wikipedia:Community_portal "The hub for editors")
  * [Recent changes](/wiki/Special:RecentChanges "A list of recent changes to Wikipedia \[r\]")
  * [Upload file](/wiki/Wikipedia:File_upload_wizard "Add images or other media for use on Wikipedia")
  * [Special pages](/wiki/Special:SpecialPages)



[ ![](/static/images/icons/wikipedia.png) ![Wikipedia](/static/images/mobile/copyright/wikipedia-wordmark-en.svg) ![The Free Encyclopedia](/static/images/mobile/copyright/wikipedia-tagline-en.svg) ](/wiki/Main_Page)

[ Search ](/wiki/Special:Search "Search Wikipedia \[f\]")

Search







Appearance




  * [Donate](https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en)
  * [Create account](/w/index.php?title=Special:CreateAccount&returnto=Natural+language+processing "You are encouraged to create an account and log in; however, it is not mandatory")
  * [Log in](/w/index.php?title=Special:UserLogin&returnto=Natural+language+processing "You're encouraged to log in; however, it's not mandatory. \[o\]")



Personal tools

  * [Donate](https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en)
  * [ Create account](/w/index.php?title=Special:CreateAccount&returnto=Natural+language+processing "You are encouraged to create an account and log in; however, it is not mandatory")
  * [ Log in](/w/index.php?title=Special:UserLogin&returnto=Natural+language+processing "You're encouraged to log in; however, it's not mandatory. \[o\]")



Pages for logged out editors [learn more](/wiki/Help:Introduction)

  * [Contributions](/wiki/Special:MyContributions "A list of edits made from this IP address \[y\]")
  * [Talk](/wiki/Special:MyTalk "Discussion about edits from this IP address \[n\]")



## Contents

move to sidebar hide

  * (Top)
  * 1 History Toggle History subsection
    * 1.1 Symbolic NLP (1950s – early 1990s)
    * 1.2 Statistical NLP (1990s–present)
  * 2 Approaches: Symbolic, statistical, neural networks Toggle Approaches: Symbolic, statistical, neural networks subsection
    * 2.1 Statistical approach
    * 2.2 Neural networks
  * 3 Common NLP tasks Toggle Common NLP tasks subsection
    * 3.1 Text and speech processing
    * 3.2 Morphological analysis
    * 3.3 Syntactic analysis
    * 3.4 Lexical semantics (of individual words in context)
    * 3.5 Relational semantics (semantics of individual sentences)
    * 3.6 Discourse (semantics beyond individual sentences)
    * 3.7 Higher-level NLP applications
  * 4 General tendencies and (possible) future directions Toggle General tendencies and (possible) future directions subsection
    * 4.1 Cognition
  * 5 See also
  * 6 References
  * 7 Further reading
  * 8 External links



Toggle the table of contents

# Natural language processing

69 languages

  * [Afrikaans](https://af.wikipedia.org/wiki/Natuurliketaalverwerking "Natuurliketaalverwerking – Afrikaans")
  * [العربية](https://ar.wikipedia.org/wiki/%D9%85%D8%B9%D8%A7%D9%84%D8%AC%D8%A9_%D8%A7%D9%84%D9%84%D8%BA%D8%A9_%D8%A7%D9%84%D8%B7%D8%A8%D9%8A%D8%B9%D9%8A%D8%A9 "معالجة اللغة الطبيعية – Arabic")
  * [Արեւմտահայերէն](https://hyw.wikipedia.org/wiki/%D4%B2%D5%B6%D5%A1%D5%AF%D5%A1%D5%B6_%D4%BC%D5%A5%D5%A6%D5%B8%D6%82%D5%AB_%D5%84%D5%B7%D5%A1%D5%AF%D5%B8%D6%82%D5%B4 "Բնական Լեզուի Մշակում – Western Armenian")
  * [Azərbaycanca](https://az.wikipedia.org/wiki/T%C9%99bii_dilin_emal%C4%B1 "Təbii dilin emalı – Azerbaijani")
  * [বাংলা](https://bn.wikipedia.org/wiki/%E0%A6%B8%E0%A7%8D%E0%A6%AC%E0%A6%BE%E0%A6%AD%E0%A6%BE%E0%A6%AC%E0%A6%BF%E0%A6%95_%E0%A6%AD%E0%A6%BE%E0%A6%B7%E0%A6%BE_%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%95%E0%A7%8D%E0%A6%B0%E0%A6%BF%E0%A6%AF%E0%A6%BC%E0%A6%BE%E0%A6%9C%E0%A6%BE%E0%A6%A4%E0%A6%95%E0%A6%B0%E0%A6%A3 "স্বাভাবিক ভাষা প্রক্রিয়াজাতকরণ – Bangla")
  * [閩南語 / Bân-lâm-gú](https://zh-min-nan.wikipedia.org/wiki/Ch%C5%AB-ji%C3%A2n_gi%C3%A2n-g%C3%BA_chh%C3%BA-l%C3%AD "Chū-jiân giân-gú chhú-lí – Minnan")
  * [Беларуская](https://be.wikipedia.org/wiki/%D0%90%D0%BF%D1%80%D0%B0%D1%86%D0%BE%D1%9E%D0%BA%D0%B0_%D0%BD%D0%B0%D1%82%D1%83%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D0%B9_%D0%BC%D0%BE%D0%B2%D1%8B "Апрацоўка натуральнай мовы – Belarusian")
  * [Беларуская (тарашкевіца)](https://be-tarask.wikipedia.org/wiki/%D0%90%D0%BF%D1%80%D0%B0%D1%86%D0%BE%D1%9E%D0%BA%D0%B0_%D0%BD%D0%B0%D1%82%D1%83%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D0%B9_%D0%BC%D0%BE%D0%B2%D1%8B "Апрацоўка натуральнай мовы – Belarusian \(Taraškievica orthography\)")
  * [Български](https://bg.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%B5%D1%81%D1%82%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD_%D0%B5%D0%B7%D0%B8%D0%BA "Обработка на естествен език – Bulgarian")
  * [Bosanski](https://bs.wikipedia.org/wiki/Obrada_prirodnog_jezika "Obrada prirodnog jezika – Bosnian")
  * [Brezhoneg](https://br.wikipedia.org/wiki/Treterezh_emgefre_al_lavar "Treterezh emgefre al lavar – Breton")
  * [Català](https://ca.wikipedia.org/wiki/Processament_del_llenguatge_natural "Processament del llenguatge natural – Catalan")
  * [Čeština](https://cs.wikipedia.org/wiki/Zpracov%C3%A1n%C3%AD_p%C5%99irozen%C3%A9ho_jazyka "Zpracování přirozeného jazyka – Czech")
  * [Cymraeg](https://cy.wikipedia.org/wiki/Prosesu_Iaith_Naturiol "Prosesu Iaith Naturiol – Welsh")
  * [Dansk](https://da.wikipedia.org/wiki/Sprogteknologi "Sprogteknologi – Danish")
  * [Deutsch](https://de.wikipedia.org/wiki/Verarbeitung_nat%C3%BCrlicher_Sprache "Verarbeitung natürlicher Sprache – German")
  * [Eesti](https://et.wikipedia.org/wiki/Loomuliku_keele_t%C3%B6%C3%B6tlus "Loomuliku keele töötlus – Estonian")
  * [Ελληνικά](https://el.wikipedia.org/wiki/%CE%95%CF%80%CE%B5%CE%BE%CE%B5%CF%81%CE%B3%CE%B1%CF%83%CE%AF%CE%B1_%CF%86%CF%85%CF%83%CE%B9%CE%BA%CE%AE%CF%82_%CE%B3%CE%BB%CF%8E%CF%83%CF%83%CE%B1%CF%82 "Επεξεργασία φυσικής γλώσσας – Greek")
  * [Español](https://es.wikipedia.org/wiki/Procesamiento_de_lenguajes_naturales "Procesamiento de lenguajes naturales – Spanish")
  * [Esperanto](https://eo.wikipedia.org/wiki/Natur-lingva_prilaborado "Natur-lingva prilaborado – Esperanto")
  * [Euskara](https://eu.wikipedia.org/wiki/Hizkuntzaren_prozesamendu "Hizkuntzaren prozesamendu – Basque")
  * [فارسی](https://fa.wikipedia.org/wiki/%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4_%D8%B2%D8%A8%D8%A7%D9%86%E2%80%8C%D9%87%D8%A7%DB%8C_%D8%B7%D8%A8%DB%8C%D8%B9%DB%8C "پردازش زبان‌های طبیعی – Persian")
  * [Français](https://fr.wikipedia.org/wiki/Traitement_automatique_des_langues "Traitement automatique des langues – French")
  * [Gaeilge](https://ga.wikipedia.org/wiki/Pr%C3%B3ise%C3%A1il_teanga_n%C3%A1d%C3%BArtha "Próiseáil teanga nádúrtha – Irish")
  * [Galego](https://gl.wikipedia.org/wiki/Procesamento_da_linguaxe_natural "Procesamento da linguaxe natural – Galician")
  * [한국어](https://ko.wikipedia.org/wiki/%EC%9E%90%EC%97%B0%EC%96%B4_%EC%B2%98%EB%A6%AC "자연어 처리 – Korean")
  * [Հայերեն](https://hy.wikipedia.org/wiki/%D4%B2%D5%B6%D5%A1%D5%AF%D5%A1%D5%B6_%D5%AC%D5%A5%D5%A6%D5%BE%D5%AB_%D5%B4%D5%B7%D5%A1%D5%AF%D5%B8%D6%82%D5%B4 "Բնական լեզվի մշակում – Armenian")
  * [हिन्दी](https://hi.wikipedia.org/wiki/%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%95%E0%A5%83%E0%A4%A4%E0%A4%BF%E0%A4%95_%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE_%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A4%BE%E0%A4%A7%E0%A4%A8 "प्राकृतिक भाषा संसाधन – Hindi")
  * [Hrvatski](https://hr.wikipedia.org/wiki/Obrada_prirodnog_jezika "Obrada prirodnog jezika – Croatian")
  * [Bahasa Indonesia](https://id.wikipedia.org/wiki/Pengolahan_bahasa_alami "Pengolahan bahasa alami – Indonesian")
  * [IsiZulu](https://zu.wikipedia.org/wiki/Ukudludlunga_ulimi_lwemvelo "Ukudludlunga ulimi lwemvelo – Zulu")
  * [Íslenska](https://is.wikipedia.org/wiki/M%C3%A1lgreining "Málgreining – Icelandic")
  * [Italiano](https://it.wikipedia.org/wiki/Elaborazione_del_linguaggio_naturale "Elaborazione del linguaggio naturale – Italian")
  * [עברית](https://he.wikipedia.org/wiki/%D7%A2%D7%99%D7%91%D7%95%D7%93_%D7%A9%D7%A4%D7%94_%D7%98%D7%91%D7%A2%D7%99%D7%AA "עיבוד שפה טבעית – Hebrew")
  * [ಕನ್ನಡ](https://kn.wikipedia.org/wiki/%E0%B2%B8%E0%B2%B9%E0%B2%9C_%E0%B2%AD%E0%B2%BE%E0%B2%B7%E0%B2%BE_%E0%B2%B8%E0%B2%82%E0%B2%B8%E0%B3%8D%E0%B2%95%E0%B2%B0%E0%B2%A3%E0%B3%86 "ಸಹಜ ಭಾಷಾ ಸಂಸ್ಕರಣೆ – Kannada")
  * [ქართული](https://ka.wikipedia.org/wiki/%E1%83%91%E1%83%A3%E1%83%9C%E1%83%94%E1%83%91%E1%83%A0%E1%83%98%E1%83%95%E1%83%98_%E1%83%94%E1%83%9C%E1%83%98%E1%83%A1_%E1%83%93%E1%83%90%E1%83%9B%E1%83%A3%E1%83%A8%E1%83%90%E1%83%95%E1%83%94%E1%83%91%E1%83%90 "ბუნებრივი ენის დამუშავება – Georgian")
  * [Latviešu](https://lv.wikipedia.org/wiki/Dabisk%C4%81s_valodas_apstr%C4%81de "Dabiskās valodas apstrāde – Latvian")
  * [Lietuvių](https://lt.wikipedia.org/wiki/Nat%C5%ABralios_kalbos_apdorojimas "Natūralios kalbos apdorojimas – Lithuanian")
  * [Македонски](https://mk.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D1%80%D0%BE%D0%B4%D0%BD%D0%B8_%D1%98%D0%B0%D0%B7%D0%B8%D1%86%D0%B8 "Обработка на природни јазици – Macedonian")
  * [मराठी](https://mr.wikipedia.org/wiki/%E0%A4%A8%E0%A5%88%E0%A4%B8%E0%A4%B0%E0%A5%8D%E0%A4%97%E0%A4%BF%E0%A4%95_%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A4%95%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%AF%E0%A4%BE "नैसर्गिक भाषा प्रक्रिया – Marathi")
  * [مصرى](https://arz.wikipedia.org/wiki/%D8%AA%D8%AD%D9%84%D9%8A%D9%84_%D8%A7%D9%84%D9%84%D8%BA%D8%A7%D8%AA_%D8%A7%D9%84%D8%B7%D8%A8%D9%8A%D8%B9%D9%8A%D9%87 "تحليل اللغات الطبيعيه – Egyptian Arabic")
  * [Монгол](https://mn.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D1%8B%D0%BD_%D1%85%D1%8D%D0%BB_%D1%88%D0%B8%D0%BD%D0%B6%D0%BB%D1%8D%D0%BB "Компьютерын хэл шинжлэл – Mongolian")
  * [မြန်မာဘာသာ](https://my.wikipedia.org/wiki/%E1%80%99%E1%80%AD%E1%80%81%E1%80%84%E1%80%BA%E1%80%98%E1%80%AC%E1%80%9E%E1%80%AC%E1%80%85%E1%80%80%E1%80%AC%E1%80%B8%E1%80%9E%E1%80%AF%E1%80%B6%E1%80%B8_%E1%80%80%E1%80%BD%E1%80%94%E1%80%BA%E1%80%95%E1%80%BB%E1%80%B0%E1%80%90%E1%80%AC%E1%80%85%E1%80%94%E1%80%85%E1%80%BA "မိခင်ဘာသာစကားသုံး ကွန်ပျူတာစနစ် – Burmese")
  * [Nederlands](https://nl.wikipedia.org/wiki/Taaltechnologie "Taaltechnologie – Dutch")
  * [日本語](https://ja.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86 "自然言語処理 – Japanese")
  * [ଓଡ଼ିଆ](https://or.wikipedia.org/wiki/%E0%AC%A8%E0%AD%8D%E0%AD%9F%E0%AC%BE%E0%AC%9A%E0%AD%81%E0%AC%B0%E0%AC%BE%E0%AC%B2_%E0%AC%B2%E0%AC%BE%E0%AC%99%E0%AD%8D%E0%AC%97%E0%AD%81%E0%AC%8F%E0%AC%9C_%E0%AC%AA%E0%AD%8D%E0%AC%B0%E0%AD%8B%E0%AC%B8%E0%AD%87%E0%AC%B8%E0%AC%BF%E0%AC%82 "ନ୍ୟାଚୁରାଲ ଲାଙ୍ଗୁଏଜ ପ୍ରୋସେସିଂ – Odia")
  * [پښتو](https://ps.wikipedia.org/wiki/%D8%AF_%D8%B7%D8%A8%D9%8A%D8%B9%D9%8A_%DA%98%D8%A8%DB%90_%D9%BE%D8%B1%D9%88%D8%B3%D8%B3_%DA%A9%D9%88%D9%84 "د طبيعي ژبې پروسس کول – Pashto")
  * [Picard](https://pcd.wikipedia.org/wiki/Traitemint_automatique_d%27ches_langues "Traitemint automatique d'ches langues – Picard")
  * [Piemontèis](https://pms.wikipedia.org/wiki/NLP "NLP – Piedmontese")
  * [Polski](https://pl.wikipedia.org/wiki/Przetwarzanie_j%C4%99zyka_naturalnego "Przetwarzanie języka naturalnego – Polish")
  * [Português](https://pt.wikipedia.org/wiki/Processamento_de_linguagem_natural "Processamento de linguagem natural – Portuguese")
  * [Qaraqalpaqsha](https://kaa.wikipedia.org/wiki/T%C3%A1biyiy_tildi_qayta_islew "Tábiyiy tildi qayta islew – Kara-Kalpak")
  * [Română](https://ro.wikipedia.org/wiki/Prelucrarea_limbajului_natural "Prelucrarea limbajului natural – Romanian")
  * [Runa Simi](https://qu.wikipedia.org/wiki/Purum_simi_thatkichay "Purum simi thatkichay – Quechua")
  * [Русский](https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B5%D1%81%D1%82%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0 "Обработка естественного языка – Russian")
  * [Shqip](https://sq.wikipedia.org/wiki/P%C3%ABrpunimi_i_gjuh%C3%ABs_natyrore "Përpunimi i gjuhës natyrore – Albanian")
  * [Simple English](https://simple.wikipedia.org/wiki/Natural_language_processing "Natural language processing – Simple English")
  * [کوردی](https://ckb.wikipedia.org/wiki/%D9%BE%DB%8E%D9%88%D8%A7%DA%98%DB%86%DA%A9%D8%B1%D8%AF%D9%86%DB%8C_%D8%B2%D9%85%D8%A7%D9%86%DB%8C_%D8%B3%D8%B1%D9%88%D8%B4%D8%AA%DB%8C "پێواژۆکردنی زمانی سروشتی – Central Kurdish")
  * [Српски / srpski](https://sr.wikipedia.org/wiki/Obrada_prirodnih_jezika "Obrada prirodnih jezika – Serbian")
  * [Srpskohrvatski / српскохрватски](https://sh.wikipedia.org/wiki/Obrada_prirodnih_jezika "Obrada prirodnih jezika – Serbo-Croatian")
  * [Suomi](https://fi.wikipedia.org/wiki/Luonnollisen_kielen_k%C3%A4sittely "Luonnollisen kielen käsittely – Finnish")
  * [தமிழ்](https://ta.wikipedia.org/wiki/%E0%AE%87%E0%AE%AF%E0%AE%B1%E0%AF%8D%E0%AE%95%E0%AF%88_%E0%AE%AE%E0%AF%8A%E0%AE%B4%E0%AE%BF_%E0%AE%AE%E0%AF%81%E0%AE%B1%E0%AF%88%E0%AE%AF%E0%AE%BE%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AE%AE%E0%AF%8D "இயற்கை மொழி முறையாக்கம் – Tamil")
  * [తెలుగు](https://te.wikipedia.org/wiki/%E0%B0%B8%E0%B0%B9%E0%B0%9C_%E0%B0%AD%E0%B0%BE%E0%B0%B7%E0%B0%BE_%E0%B0%AA%E0%B1%8D%E0%B0%B0%E0%B0%95%E0%B1%8D%E0%B0%B0%E0%B0%BF%E0%B0%AF "సహజ భాషా ప్రక్రియ – Telugu")
  * [ไทย](https://th.wikipedia.org/wiki/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%A1%E0%B8%A7%E0%B8%A5%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%98%E0%B8%A3%E0%B8%A3%E0%B8%A1%E0%B8%8A%E0%B8%B2%E0%B8%95%E0%B8%B4 "การประมวลภาษาธรรมชาติ – Thai")
  * [Türkçe](https://tr.wikipedia.org/wiki/Do%C4%9Fal_dil_i%C5%9Fleme "Doğal dil işleme – Turkish")
  * [Українська](https://uk.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%BE%D0%B1%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D1%80%D0%BE%D0%B4%D0%BD%D0%BE%D1%97_%D0%BC%D0%BE%D0%B2%D0%B8 "Обробка природної мови – Ukrainian")
  * [Tiếng Việt](https://vi.wikipedia.org/wiki/X%E1%BB%AD_l%C3%BD_ng%C3%B4n_ng%E1%BB%AF_t%E1%BB%B1_nhi%C3%AAn "Xử lý ngôn ngữ tự nhiên – Vietnamese")
  * [粵語](https://zh-yue.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%AA%9E%E8%A8%80%E8%99%95%E7%90%86 "自然語言處理 – Cantonese")
  * [中文](https://zh.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86 "自然语言处理 – Chinese")



[Edit links](https://www.wikidata.org/wiki/Special:EntityPage/Q30642#sitelinks-wikipedia "Edit interlanguage links")

  * [Article](/wiki/Natural_language_processing "View the content page \[c\]")
  * [Talk](/wiki/Talk:Natural_language_processing "Discuss improvements to the content page \[t\]")



English




  * [Read](/wiki/Natural_language_processing)
  * [Edit](/w/index.php?title=Natural_language_processing&action=edit "Edit this page \[e\]")
  * [View history](/w/index.php?title=Natural_language_processing&action=history "Past revisions of this page \[h\]")



Tools

Tools

move to sidebar hide

Actions 

  * [Read](/wiki/Natural_language_processing)
  * [Edit](/w/index.php?title=Natural_language_processing&action=edit "Edit this page \[e\]")
  * [View history](/w/index.php?title=Natural_language_processing&action=history)



General 

  * [What links here](/wiki/Special:WhatLinksHere/Natural_language_processing "List of all English Wikipedia pages containing links to this page \[j\]")
  * [Related changes](/wiki/Special:RecentChangesLinked/Natural_language_processing "Recent changes in pages linked from this page \[k\]")
  * [Upload file](//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard "Upload files \[u\]")
  * [Permanent link](/w/index.php?title=Natural_language_processing&oldid=1277127281 "Permanent link to this revision of this page")
  * [Page information](/w/index.php?title=Natural_language_processing&action=info "More information about this page")
  * [Cite this page](/w/index.php?title=Special:CiteThisPage&page=Natural_language_processing&id=1277127281&wpFormIdentifier=titleform "Information on how to cite this page")
  * [Get shortened URL](/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FNatural_language_processing)
  * [Download QR code](/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FNatural_language_processing)



Print/export 

  * [Download as PDF](/w/index.php?title=Special:DownloadAsPdf&page=Natural_language_processing&action=show-download-screen "Download this page as a PDF file")
  * [Printable version](/w/index.php?title=Natural_language_processing&printable=yes "Printable version of this page \[p\]")



In other projects 

  * [Wikimedia Commons](https://commons.wikimedia.org/wiki/Category:Natural_language_processing)
  * [Wikiversity](https://en.wikiversity.org/wiki/Natural_Language_Processing)
  * [Wikidata item](https://www.wikidata.org/wiki/Special:EntityPage/Q30642 "Structured data on this page hosted by Wikidata \[g\]")



Appearance

move to sidebar hide

From Wikipedia, the free encyclopedia

Field of linguistics and computer science

For other uses, see [NLP](/wiki/NLP_\(disambiguation\) "NLP \(disambiguation\)").

This article is about computer processing. For human brain processing, see [Language processing in the brain](/wiki/Language_processing_in_the_brain "Language processing in the brain").

[![](//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png)](/wiki/File:Question_book-new.svg)| This article **needs additional citations for[verification](/wiki/Wikipedia:Verifiability "Wikipedia:Verifiability")**. Please help [improve this article](/wiki/Special:EditPage/Natural_language_processing "Special:EditPage/Natural language processing") by [adding citations to reliable sources](/wiki/Help:Referencing_for_beginners "Help:Referencing for beginners"). Unsourced material may be challenged and removed.  
_Find sources:_ ["Natural language processing"](https://www.google.com/search?as_eq=wikipedia&q=%22Natural+language+processing%22) – [news](https://www.google.com/search?tbm=nws&q=%22Natural+language+processing%22+-wikipedia&tbs=ar:1) **·** [newspapers](https://www.google.com/search?&q=%22Natural+language+processing%22&tbs=bkt:s&tbm=bks) **·** [books](https://www.google.com/search?tbs=bks:1&q=%22Natural+language+processing%22+-wikipedia) **·** [scholar](https://scholar.google.com/scholar?q=%22Natural+language+processing%22) **·** [JSTOR](https://www.jstor.org/action/doBasicSearch?Query=%22Natural+language+processing%22&acc=on&wc=on) _( May 2024)__([Learn how and when to remove this message](/wiki/Help:Maintenance_template_removal "Help:Maintenance template removal"))_  
---|---  
  
**Natural language processing** (**NLP**) is a subfield of [computer science](/wiki/Computer_science "Computer science") and especially [artificial intelligence](/wiki/Artificial_intelligence "Artificial intelligence"). It is primarily concerned with providing computers with the ability to process data encoded in [natural language](/wiki/Natural_language "Natural language") and is thus closely related to [information retrieval](/wiki/Information_retrieval "Information retrieval"), [knowledge representation](/wiki/Knowledge_representation "Knowledge representation") and [computational linguistics](/wiki/Computational_linguistics "Computational linguistics"), a subfield of [linguistics](/wiki/Linguistics "Linguistics"). 

Major tasks in natural language processing are [speech recognition](/wiki/Speech_recognition "Speech recognition"), [text classification](/wiki/Text_classification "Text classification"), [natural-language understanding](/wiki/Natural-language_understanding "Natural-language understanding"), and [natural-language generation](/wiki/Natural_language_generation "Natural language generation"). 

## History

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=1 "Edit section: History")]

Further information: [History of natural language processing](/wiki/History_of_natural_language_processing "History of natural language processing")

Natural language processing has its roots in the 1950s.[1] Already in 1950, [Alan Turing](/wiki/Alan_Turing "Alan Turing") published an article titled "[Computing Machinery and Intelligence](/wiki/Computing_Machinery_and_Intelligence "Computing Machinery and Intelligence")" which proposed what is now called the [Turing test](/wiki/Turing_test "Turing test") as a criterion of intelligence, though at the time that was not articulated as a problem separate from artificial intelligence. The proposed test includes a task that involves the automated interpretation and generation of natural language. 

### Symbolic NLP (1950s – early 1990s)

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=2 "Edit section: Symbolic NLP \(1950s – early 1990s\)")]

The premise of symbolic NLP is well-summarized by [John Searle](/wiki/John_Searle "John Searle")'s [Chinese room](/wiki/Chinese_room "Chinese room") experiment: Given a collection of rules (e.g., a Chinese phrasebook, with questions and matching answers), the computer emulates natural language understanding (or other NLP tasks) by applying those rules to the data it confronts. 

  * **1950s** : The [Georgetown experiment](/wiki/Georgetown-IBM_experiment "Georgetown-IBM experiment") in 1954 involved fully [automatic translation](/wiki/Automatic_translation "Automatic translation") of more than sixty Russian sentences into English. The authors claimed that within three or five years, machine translation would be a solved problem.[2] However, real progress was much slower, and after the [ALPAC report](/wiki/ALPAC "ALPAC") in 1966, which found that ten years of research had failed to fulfill the expectations, funding for machine translation was dramatically reduced. Little further research in machine translation was conducted in America (though some research continued elsewhere, such as Japan and Europe[3]) until the late 1980s when the first [statistical machine translation](/wiki/Statistical_machine_translation "Statistical machine translation") systems were developed.
  * **1960s** : Some notably successful natural language processing systems developed in the 1960s were [SHRDLU](/wiki/SHRDLU "SHRDLU"), a natural language system working in restricted "[blocks worlds](/wiki/Blocks_world "Blocks world")" with restricted vocabularies, and [ELIZA](/wiki/ELIZA "ELIZA"), a simulation of a [Rogerian psychotherapist](/wiki/Rogerian_psychotherapy "Rogerian psychotherapy"), written by [Joseph Weizenbaum](/wiki/Joseph_Weizenbaum "Joseph Weizenbaum") between 1964 and 1966. Using almost no information about human thought or emotion, ELIZA sometimes provided a startlingly human-like interaction. When the "patient" exceeded the very small knowledge base, ELIZA might provide a generic response, for example, responding to "My head hurts" with "Why do you say your head hurts?". [Ross Quillian](/w/index.php?title=Ross_Quillian&action=edit&redlink=1 "Ross Quillian \(page does not exist\)")'s successful work on natural language was demonstrated with a vocabulary of only _twenty_ words, because that was all that would fit in a computer memory at the time.[4]


  * **1970s** : During the 1970s, many programmers began to write "conceptual [ontologies](/wiki/Ontology_\(information_science\) "Ontology \(information science\)")", which structured real-world information into computer-understandable data. Examples are MARGIE (Schank, 1975), SAM (Cullingford, 1978), PAM (Wilensky, 1978), TaleSpin (Meehan, 1976), QUALM (Lehnert, 1977), Politics (Carbonell, 1979), and Plot Units (Lehnert 1981). During this time, the first [chatterbots](/wiki/Chatterbots "Chatterbots") were written (e.g., [PARRY](/wiki/PARRY "PARRY")).
  * **1980s** : The 1980s and early 1990s mark the heyday of symbolic methods in NLP. Focus areas of the time included research on rule-based parsing (e.g., the development of [HPSG](/wiki/Head-driven_phrase_structure_grammar "Head-driven phrase structure grammar") as a computational operationalization of [generative grammar](/wiki/Generative_grammar "Generative grammar")), morphology (e.g., two-level morphology[5]), semantics (e.g., [Lesk algorithm](/wiki/Lesk_algorithm "Lesk algorithm")), reference (e.g., within Centering Theory[6]) and other areas of natural language understanding (e.g., in the [Rhetorical Structure Theory](/wiki/Rhetorical_structure_theory "Rhetorical structure theory")). Other lines of research were continued, e.g., the development of chatterbots with [Racter](/wiki/Racter "Racter") and [Jabberwacky](/wiki/Jabberwacky "Jabberwacky"). An important development (that eventually led to the statistical turn in the 1990s) was the rising importance of quantitative evaluation in this period.[7]



### Statistical NLP (1990s–present)

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=3 "Edit section: Statistical NLP \(1990s–present\)")]

Up until the 1980s, most natural language processing systems were based on complex sets of hand-written rules. Starting in the late 1980s, however, there was a revolution in natural language processing with the introduction of [machine learning](/wiki/Machine_learning "Machine learning") algorithms for language processing. This was due to both the steady increase in computational power (see [Moore's law](/wiki/Moore%27s_law "Moore's law")) and the gradual lessening of the dominance of [Chomskyan](/wiki/Noam_Chomsky "Noam Chomsky") theories of linguistics (e.g. [transformational grammar](/wiki/Transformational_grammar "Transformational grammar")), whose theoretical underpinnings discouraged the sort of [corpus linguistics](/wiki/Corpus_linguistics "Corpus linguistics") that underlies the machine-learning approach to language processing.[8]

  * **1990s** : Many of the notable early successes in statistical methods in NLP occurred in the field of [machine translation](/wiki/Machine_translation "Machine translation"), due especially to work at IBM Research, such as [IBM alignment models](/wiki/IBM_alignment_models "IBM alignment models"). These systems were able to take advantage of existing multilingual [textual corpora](/wiki/Text_corpus "Text corpus") that had been produced by the [Parliament of Canada](/wiki/Parliament_of_Canada "Parliament of Canada") and the [European Union](/wiki/European_Union "European Union") as a result of laws calling for the translation of all governmental proceedings into all official languages of the corresponding systems of government. However, most other systems depended on corpora specifically developed for the tasks implemented by these systems, which was (and often continues to be) a major limitation in the success of these systems. As a result, a great deal of research has gone into methods of more effectively learning from limited amounts of data.
  * **2000s** : With the growth of the web, increasing amounts of raw (unannotated) language data have become available since the mid-1990s. Research has thus increasingly focused on [unsupervised](/wiki/Unsupervised_learning "Unsupervised learning") and [semi-supervised learning](/wiki/Semi-supervised_learning "Semi-supervised learning") algorithms. Such algorithms can learn from data that has not been hand-annotated with the desired answers or using a combination of annotated and non-annotated data. Generally, this task is much more difficult than [supervised learning](/wiki/Supervised_learning "Supervised learning"), and typically produces less accurate results for a given amount of input data. However, there is an enormous amount of non-annotated data available (including, among other things, the entire content of the [World Wide Web](/wiki/World_Wide_Web "World Wide Web")), which can often make up for the worse efficiency if the algorithm used has a low enough [time complexity](/wiki/Time_complexity "Time complexity") to be practical.
  * **2003:** [word n-gram model](/wiki/Word_n-gram_language_model "Word n-gram language model"), at the time the best statistical algorithm, is outperformed by a [multi-layer perceptron](/wiki/Multi-layer_perceptron "Multi-layer perceptron") (with a single hidden layer and [context length](/w/index.php?title=Context_length&action=edit&redlink=1 "Context length \(page does not exist\)") of several words, trained on up to 14 million words, by [Bengio](/wiki/Yoshua_Bengio "Yoshua Bengio") et al.)[9]
  * **2010:** [Tomáš Mikolov](/wiki/Tom%C3%A1%C5%A1_Mikolov "Tomáš Mikolov") (then a PhD student at [Brno University of Technology](/wiki/Brno_University_of_Technology "Brno University of Technology")) with co-authors applied a simple [recurrent neural network](/wiki/Recurrent_neural_network "Recurrent neural network") with a single hidden layer to language modelling,[10] and in the following years he went on to develop [Word2vec](/wiki/Word2vec "Word2vec"). In the 2010s, [representation learning](/wiki/Representation_learning "Representation learning") and [deep neural network](/wiki/Deep_learning "Deep learning")-style (featuring many hidden layers) machine learning methods became widespread in natural language processing. That popularity was due partly to a flurry of results showing that such techniques[11][12] can achieve state-of-the-art results in many natural language tasks, e.g., in [language modeling](/wiki/Language_modeling "Language modeling")[13] and parsing.[14][15] This is increasingly important [in medicine and healthcare](/wiki/Artificial_intelligence_in_healthcare "Artificial intelligence in healthcare"), where NLP helps analyze notes and text in [electronic health records](/wiki/Electronic_health_record "Electronic health record") that would otherwise be inaccessible for study when seeking to improve care[16] or protect patient privacy.[17]



## Approaches: Symbolic, statistical, neural networks

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=4 "Edit section: Approaches: Symbolic, statistical, neural networks")]

Symbolic approach, i.e., the hand-coding of a set of rules for manipulating symbols, coupled with a dictionary lookup, was historically the first approach used both by AI in general and by NLP in particular:[18][19] such as by writing grammars or devising heuristic rules for [stemming](/wiki/Stemming "Stemming"). 

[Machine learning](/wiki/Machine_learning "Machine learning") approaches, which include both statistical and neural networks, on the other hand, have many advantages over the symbolic approach: 

  * both statistical and neural networks methods can focus more on the most common cases extracted from a corpus of texts, whereas the rule-based approach needs to provide rules for both rare cases and common ones equally.


  * [language models](/wiki/Language_model "Language model"), produced by either statistical or neural networks methods, are more robust to both unfamiliar (e.g. containing words or structures that have not been seen before) and erroneous input (e.g. with misspelled words or words accidentally omitted) in comparison to the rule-based systems, which are also more costly to produce.


  * the larger such a (probabilistic) language model is, the more accurate it becomes, in contrast to rule-based systems that can gain accuracy only by increasing the amount and complexity of the rules leading to [intractability](/wiki/Intractable_problem "Intractable problem") problems.



Although rule-based systems for manipulating symbols were still in use in 2020, they have become mostly obsolete with the advance of [LLMs](/wiki/Large_language_model "Large language model") in 2023. 

Before that they were commonly used: 

  * when the amount of training data is insufficient to successfully apply machine learning methods, e.g., for the machine translation of low-resource languages such as provided by the [Apertium](/wiki/Apertium "Apertium") system,
  * for preprocessing in NLP pipelines, e.g., [tokenization](/wiki/Tokenization_\(lexical_analysis\) "Tokenization \(lexical analysis\)"), or
  * for postprocessing and transforming the output of NLP pipelines, e.g., for [knowledge extraction](/wiki/Knowledge_extraction "Knowledge extraction") from syntactic parses.



### Statistical approach

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=5 "Edit section: Statistical approach")]

In the late 1980s and mid-1990s, the statistical approach ended a period of [AI winter](/wiki/AI_winter "AI winter"), which was caused by the inefficiencies of the rule-based approaches.[20][21]

The earliest [decision trees](/wiki/Decision_tree "Decision tree"), producing systems of hard [if–then rules](/wiki/Conditional_\(computer_programming\)#If–then\(–else\) "Conditional \(computer programming\)"), were still very similar to the old rule-based approaches. Only the introduction of hidden [Markov models](/wiki/Markov_model "Markov model"), applied to part-of-speech tagging, announced the end of the old rule-based approach. 

### Neural networks

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=6 "Edit section: Neural networks")]

Further information: [Artificial neural network](/wiki/Artificial_neural_network "Artificial neural network")

A major drawback of statistical methods is that they require elaborate [feature engineering](/wiki/Feature_engineering "Feature engineering"). Since 2015,[22] the statistical approach has been replaced by the [neural networks](/wiki/Artificial_neural_network "Artificial neural network") approach, using [semantic networks](/wiki/Semantic_networks "Semantic networks")[23] and [word embeddings](/wiki/Word_embedding "Word embedding") to capture semantic properties of words. 

Intermediate tasks (e.g., part-of-speech tagging and dependency parsing) are not needed anymore. 

[Neural machine translation](/wiki/Neural_machine_translation "Neural machine translation"), based on then-newly invented [sequence-to-sequence](/wiki/Seq2seq "Seq2seq") transformations, made obsolete the intermediate steps, such as word alignment, previously necessary for [statistical machine translation](/wiki/Statistical_machine_translation "Statistical machine translation"). 

## Common NLP tasks

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=7 "Edit section: Common NLP tasks")]

The following is a list of some of the most commonly researched tasks in natural language processing. Some of these tasks have direct real-world applications, while others more commonly serve as subtasks that are used to aid in solving larger tasks. 

Though natural language processing tasks are closely intertwined, they can be subdivided into categories for convenience. A coarse division is given below. 

### Text and speech processing

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=8 "Edit section: Text and speech processing")]

[Optical character recognition](/wiki/Optical_character_recognition "Optical character recognition") (OCR)
    Given an image representing printed text, determine the corresponding text.

[Speech recognition](/wiki/Speech_recognition "Speech recognition")
    Given a sound clip of a person or people speaking, determine the textual representation of the speech. This is the opposite of [text to speech](/wiki/Text_to_speech "Text to speech") and is one of the extremely difficult problems colloquially termed "[AI-complete](/wiki/AI-complete "AI-complete")" (see above). In [natural speech](/wiki/Natural_speech "Natural speech") there are hardly any pauses between successive words, and thus [speech segmentation](/wiki/Speech_segmentation "Speech segmentation") is a necessary subtask of speech recognition (see below). In most spoken languages, the sounds representing successive letters blend into each other in a process termed [coarticulation](/wiki/Coarticulation "Coarticulation"), so the conversion of the [analog signal](/wiki/Analog_signal "Analog signal") to discrete characters can be a very difficult process. Also, given that words in the same language are spoken by people with different accents, the speech recognition software must be able to recognize the wide variety of input as being identical to each other in terms of its textual equivalent.
[Speech segmentation](/wiki/Speech_segmentation "Speech segmentation")
    Given a sound clip of a person or people speaking, separate it into words. A subtask of [speech recognition](/wiki/Speech_recognition "Speech recognition") and typically grouped with it.

[Text-to-speech](/wiki/Text-to-speech "Text-to-speech")
    Given a text, transform those units and produce a spoken representation. Text-to-speech can be used to aid the visually impaired.[24]

[Word segmentation](/wiki/Word_segmentation "Word segmentation") ([Tokenization](/wiki/Tokenization_\(lexical_analysis\) "Tokenization \(lexical analysis\)"))
    Tokenization is a process used in text analysis that divides text into individual words or word fragments. This technique results in two key components: a word index and tokenized text. The word index is a list that maps unique words to specific numerical identifiers, and the tokenized text replaces each word with its corresponding numerical token. These numerical tokens are then used in various deep learning methods.[25]
    For a language like [English](/wiki/English_language "English language"), this is fairly trivial, since words are usually separated by spaces. However, some written languages like [Chinese](/wiki/Chinese_language "Chinese language"), [Japanese](/wiki/Japanese_language "Japanese language") and [Thai](/wiki/Thai_language "Thai language") do not mark word boundaries in such a fashion, and in those languages text segmentation is a significant task requiring knowledge of the [vocabulary](/wiki/Vocabulary "Vocabulary") and [morphology](/wiki/Morphology_\(linguistics\) "Morphology \(linguistics\)") of words in the language. Sometimes this process is also used in cases like [bag of words](/wiki/Bag_of_words "Bag of words") (BOW) creation in data mining.[_[citation needed](/wiki/Wikipedia:Citation_needed "Wikipedia:Citation needed")_]

### Morphological analysis

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=9 "Edit section: Morphological analysis")]

[Lemmatization](/wiki/Lemmatisation "Lemmatisation")
    The task of removing inflectional endings only and to return the base dictionary form of a word which is also known as a lemma. Lemmatization is another technique for reducing words to their normalized form. But in this case, the transformation actually uses a dictionary to map words to their actual form.[26]
[Morphological segmentation](/wiki/Morphology_\(linguistics\) "Morphology \(linguistics\)")
    Separate words into individual [morphemes](/wiki/Morpheme "Morpheme") and identify the class of the morphemes. The difficulty of this task depends greatly on the complexity of the [morphology](/wiki/Morphology_\(linguistics\) "Morphology \(linguistics\)") (_i.e._ , the structure of words) of the language being considered. [English](/wiki/English_language "English language") has fairly simple morphology, especially [inflectional morphology](/wiki/Inflectional_morphology "Inflectional morphology"), and thus it is often possible to ignore this task entirely and simply model all possible forms of a word (e.g., "open, opens, opened, opening") as separate words. In languages such as [Turkish](/wiki/Turkish_language "Turkish language") or [Meitei](/wiki/Meitei_language "Meitei language"), a highly [agglutinated](/wiki/Agglutination "Agglutination") Indian language, however, such an approach is not possible, as each dictionary entry has thousands of possible word forms.[27]
[Part-of-speech tagging](/wiki/Part-of-speech_tagging "Part-of-speech tagging")
    Given a sentence, determine the [part of speech](/wiki/Part_of_speech "Part of speech") (POS) for each word. Many words, especially common ones, can serve as multiple parts of speech. For example, "book" can be a [noun](/wiki/Noun "Noun") ("the book on the table") or [verb](/wiki/Verb "Verb") ("to book a flight"); "set" can be a noun, verb or [adjective](/wiki/Adjective "Adjective"); and "out" can be any of at least five different parts of speech.

[Stemming](/wiki/Stemming "Stemming")
    The process of reducing inflected (or sometimes derived) words to a base form (e.g., "close" will be the root for "closed", "closing", "close", "closer" etc.). Stemming yields similar results as lemmatization, but does so on grounds of rules, not a dictionary.

### Syntactic analysis

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=10 "Edit section: Syntactic analysis")]

Part of [_a series_](/wiki/Category:Formal_languages "Category:Formal languages") on  
---  
[Formal languages](/wiki/Formal_languages "Formal languages")  
Key concepts

  * [Formal system](/wiki/Formal_system "Formal system")
  * [Alphabet](/wiki/Alphabet_\(formal_languages\) "Alphabet \(formal languages\)")
  * [Syntax](/wiki/Syntax_\(logic\) "Syntax \(logic\)")
  * [Formal semantics](/wiki/Semantics_of_logic "Semantics of logic")
  * [Semantics (programming languages)](/wiki/Semantics_\(computer_science\) "Semantics \(computer science\)")
  * [Formal grammar](/wiki/Formal_grammar "Formal grammar")
  * [Formation rule](/wiki/Formation_rule "Formation rule")
  * [Well-formed formula](/wiki/Well-formed_formula "Well-formed formula")
  * [Automata theory](/wiki/Automata_theory "Automata theory")
  * [Regular expression](/wiki/Regular_expression "Regular expression")
  * [Production](/wiki/Production_\(computer_science\) "Production \(computer science\)")
  * [Ground expression](/wiki/Ground_expression "Ground expression")
  * [Atomic formula](/wiki/Atomic_formula "Atomic formula")

  
Applications

  * [Formal methods](/wiki/Formal_methods "Formal methods")
  * [Propositional calculus](/wiki/Propositional_calculus "Propositional calculus")
  * [Predicate logic](/wiki/Predicate_logic "Predicate logic")
  * [Mathematical notation](/wiki/Mathematical_notation "Mathematical notation")
  * Natural language processing
  * [Programming language theory](/wiki/Programming_language_theory "Programming language theory")
  * [Computational linguistics](/wiki/Computational_linguistics "Computational linguistics")
  * [Syntax analysis](/wiki/Syntax_analysis "Syntax analysis")
  * [Formal verification](/wiki/Formal_verification "Formal verification")
  * [Automated theorem proving](/wiki/Automated_theorem_proving "Automated theorem proving")

  
  
  * [v](/wiki/Template:Formal_languages "Template:Formal languages")
  * [t](/w/index.php?title=Template_talk:Formal_languages&action=edit&redlink=1 "Template talk:Formal languages \(page does not exist\)")
  * [e](/wiki/Special:EditPage/Template:Formal_languages "Special:EditPage/Template:Formal languages")

  
  
[Grammar induction](/wiki/Grammar_induction "Grammar induction")[28]
    Generate a [formal grammar](/wiki/Formal_grammar "Formal grammar") that describes a language's syntax.
[Sentence breaking](/wiki/Sentence_breaking "Sentence breaking") (also known as "[sentence boundary disambiguation](/wiki/Sentence_boundary_disambiguation "Sentence boundary disambiguation")")
    Given a chunk of text, find the sentence boundaries. Sentence boundaries are often marked by [periods](/wiki/Full_stop "Full stop") or other [punctuation marks](/wiki/Punctuation_mark "Punctuation mark"), but these same characters can serve other purposes (e.g., marking [abbreviations](/wiki/Abbreviation "Abbreviation")).
[Parsing](/wiki/Parsing "Parsing")
    Determine the [parse tree](/wiki/Parse_tree "Parse tree") (grammatical analysis) of a given sentence. The [grammar](/wiki/Grammar "Grammar") for [natural languages](/wiki/Natural_language "Natural language") is [ambiguous](/wiki/Ambiguous "Ambiguous") and typical sentences have multiple possible analyses: perhaps surprisingly, for a typical sentence there may be thousands of potential parses (most of which will seem completely nonsensical to a human). There are two primary types of parsing: _dependency parsing_ and _constituency parsing_. Dependency parsing focuses on the relationships between words in a sentence (marking things like primary objects and predicates), whereas constituency parsing focuses on building out the parse tree using a [probabilistic context-free grammar](/wiki/Probabilistic_context-free_grammar "Probabilistic context-free grammar") (PCFG) (see also _[stochastic grammar](/wiki/Stochastic_grammar "Stochastic grammar")_).

### Lexical semantics (of individual words in context)

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=11 "Edit section: Lexical semantics \(of individual words in context\)")]

[Lexical semantics](/wiki/Lexical_semantics "Lexical semantics")
    What is the computational meaning of individual words in context?
[Distributional semantics](/wiki/Distributional_semantics "Distributional semantics")
    How can we learn semantic representations from data?
[Named entity recognition](/wiki/Named_entity_recognition "Named entity recognition") (NER)
    Given a stream of text, determine which items in the text map to proper names, such as people or places, and what the type of each such name is (e.g. person, location, organization). Although [capitalization](/wiki/Capitalization "Capitalization") can aid in recognizing named entities in languages such as English, this information cannot aid in determining the type of [named entity](/wiki/Named_entity "Named entity"), and in any case, is often inaccurate or insufficient. For example, the first letter of a sentence is also capitalized, and named entities often span several words, only some of which are capitalized. Furthermore, many other languages in non-Western scripts (e.g. [Chinese](/wiki/Chinese_language "Chinese language") or [Arabic](/wiki/Arabic_language "Arabic language")) do not have any capitalization at all, and even languages with capitalization may not consistently use it to distinguish names. For example, [German](/wiki/German_language "German language") capitalizes all [nouns](/wiki/Noun "Noun"), regardless of whether they are names, and [French](/wiki/French_language "French language") and [Spanish](/wiki/Spanish_language "Spanish language") do not capitalize names that serve as [adjectives](/wiki/Adjective "Adjective"). Another name for this task is token classification.[29]

[Sentiment analysis](/wiki/Sentiment_analysis "Sentiment analysis") (see also [Multimodal sentiment analysis](/wiki/Multimodal_sentiment_analysis "Multimodal sentiment analysis"))
    Sentiment analysis is a computational method used to identify and classify the emotional intent behind text. This technique involves analyzing text to determine whether the expressed sentiment is positive, negative, or neutral. Models for sentiment classification typically utilize inputs such as [word n-grams](/wiki/Word_n-gram_language_model "Word n-gram language model"), [Term Frequency-Inverse Document Frequency](/wiki/Term_frequency-inverse_document_frequency "Term frequency-inverse document frequency") (TF-IDF) features, hand-generated features, or employ [deep learning](/wiki/Deep_learning "Deep learning") models designed to recognize both long-term and short-term dependencies in text sequences. The applications of sentiment analysis are diverse, extending to tasks such as categorizing customer reviews on various online platforms.[25]
[Terminology extraction](/wiki/Terminology_extraction "Terminology extraction")
    The goal of terminology extraction is to automatically extract relevant terms from a given corpus.
[Word-sense disambiguation](/wiki/Word-sense_disambiguation "Word-sense disambiguation") (WSD)
    Many words have more than one [meaning](/wiki/Meaning_\(linguistics\) "Meaning \(linguistics\)"); we have to select the meaning which makes the most sense in context. For this problem, we are typically given a list of words and associated word senses, e.g. from a dictionary or an online resource such as [WordNet](/wiki/WordNet "WordNet").
[Entity linking](/wiki/Entity_linking "Entity linking")
    Many words—typically proper names—refer to [named entities](/wiki/Named_entity "Named entity"); here we have to select the entity (a famous individual, a location, a company, etc.) which is referred to in context.

### Relational semantics (semantics of individual sentences)

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=12 "Edit section: Relational semantics \(semantics of individual sentences\)")]

[Relationship extraction](/wiki/Relationship_extraction "Relationship extraction")
    Given a chunk of text, identify the relationships among named entities (e.g. who is married to whom).
[Semantic parsing](/wiki/Semantic_parsing "Semantic parsing")
    Given a piece of text (typically a sentence), produce a formal representation of its semantics, either as a graph (e.g., in [AMR parsing](/wiki/Abstract_Meaning_Representation "Abstract Meaning Representation")) or in accordance with a logical formalism (e.g., in [DRT parsing](/wiki/Discourse_representation_theory "Discourse representation theory")). This challenge typically includes aspects of several more elementary NLP tasks from semantics (e.g., semantic role labelling, word-sense disambiguation) and can be extended to include full-fledged discourse analysis (e.g., discourse analysis, coreference; see Natural language understanding below).
[Semantic role labelling](/wiki/Semantic_role_labeling "Semantic role labeling") (see also implicit semantic role labelling below)
    Given a single sentence, identify and disambiguate semantic predicates (e.g., verbal [frames](/wiki/Frame_semantics_\(linguistics\) "Frame semantics \(linguistics\)")), then identify and classify the frame elements ([semantic roles](/wiki/Semantic_roles "Semantic roles")).

### Discourse (semantics beyond individual sentences)

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=13 "Edit section: Discourse \(semantics beyond individual sentences\)")]

[Coreference resolution](/wiki/Coreference "Coreference")
    Given a sentence or larger chunk of text, determine which words ("mentions") refer to the same objects ("entities"). [Anaphora resolution](/wiki/Anaphora_resolution "Anaphora resolution") is a specific example of this task, and is specifically concerned with matching up [pronouns](/wiki/Pronoun "Pronoun") with the nouns or names to which they refer. The more general task of coreference resolution also includes identifying so-called "bridging relationships" involving [referring expressions](/wiki/Referring_expression "Referring expression"). For example, in a sentence such as "He entered John's house through the front door", "the front door" is a referring expression and the bridging relationship to be identified is the fact that the door being referred to is the front door of John's house (rather than of some other structure that might also be referred to).
[Discourse analysis](/wiki/Discourse_analysis "Discourse analysis")
    This rubric includes several related tasks. One task is discourse parsing, i.e., identifying the [discourse](/wiki/Discourse "Discourse") structure of a connected text, i.e. the nature of the discourse relationships between sentences (e.g. elaboration, explanation, contrast). Another possible task is recognizing and classifying the [speech acts](/wiki/Speech_act "Speech act") in a chunk of text (e.g. yes–no question, content question, statement, assertion, etc.).

Implicit semantic role labelling
    Given a single sentence, identify and disambiguate semantic predicates (e.g., verbal [frames](/wiki/Frame_semantics_\(linguistics\) "Frame semantics \(linguistics\)")) and their explicit semantic roles in the current sentence (see Semantic role labelling above). Then, identify semantic roles that are not explicitly realized in the current sentence, classify them into arguments that are explicitly realized elsewhere in the text and those that are not specified, and resolve the former against the local text. A closely related task is zero anaphora resolution, i.e., the extension of coreference resolution to [pro-drop languages](/wiki/Pro-drop_language "Pro-drop language").

[Recognizing textual entailment](/wiki/Textual_entailment "Textual entailment")
    Given two text fragments, determine if one being true entails the other, entails the other's negation, or allows the other to be either true or false.[30]

[Topic segmentation](/wiki/Topic_segmentation "Topic segmentation") and recognition
    Given a chunk of text, separate it into segments each of which is devoted to a topic, and identify the topic of the segment.

[Argument mining](/wiki/Argument_mining "Argument mining")
    The goal of argument mining is the automatic extraction and identification of argumentative structures from [natural language](/wiki/Natural_language "Natural language") text with the aid of computer programs.[31] Such argumentative structures include the premise, conclusions, the [argument scheme](/wiki/Argument_scheme "Argument scheme") and the relationship between the main and subsidiary argument, or the main and counter-argument within discourse.[32][33]

### Higher-level NLP applications

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=14 "Edit section: Higher-level NLP applications")]

[Automatic summarization](/wiki/Automatic_summarization "Automatic summarization") (text summarization)
    Produce a readable summary of a chunk of text. Often used to provide summaries of the text of a known type, such as research papers, articles in the financial section of a newspaper.
Grammatical error correction
    Grammatical error detection and correction involves a great band-width of problems on all levels of linguistic analysis (phonology/orthography, morphology, syntax, semantics, pragmatics). Grammatical error correction is impactful since it affects hundreds of millions of people that use or acquire English as a second language. It has thus been subject to a number of shared tasks since 2011.[34][35][36] As far as orthography, morphology, syntax and certain aspects of semantics are concerned, and due to the development of powerful neural language models such as [GPT-2](/wiki/GPT-2 "GPT-2"), this can now (2019) be considered a largely solved problem and is being marketed in various commercial applications.
[Logic translation](/wiki/Logic_translation "Logic translation")
    Translate a text from a natural language into formal logic.
[Machine translation](/wiki/Machine_translation "Machine translation") (MT)
    Automatically translate text from one human language to another. This is one of the most difficult problems, and is a member of a class of problems colloquially termed "[AI-complete](/wiki/AI-complete "AI-complete")", i.e. requiring all of the different types of knowledge that humans possess (grammar, semantics, facts about the real world, etc.) to solve properly.
[Natural-language understanding](/wiki/Natural-language_understanding "Natural-language understanding") (NLU)
    Convert chunks of text into more formal representations such as [first-order logic](/wiki/First-order_logic "First-order logic") structures that are easier for [computer](/wiki/Computer "Computer") programs to manipulate. Natural language understanding involves the identification of the intended semantic from the multiple possible semantics which can be derived from a natural language expression which usually takes the form of organized notations of natural language concepts. Introduction and creation of language metamodel and ontology are efficient however empirical solutions. An explicit formalization of natural language semantics without confusions with implicit assumptions such as [closed-world assumption](/wiki/Closed-world_assumption "Closed-world assumption") (CWA) vs. [open-world assumption](/wiki/Open-world_assumption "Open-world assumption"), or subjective Yes/No vs. objective True/False is expected for the construction of a basis of semantics formalization.[37]
[Natural-language generation](/wiki/Natural_language_generation "Natural language generation") (NLG):
    Convert information from computer databases or semantic intents into readable human language.
Book generation
    Not an NLP task proper but an extension of natural language generation and other NLP tasks is the creation of full-fledged books. The first machine-generated book was created by a rule-based system in 1984 (Racter, _The policeman's beard is half-constructed_).[38] The first published work by a neural network was published in 2018, _[1 the Road](/wiki/1_the_Road "1 the Road")_ , marketed as a novel, contains sixty million words. Both these systems are basically elaborate but non-sensical (semantics-free) [language models](/wiki/Language_model "Language model"). The first machine-generated science book was published in 2019 (Beta Writer, _Lithium-Ion Batteries_ , Springer, Cham).[39] Unlike _Racter_ and _1 the Road_ , this is grounded on factual knowledge and based on text summarization.
[Document AI](/wiki/Document_AI "Document AI")
    A Document AI platform sits on top of the NLP technology enabling users with no prior experience of artificial intelligence, machine learning or NLP to quickly train a computer to extract the specific data they need from different document types. NLP-powered Document AI enables non-technical teams to quickly access information hidden in documents, for example, lawyers, business analysts and accountants.[40]
[Dialogue management](/wiki/Dialogue_system "Dialogue system")
    Computer systems intended to converse with a human.
[Question answering](/wiki/Question_answering "Question answering")
    Given a human-language question, determine its answer. Typical questions have a specific right answer (such as "What is the capital of Canada?"), but sometimes open-ended questions are also considered (such as "What is the meaning of life?").
[Text-to-image generation](/wiki/Text-to-image_generation "Text-to-image generation")
    Given a description of an image, generate an image that matches the description.[41]
Text-to-scene generation
    Given a description of a scene, generate a [3D model](/wiki/3D_model "3D model") of the scene.[42][43]
[Text-to-video](/wiki/Text-to-video_model "Text-to-video model")
    Given a description of a video, generate a video that matches the description.[44][45]

## General tendencies and (possible) future directions

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=15 "Edit section: General tendencies and \(possible\) future directions")]

Based on long-standing trends in the field, it is possible to extrapolate future directions of NLP. As of 2020, three trends among the topics of the long-standing series of CoNLL Shared Tasks can be observed:[46]

  * Interest on increasingly abstract, "cognitive" aspects of natural language (1999–2001: shallow parsing, 2002–03: named entity recognition, 2006–09/2017–18: dependency syntax, 2004–05/2008–09 semantic role labelling, 2011–12 coreference, 2015–16: discourse parsing, 2019: semantic parsing).
  * Increasing interest in multilinguality, and, potentially, multimodality (English since 1999; Spanish, Dutch since 2002; German since 2003; Bulgarian, Danish, Japanese, Portuguese, Slovenian, Swedish, Turkish since 2006; Basque, Catalan, Chinese, Greek, Hungarian, Italian, Turkish since 2007; Czech since 2009; Arabic since 2012; 2017: 40+ languages; 2018: 60+/100+ languages)
  * Elimination of symbolic representations (rule-based over supervised towards weakly supervised methods, representation learning and end-to-end systems)



### Cognition

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=16 "Edit section: Cognition")]

Most higher-level NLP applications involve aspects that emulate intelligent behaviour and apparent comprehension of natural language. More broadly speaking, the technical operationalization of increasingly advanced aspects of cognitive behaviour represents one of the developmental trajectories of NLP (see trends among CoNLL shared tasks above). 

[Cognition](/wiki/Cognition "Cognition") refers to "the mental action or process of acquiring knowledge and understanding through thought, experience, and the senses."[47] [Cognitive science](/wiki/Cognitive_science "Cognitive science") is the interdisciplinary, scientific study of the mind and its processes.[48] [Cognitive linguistics](/wiki/Cognitive_linguistics "Cognitive linguistics") is an interdisciplinary branch of linguistics, combining knowledge and research from both psychology and linguistics.[49] Especially during the age of symbolic NLP, the area of computational linguistics maintained strong ties with cognitive studies. 

As an example, [George Lakoff](/wiki/George_Lakoff "George Lakoff") offers a methodology to build natural language processing (NLP) algorithms through the perspective of cognitive science, along with the findings of cognitive linguistics,[50] with two defining aspects: 

  1. Apply the theory of [conceptual metaphor](/wiki/Conceptual_metaphor "Conceptual metaphor"), explained by Lakoff as "the understanding of one idea, in terms of another" which provides an idea of the intent of the author.[51] For example, consider the English word _big_. When used in a comparison ("That is a big tree"), the author's intent is to imply that the tree is _physically large_ relative to other trees or the authors experience. When used metaphorically ("Tomorrow is a big day"), the author's intent to imply _importance_. The intent behind other usages, like in "She is a big person", will remain somewhat ambiguous to a person and a cognitive NLP algorithm alike without additional information.
  2. Assign relative measures of meaning to a word, phrase, sentence or piece of text based on the information presented before and after the piece of text being analyzed, e.g., by means of a [probabilistic context-free grammar](/wiki/Probabilistic_context-free_grammar "Probabilistic context-free grammar") (PCFG). The mathematical equation for such algorithms is presented in [US Patent 9269353](https://worldwide.espacenet.com/patent/search/family/055314712/publication/US9269353B1?q=pn%3DUS9269353):[52]



    

     R M M ( t o k e n N ) = P M M ( t o k e n N ) × 1 2 d ( ∑ i = − d d ( ( P M M ( t o k e n N ) × P F ( t o k e n N − i , t o k e n N , t o k e n N + i ) ) i ) {\displaystyle {RMM(token_{N})}={PMM(token_{N})}\times {\frac {1}{2d}}\left(\sum _{i=-d}^{d}{((PMM(token_{N})}\times {PF(token_{N-i},token_{N},token_{N+i}))_{i}}\right)} ![{\\displaystyle {RMM\(token_{N}\)}={PMM\(token_{N}\)}\\times {\\frac {1}{2d}}\\left\(\\sum _{i=-d}^{d}{\(\(PMM\(token_{N}\)}\\times {PF\(token_{N-i},token_{N},token_{N+i}\)\)_{i}}\\right\)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/43ccadd794a4b84e20d1209997a463342e0dfbfe)

    

    _Where_

    **RMM** is the relative measure of meaning
    **token** is any block of text, sentence, phrase or word
    **N** is the number of tokens being analyzed
    **PMM** is the probable measure of meaning based on a corpora
    **d** is the non zero location of the token along the sequence of **N** tokens
    **PF** is the probability function specific to a language

Ties with cognitive linguistics are part of the historical heritage of NLP, but they have been less frequently addressed since the statistical turn during the 1990s. Nevertheless, approaches to develop cognitive models towards technically operationalizable frameworks have been pursued in the context of various frameworks, e.g., of cognitive grammar,[53] functional grammar,[54] construction grammar,[55] computational psycholinguistics and cognitive neuroscience (e.g., [ACT-R](/wiki/ACT-R "ACT-R")), however, with limited uptake in mainstream NLP (as measured by presence on major conferences[56] of the [ACL](/wiki/Association_for_Computational_Linguistics "Association for Computational Linguistics")). More recently, ideas of cognitive NLP have been revived as an approach to achieve [explainability](/wiki/Explainable_artificial_intelligence "Explainable artificial intelligence"), e.g., under the notion of "cognitive AI".[57] Likewise, ideas of cognitive NLP are inherent to neural models [multimodal](/wiki/Multimodal_interaction "Multimodal interaction") NLP (although rarely made explicit)[58] and developments in [artificial intelligence](/wiki/Artificial_intelligence "Artificial intelligence"), specifically tools and technologies using [large language model](/wiki/Large_language_model "Large language model") approaches[59] and new directions in [artificial general intelligence](/wiki/Artificial_general_intelligence "Artificial general intelligence") based on the [free energy principle](/wiki/Free_energy_principle "Free energy principle")[60] by British neuroscientist and theoretician at University College London [Karl J. Friston](/wiki/Karl_J._Friston "Karl J. Friston"). 

## See also

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=17 "Edit section: See also")]

  * _[1 the Road](/wiki/1_the_Road "1 the Road")_
  * [Artificial intelligence detection software](/wiki/Artificial_intelligence_detection_software "Artificial intelligence detection software")
  * [Automated essay scoring](/wiki/Automated_essay_scoring "Automated essay scoring")
  * [Biomedical text mining](/wiki/Biomedical_text_mining "Biomedical text mining")
  * [Compound term processing](/wiki/Compound_term_processing "Compound term processing")
  * [Computational linguistics](/wiki/Computational_linguistics "Computational linguistics")
  * [Computer-assisted reviewing](/wiki/Computer-assisted_reviewing "Computer-assisted reviewing")
  * [Controlled natural language](/wiki/Controlled_natural_language "Controlled natural language")
  * [Deep learning](/wiki/Deep_learning "Deep learning")
  * [Deep linguistic processing](/wiki/Deep_linguistic_processing "Deep linguistic processing")
  * [Distributional semantics](/wiki/Distributional_semantics "Distributional semantics")
  * [Foreign language reading aid](/wiki/Foreign_language_reading_aid "Foreign language reading aid")
  * [Foreign language writing aid](/wiki/Foreign_language_writing_aid "Foreign language writing aid")
  * [Information extraction](/wiki/Information_extraction "Information extraction")
  * [Information retrieval](/wiki/Information_retrieval "Information retrieval")
  * [Language and Communication Technologies](/wiki/Language_and_Communication_Technologies "Language and Communication Technologies")
  * [Language model](/wiki/Language_model "Language model")
  * [Language technology](/wiki/Language_technology "Language technology")
  * [Latent semantic indexing](/wiki/Latent_semantic_indexing "Latent semantic indexing")
  * [Multi-agent system](/wiki/Multi-agent_system "Multi-agent system")
  * [Native-language identification](/wiki/Native-language_identification "Native-language identification")
  * [Natural-language programming](/wiki/Natural-language_programming "Natural-language programming")
  * [Natural-language understanding](/wiki/Natural-language_understanding "Natural-language understanding")
  * [Natural-language search](/wiki/Natural-language_user_interface "Natural-language user interface")
  * [Outline of natural language processing](/wiki/Outline_of_natural_language_processing "Outline of natural language processing")
  * [Query expansion](/wiki/Query_expansion "Query expansion")
  * [Query understanding](/wiki/Query_understanding "Query understanding")
  * [Reification (linguistics)](/wiki/Reification_\(linguistics\) "Reification \(linguistics\)")
  * [Speech processing](/wiki/Speech_processing "Speech processing")
  * [Spoken dialogue systems](/wiki/Spoken_dialogue_systems "Spoken dialogue systems")
  * [Text-proofing](/wiki/Text-proofing "Text-proofing")
  * [Text simplification](/wiki/Text_simplification "Text simplification")
  * [Transformer (machine learning model)](/wiki/Transformer_\(machine_learning_model\) "Transformer \(machine learning model\)")
  * [Truecasing](/wiki/Truecasing "Truecasing")
  * [Question answering](/wiki/Question_answering "Question answering")
  * [Word2vec](/wiki/Word2vec "Word2vec")



## References

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=18 "Edit section: References")]

  1. **^** ["NLP"](https://cs.stanford.edu/people/eroberts/courses/soco/projects/2004-05/nlp/overview_history.html).
  2. **^** Hutchins, J. (2005). ["The history of machine translation in a nutshell"](http://www.hutchinsweb.me.uk/Nutshell-2005.pdf) (PDF).[_[self-published source](/wiki/Wikipedia:Verifiability#Self-published_sources "Wikipedia:Verifiability")_]
  3. **^** "ALPAC: the (in)famous report", John Hutchins, MT News International, no. 14, June 1996, pp. 9–12.
  4. **^** Crevier 1993, pp. 146–148 harvnb error: no target: CITEREFCrevier1993 ([help](/wiki/Category:Harv_and_Sfn_template_errors "Category:Harv and Sfn template errors")), see also Buchanan 2005, p. 56 harvnb error: no target: CITEREFBuchanan2005 ([help](/wiki/Category:Harv_and_Sfn_template_errors "Category:Harv and Sfn template errors")): "Early programs were necessarily limited in scope by the size and speed of memory"
  5. **^** [Koskenniemi, Kimmo](/wiki/Kimmo_Koskenniemi "Kimmo Koskenniemi") (1983), [_Two-level morphology: A general computational model of word-form recognition and production_](http://www.ling.helsinki.fi/~koskenni/doc/Two-LevelMorphology.pdf) (PDF), Department of General Linguistics, [University of Helsinki](/wiki/University_of_Helsinki "University of Helsinki")
  6. **^** Joshi, A. K., & Weinstein, S. (1981, August). [Control of Inference: Role of Some Aspects of Discourse Structure-Centering](https://www.ijcai.org/Proceedings/81-1/Papers/071.pdf). In _IJCAI_ (pp. 385–387).
  7. **^** Guida, G.; Mauri, G. (July 1986). "Evaluation of natural language processing systems: Issues and approaches". _Proceedings of the IEEE_. **74** (7): 1026–1035\. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1109/PROC.1986.13580](https://doi.org/10.1109%2FPROC.1986.13580). [ISSN](/wiki/ISSN_\(identifier\) "ISSN \(identifier\)") [1558-2256](https://search.worldcat.org/issn/1558-2256). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [30688575](https://api.semanticscholar.org/CorpusID:30688575).
  8. **^** Chomskyan linguistics encourages the investigation of "[corner cases](/wiki/Corner_case "Corner case")" that stress the limits of its theoretical models (comparable to [pathological](/wiki/Pathological_\(mathematics\) "Pathological \(mathematics\)") phenomena in mathematics), typically created using [thought experiments](/wiki/Thought_experiment "Thought experiment"), rather than the systematic investigation of typical phenomena that occur in real-world data, as is the case in [corpus linguistics](/wiki/Corpus_linguistics "Corpus linguistics"). The creation and use of such [corpora](/wiki/Text_corpus "Text corpus") of real-world data is a fundamental part of machine-learning algorithms for natural language processing. In addition, theoretical underpinnings of Chomskyan linguistics such as the so-called "[poverty of the stimulus](/wiki/Poverty_of_the_stimulus "Poverty of the stimulus")" argument entail that general learning algorithms, as are typically used in machine learning, cannot be successful in language processing. As a result, the Chomskyan paradigm discouraged the application of such models to language processing.
  9. **^** Bengio, Yoshua; Ducharme, Réjean; Vincent, Pascal; Janvin, Christian (March 1, 2003). ["A neural probabilistic language model"](https://dl.acm.org/doi/10.5555/944919.944966). _The Journal of Machine Learning Research_. **3** : 1137–1155 - via ACM Digital Library.
  10. **^** Mikolov, Tomáš; Karafiát, Martin; Burget, Lukáš; Černocký, Jan; Khudanpur, Sanjeev (26 September 2010). ["Recurrent neural network based language model"](https://gwern.net/doc/ai/nn/rnn/2010-mikolov.pdf) (PDF). _Interspeech 2010_. pp. 1045–1048\. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.21437/Interspeech.2010-343](https://doi.org/10.21437%2FInterspeech.2010-343). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [17048224](https://api.semanticscholar.org/CorpusID:17048224). `{{[cite book](/wiki/Template:Cite_book "Template:Cite book")}}`: `|journal=` ignored ([help](/wiki/Help:CS1_errors#periodical_ignored "Help:CS1 errors"))
  11. **^** Goldberg, Yoav (2016). "A Primer on Neural Network Models for Natural Language Processing". _Journal of Artificial Intelligence Research_. **57** : 345–420\. [arXiv](/wiki/ArXiv_\(identifier\) "ArXiv \(identifier\)"):[1807.10854](https://arxiv.org/abs/1807.10854). [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1613/jair.4992](https://doi.org/10.1613%2Fjair.4992). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [8273530](https://api.semanticscholar.org/CorpusID:8273530).
  12. **^** Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). [_Deep Learning_](http://www.deeplearningbook.org/). MIT Press.
  13. **^** Jozefowicz, Rafal; Vinyals, Oriol; Schuster, Mike; Shazeer, Noam; Wu, Yonghui (2016). _Exploring the Limits of Language Modeling_. [arXiv](/wiki/ArXiv_\(identifier\) "ArXiv \(identifier\)"):[1602.02410](https://arxiv.org/abs/1602.02410). [Bibcode](/wiki/Bibcode_\(identifier\) "Bibcode \(identifier\)"):[2016arXiv160202410J](https://ui.adsabs.harvard.edu/abs/2016arXiv160202410J).
  14. **^** Choe, Do Kook; Charniak, Eugene. ["Parsing as Language Modeling"](https://web.archive.org/web/20181023034804/https://aclanthology.coli.uni-saarland.de/papers/D16-1257/d16-1257). _Emnlp 2016_. Archived from [the original](https://aclanthology.coli.uni-saarland.de/papers/D16-1257/d16-1257) on 2018-10-23. Retrieved 2018-10-22.
  15. **^** Vinyals, Oriol; et al. (2014). ["Grammar as a Foreign Language"](https://papers.nips.cc/paper/5635-grammar-as-a-foreign-language.pdf) (PDF). _Nips2015_. [arXiv](/wiki/ArXiv_\(identifier\) "ArXiv \(identifier\)"):[1412.7449](https://arxiv.org/abs/1412.7449). [Bibcode](/wiki/Bibcode_\(identifier\) "Bibcode \(identifier\)"):[2014arXiv1412.7449V](https://ui.adsabs.harvard.edu/abs/2014arXiv1412.7449V).
  16. **^** Turchin, Alexander; Florez Builes, Luisa F. (2021-03-19). ["Using Natural Language Processing to Measure and Improve Quality of Diabetes Care: A Systematic Review"](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8120048). _Journal of Diabetes Science and Technology_. **15** (3): 553–560\. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1177/19322968211000831](https://doi.org/10.1177%2F19322968211000831). [ISSN](/wiki/ISSN_\(identifier\) "ISSN \(identifier\)") [1932-2968](https://search.worldcat.org/issn/1932-2968). [PMC](/wiki/PMC_\(identifier\) "PMC \(identifier\)") [8120048](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8120048). [PMID](/wiki/PMID_\(identifier\) "PMID \(identifier\)") [33736486](https://pubmed.ncbi.nlm.nih.gov/33736486).
  17. **^** Lee, Jennifer; Yang, Samuel; Holland-Hall, Cynthia; Sezgin, Emre; Gill, Manjot; Linwood, Simon; Huang, Yungui; Hoffman, Jeffrey (2022-06-10). ["Prevalence of Sensitive Terms in Clinical Notes Using Natural Language Processing Techniques: Observational Study"](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9233261). _JMIR Medical Informatics_. **10** (6): e38482. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.2196/38482](https://doi.org/10.2196%2F38482). [ISSN](/wiki/ISSN_\(identifier\) "ISSN \(identifier\)") [2291-9694](https://search.worldcat.org/issn/2291-9694). [PMC](/wiki/PMC_\(identifier\) "PMC \(identifier\)") [9233261](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9233261). [PMID](/wiki/PMID_\(identifier\) "PMID \(identifier\)") [35687381](https://pubmed.ncbi.nlm.nih.gov/35687381).
  18. **^** Winograd, Terry (1971). [_Procedures as a Representation for Data in a Computer Program for Understanding Natural Language_](http://hci.stanford.edu/winograd/shrdlu/) (Thesis).
  19. **^** Schank, Roger C.; Abelson, Robert P. (1977). _Scripts, Plans, Goals, and Understanding: An Inquiry Into Human Knowledge Structures_. Hillsdale: Erlbaum. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [0-470-99033-3](/wiki/Special:BookSources/0-470-99033-3 "Special:BookSources/0-470-99033-3").
  20. **^** [Mark Johnson. How the statistical revolution changes (computational) linguistics.](http://www.aclweb.org/anthology/W09-0103) Proceedings of the EACL 2009 Workshop on the Interaction between Linguistics and Computational Linguistics.
  21. **^** [Philip Resnik. Four revolutions.](http://languagelog.ldc.upenn.edu/nll/?p=2946) Language Log, February 5, 2011.
  22. **^** Socher, Richard. ["Deep Learning For NLP-ACL 2012 Tutorial"](https://www.socher.org/index.php/Main/DeepLearningForNLP-ACL2012Tutorial). _www.socher.org_. Retrieved 2020-08-17. This was an early Deep Learning tutorial at the ACL 2012 and met with both interest and (at the time) skepticism by most participants. Until then, neural learning was basically rejected because of its lack of statistical interpretability. Until 2015, deep learning had evolved into the major framework of NLP. [Link is broken, try <http://web.stanford.edu/class/cs224n/>]
  23. **^** Segev, Elad (2022). [_Semantic Network Analysis in Social Sciences_](https://www.routledge.com/Semantic-Network-Analysis-in-Social-Sciences/Segev/p/book/9780367636524). London: Routledge. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [9780367636524](/wiki/Special:BookSources/9780367636524 "Special:BookSources/9780367636524"). [Archived](https://web.archive.org/web/20211205140726/https://www.routledge.com/Semantic-Network-Analysis-in-Social-Sciences/Segev/p/book/9780367636524) from the original on 5 December 2021. Retrieved 5 December 2021.
  24. **^** Yi, Chucai; [Tian, Yingli](/wiki/Yingli_Tian "Yingli Tian") (2012), "Assistive Text Reading from Complex Background for Blind Persons", _Camera-Based Document Analysis and Recognition_ , Lecture Notes in Computer Science, vol. 7139, Springer Berlin Heidelberg, pp. 15–28, [CiteSeerX](/wiki/CiteSeerX_\(identifier\) "CiteSeerX \(identifier\)") [10.1.1.668.869](https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.668.869), [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1007/978-3-642-29364-1_2](https://doi.org/10.1007%2F978-3-642-29364-1_2), [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [9783642293634](/wiki/Special:BookSources/9783642293634 "Special:BookSources/9783642293634")
  25. ^ _**a**_ _**b**_ ["Natural Language Processing (NLP) - A Complete Guide"](https://www.deeplearning.ai/resources/natural-language-processing/). _www.deeplearning.ai_. 2023-01-11. Retrieved 2024-05-05.
  26. **^** ["What is Natural Language Processing? Intro to NLP in Machine Learning"](https://www.gyansetu.in/what-is-natural-language-processing/). _GyanSetu!_. 2020-12-06. Retrieved 2021-01-09.
  27. **^** Kishorjit, N.; Vidya, Raj RK.; Nirmal, Y.; Sivaji, B. (2012). ["Manipuri Morpheme Identification"](http://aclweb.org/anthology//W/W12/W12-5008.pdf) (PDF). _Proceedings of the 3rd Workshop on South and Southeast Asian Natural Language Processing (SANLP)_. COLING 2012, Mumbai, December 2012: 95–108.`{{[cite journal](/wiki/Template:Cite_journal "Template:Cite journal")}}`: CS1 maint: location ([link](/wiki/Category:CS1_maint:_location "Category:CS1 maint: location"))
  28. **^** Klein, Dan; Manning, Christopher D. (2002). ["Natural language grammar induction using a constituent-context model"](http://papers.nips.cc/paper/1945-natural-language-grammar-induction-using-a-constituent-context-model.pdf) (PDF). _Advances in Neural Information Processing Systems_.
  29. **^** Kariampuzha, William; Alyea, Gioconda; Qu, Sue; Sanjak, Jaleal; Mathé, Ewy; Sid, Eric; Chatelaine, Haley; Yadaw, Arjun; Xu, Yanji; Zhu, Qian (2023). ["Precision information extraction for rare disease epidemiology at scale"](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9972634). _Journal of Translational Medicine_. **21** (1): 157. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1186/s12967-023-04011-y](https://doi.org/10.1186%2Fs12967-023-04011-y). [PMC](/wiki/PMC_\(identifier\) "PMC \(identifier\)") [9972634](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9972634). [PMID](/wiki/PMID_\(identifier\) "PMID \(identifier\)") [36855134](https://pubmed.ncbi.nlm.nih.gov/36855134).
  30. **^** PASCAL Recognizing Textual Entailment Challenge (RTE-7) <https://tac.nist.gov//2011/RTE/>
  31. **^** Lippi, Marco; Torroni, Paolo (2016-04-20). ["Argumentation Mining: State of the Art and Emerging Trends"](https://dl.acm.org/doi/10.1145/2850417). _ACM Transactions on Internet Technology_. **16** (2): 1–25\. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1145/2850417](https://doi.org/10.1145%2F2850417). [hdl](/wiki/Hdl_\(identifier\) "Hdl \(identifier\)"):[11585/523460](https://hdl.handle.net/11585%2F523460). [ISSN](/wiki/ISSN_\(identifier\) "ISSN \(identifier\)") [1533-5399](https://search.worldcat.org/issn/1533-5399). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [9561587](https://api.semanticscholar.org/CorpusID:9561587).
  32. **^** ["Argument Mining – IJCAI2016 Tutorial"](https://www.i3s.unice.fr/~villata/tutorialIJCAI2016.html). _www.i3s.unice.fr_. Retrieved 2021-03-09.
  33. **^** ["NLP Approaches to Computational Argumentation – ACL 2016, Berlin"](http://acl2016tutorial.arg.tech/). Retrieved 2021-03-09.
  34. **^** Administration. ["Centre for Language Technology (CLT)"](https://www.mq.edu.au/research/research-centres-groups-and-facilities/innovative-technologies/centres/centre-for-language-technology-clt). _Macquarie University_. Retrieved 2021-01-11.
  35. **^** ["Shared Task: Grammatical Error Correction"](https://www.comp.nus.edu.sg/~nlp/conll13st.html). _www.comp.nus.edu.sg_. Retrieved 2021-01-11.
  36. **^** ["Shared Task: Grammatical Error Correction"](https://www.comp.nus.edu.sg/~nlp/conll14st.html). _www.comp.nus.edu.sg_. Retrieved 2021-01-11.
  37. **^** Duan, Yucong; Cruz, Christophe (2011). ["Formalizing Semantic of Natural Language through Conceptualization from Existence"](https://web.archive.org/web/20111009135952/http://www.ijimt.org/abstract/100-E00187.htm). _International Journal of Innovation, Management and Technology_. **2** (1): 37–42\. Archived from [the original](http://www.ijimt.org/abstract/100-E00187.htm) on 2011-10-09.
  38. **^** ["U B U W E B :: Racter"](http://www.ubu.com/historical/racter/index.html). _www.ubu.com_. Retrieved 2020-08-17.
  39. **^** Writer, Beta (2019). _Lithium-Ion Batteries_. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1007/978-3-030-16800-1](https://doi.org/10.1007%2F978-3-030-16800-1). [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-3-030-16799-8](/wiki/Special:BookSources/978-3-030-16799-8 "Special:BookSources/978-3-030-16799-8"). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [155818532](https://api.semanticscholar.org/CorpusID:155818532).
  40. **^** ["Document Understanding AI on Google Cloud (Cloud Next '19) – YouTube"](https://ghostarchive.org/varchive/youtube/20211030/7dtl650D0y0). _www.youtube.com_. 11 April 2019. Archived from [the original](https://www.youtube.com/watch?v=7dtl650D0y0) on 2021-10-30. Retrieved 2021-01-11.
  41. **^** Robertson, Adi (2022-04-06). ["OpenAI's DALL-E AI image generator can now edit pictures, too"](https://www.theverge.com/2022/4/6/23012123/openai-clip-dalle-2-ai-text-to-image-generator-testing). _The Verge_. Retrieved 2022-06-07.
  42. **^** ["The Stanford Natural Language Processing Group"](https://nlp.stanford.edu/projects/text2scene.shtml). _nlp.stanford.edu_. Retrieved 2022-06-07.
  43. **^** Coyne, Bob; Sproat, Richard (2001-08-01). ["WordsEye"](https://doi.org/10.1145/383259.383316). _Proceedings of the 28th annual conference on Computer graphics and interactive techniques_. SIGGRAPH '01. New York, NY, USA: Association for Computing Machinery. pp. 487–496\. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1145/383259.383316](https://doi.org/10.1145%2F383259.383316). [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-1-58113-374-5](/wiki/Special:BookSources/978-1-58113-374-5 "Special:BookSources/978-1-58113-374-5"). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [3842372](https://api.semanticscholar.org/CorpusID:3842372).
  44. **^** ["Google announces AI advances in text-to-video, language translation, more"](https://venturebeat.com/ai/google-announces-ai-advances-in-text-to-video-language-translation-more/). _VentureBeat_. 2022-11-02. Retrieved 2022-11-09.
  45. **^** Vincent, James (2022-09-29). ["Meta's new text-to-video AI generator is like DALL-E for video"](https://www.theverge.com/2022/9/29/23378210/meta-text-to-video-ai-generation-make-a-video-model-dall-e). _The Verge_. Retrieved 2022-11-09.
  46. **^** ["Previous shared tasks | CoNLL"](https://www.conll.org/previous-tasks). _www.conll.org_. Retrieved 2021-01-11.
  47. **^** ["Cognition"](https://web.archive.org/web/20200715113427/https://www.lexico.com/definition/cognition). _Lexico_. [Oxford University Press](/wiki/Oxford_University_Press "Oxford University Press") and [Dictionary.com](/wiki/Dictionary.com "Dictionary.com"). Archived from [the original](https://www.lexico.com/definition/cognition) on July 15, 2020. Retrieved 6 May 2020.
  48. **^** ["Ask the Cognitive Scientist"](http://www.aft.org/newspubs/periodicals/ae/summer2002/willingham.cfm). _American Federation of Teachers_. 8 August 2014. "Cognitive science is an interdisciplinary field of researchers from Linguistics, psychology, neuroscience, philosophy, computer science, and anthropology that seek to understand the mind."
  49. **^** Robinson, Peter (2008). _Handbook of Cognitive Linguistics and Second Language Acquisition_. Routledge. pp. 3–8\. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-805-85352-0](/wiki/Special:BookSources/978-0-805-85352-0 "Special:BookSources/978-0-805-85352-0").
  50. **^** Lakoff, George (1999). _Philosophy in the Flesh: The Embodied Mind and Its Challenge to Western Philosophy; Appendix: The Neural Theory of Language Paradigm_. New York Basic Books. pp. 569–583\. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-465-05674-3](/wiki/Special:BookSources/978-0-465-05674-3 "Special:BookSources/978-0-465-05674-3").
  51. **^** Strauss, Claudia (1999). _A Cognitive Theory of Cultural Meaning_. Cambridge University Press. pp. 156–164\. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-521-59541-4](/wiki/Special:BookSources/978-0-521-59541-4 "Special:BookSources/978-0-521-59541-4").
  52. **^** [US patent 9269353](https://worldwide.espacenet.com/textdoc?DB=EPODOC&IDX=US9269353)
  53. **^** ["Universal Conceptual Cognitive Annotation (UCCA)"](https://universalconceptualcognitiveannotation.github.io/). _Universal Conceptual Cognitive Annotation (UCCA)_. Retrieved 2021-01-11.
  54. **^** Rodríguez, F. C., & Mairal-Usón, R. (2016). [Building an RRG computational grammar](https://www.redalyc.org/pdf/1345/134549291020.pdf). _Onomazein_ , (34), 86–117.
  55. **^** ["Fluid Construction Grammar – A fully operational processing system for construction grammars"](https://www.fcg-net.org/). Retrieved 2021-01-11.
  56. **^** ["ACL Member Portal | The Association for Computational Linguistics Member Portal"](https://www.aclweb.org/portal/). _www.aclweb.org_. Retrieved 2021-01-11.
  57. **^** ["Chunks and Rules"](https://www.w3.org/Data/demos/chunks/chunks.html). _W3C_. Retrieved 2021-01-11.
  58. **^** Socher, Richard; Karpathy, Andrej; Le, Quoc V.; Manning, Christopher D.; Ng, Andrew Y. (2014). ["Grounded Compositional Semantics for Finding and Describing Images with Sentences"](https://doi.org/10.1162%2Ftacl_a_00177). _Transactions of the Association for Computational Linguistics_. **2** : 207–218\. [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1162/tacl_a_00177](https://doi.org/10.1162%2Ftacl_a_00177). [S2CID](/wiki/S2CID_\(identifier\) "S2CID \(identifier\)") [2317858](https://api.semanticscholar.org/CorpusID:2317858).
  59. **^** Dasgupta, Ishita; Lampinen, Andrew K.; Chan, Stephanie C. Y.; Creswell, Antonia; Kumaran, Dharshan; McClelland, James L.; Hill, Felix (2022). "Language models show human-like content effects on reasoning, Dasgupta, Lampinen et al". [arXiv](/wiki/ArXiv_\(identifier\) "ArXiv \(identifier\)"):[2207.07051](https://arxiv.org/abs/2207.07051) [[cs.CL](https://arxiv.org/archive/cs.CL)].
  60. **^** Friston, Karl J. (2022). _Active Inference: The Free Energy Principle in Mind, Brain, and Behavior; Chapter 4 The Generative Models of Active Inference_. The MIT Press. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-262-36997-8](/wiki/Special:BookSources/978-0-262-36997-8 "Special:BookSources/978-0-262-36997-8").



## Further reading

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=19 "Edit section: Further reading")]

  * Bates, M (1995). ["Models of natural language understanding"](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC40721). _Proceedings of the National Academy of Sciences of the United States of America_. **92** (22): 9977–9982\. [Bibcode](/wiki/Bibcode_\(identifier\) "Bibcode \(identifier\)"):[1995PNAS...92.9977B](https://ui.adsabs.harvard.edu/abs/1995PNAS...92.9977B). [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1073/pnas.92.22.9977](https://doi.org/10.1073%2Fpnas.92.22.9977). [PMC](/wiki/PMC_\(identifier\) "PMC \(identifier\)") [40721](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC40721). [PMID](/wiki/PMID_\(identifier\) "PMID \(identifier\)") [7479812](https://pubmed.ncbi.nlm.nih.gov/7479812).
  * Steven Bird, Ewan Klein, and Edward Loper (2009). _Natural Language Processing with Python_. O'Reilly Media. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-596-51649-9](/wiki/Special:BookSources/978-0-596-51649-9 "Special:BookSources/978-0-596-51649-9").
  * [Kenna Hughes-Castleberry](/w/index.php?title=Kenna_Hughes-Castleberry&action=edit&redlink=1 "Kenna Hughes-Castleberry \(page does not exist\)"), "A Murder Mystery Puzzle: The literary puzzle _[Cain's Jawbone](/wiki/Cain%27s_Jawbone "Cain's Jawbone")_ , which has stumped humans for decades, reveals the limitations of natural-language-processing algorithms", _[Scientific American](/wiki/Scientific_American "Scientific American")_ , vol. 329, no. 4 (November 2023), pp. 81–82. "This murder mystery competition has revealed that although NLP ([natural-language processing](/wiki/Natural-language_processing "Natural-language processing")) models are capable of incredible feats, their abilities are very much limited by the amount of [context](/wiki/Context_\(linguistics\) "Context \(linguistics\)") they receive. This [...] could cause [difficulties] for researchers who hope to use them to do things such as analyze [ancient languages](/wiki/Ancient_language "Ancient language"). In some cases, there are few historical records on long-gone [civilizations](/wiki/Civilization "Civilization") to serve as [training data](/wiki/Training_data "Training data") for such a purpose." (p. 82.)
  * Daniel Jurafsky and James H. Martin (2008). _Speech and Language Processing_ , 2nd edition. Pearson Prentice Hall. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-13-187321-6](/wiki/Special:BookSources/978-0-13-187321-6 "Special:BookSources/978-0-13-187321-6").
  * Mohamed Zakaria Kurdi (2016). _Natural Language Processing and Computational Linguistics: speech, morphology, and syntax_ , Volume 1. ISTE-Wiley. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-1848218482](/wiki/Special:BookSources/978-1848218482 "Special:BookSources/978-1848218482").
  * Mohamed Zakaria Kurdi (2017). _Natural Language Processing and Computational Linguistics: semantics, discourse, and applications_ , Volume 2. ISTE-Wiley. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-1848219212](/wiki/Special:BookSources/978-1848219212 "Special:BookSources/978-1848219212").
  * Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze (2008). _Introduction to Information Retrieval_. Cambridge University Press. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-521-86571-5](/wiki/Special:BookSources/978-0-521-86571-5 "Special:BookSources/978-0-521-86571-5"). [Official html and pdf versions available without charge.](http://nlp.stanford.edu/IR-book/)
  * Christopher D. Manning and Hinrich Schütze (1999). _Foundations of Statistical Natural Language Processing_. The MIT Press. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-262-13360-9](/wiki/Special:BookSources/978-0-262-13360-9 "Special:BookSources/978-0-262-13360-9").
  * David M. W. Powers and Christopher C. R. Turk (1989). _Machine Learning of Natural Language_. Springer-Verlag. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-387-19557-5](/wiki/Special:BookSources/978-0-387-19557-5 "Special:BookSources/978-0-387-19557-5").



## External links

[[edit](/w/index.php?title=Natural_language_processing&action=edit&section=20 "Edit section: External links")]

  * [![](//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png)](/wiki/File:Commons-logo.svg) Media related to [Natural language processing](https://commons.wikimedia.org/wiki/Category:Natural_language_processing "commons:Category:Natural language processing") at Wikimedia Commons



  * [v](/wiki/Template:Natural_language_processing "Template:Natural language processing")
  * [t](/wiki/Template_talk:Natural_language_processing "Template talk:Natural language processing")
  * [e](/wiki/Special:EditPage/Template:Natural_language_processing "Special:EditPage/Template:Natural language processing")

Natural language processing  
---  
General terms| 

  * [AI-complete](/wiki/AI-complete "AI-complete")
  * [Bag-of-words](/wiki/Bag-of-words_model "Bag-of-words model")
  * [n-gram](/wiki/N-gram "N-gram")
    * [Bigram](/wiki/Bigram "Bigram")
    * [Trigram](/wiki/Trigram "Trigram")
  * [Computational linguistics](/wiki/Computational_linguistics "Computational linguistics")
  * [Natural language understanding](/wiki/Natural_language_understanding "Natural language understanding")
  * [Stop words](/wiki/Stop_word "Stop word")
  * [Text processing](/wiki/Text_processing "Text processing")

  
[Text analysis](/wiki/Text_mining "Text mining")| 

  * [Argument mining](/wiki/Argument_mining "Argument mining")
  * [Collocation extraction](/wiki/Collocation_extraction "Collocation extraction")
  * [Concept mining](/wiki/Concept_mining "Concept mining")
  * [Coreference resolution](/wiki/Coreference#Coreference_resolution "Coreference")
  * [Deep linguistic processing](/wiki/Deep_linguistic_processing "Deep linguistic processing")
  * [Distant reading](/wiki/Distant_reading "Distant reading")
  * [Information extraction](/wiki/Information_extraction "Information extraction")
  * [Named-entity recognition](/wiki/Named-entity_recognition "Named-entity recognition")
  * [Ontology learning](/wiki/Ontology_learning "Ontology learning")
  * [Parsing](/wiki/Parsing "Parsing")
    * [Semantic parsing](/wiki/Semantic_parsing "Semantic parsing")
    * [Syntactic parsing](/wiki/Syntactic_parsing_\(computational_linguistics\) "Syntactic parsing \(computational linguistics\)")
  * [Part-of-speech tagging](/wiki/Part-of-speech_tagging "Part-of-speech tagging")
  * [Semantic analysis](/wiki/Semantic_analysis_\(machine_learning\) "Semantic analysis \(machine learning\)")
  * [Semantic role labeling](/wiki/Semantic_role_labeling "Semantic role labeling")
  * [Semantic decomposition](/wiki/Semantic_decomposition_\(natural_language_processing\) "Semantic decomposition \(natural language processing\)")
  * [Semantic similarity](/wiki/Semantic_similarity "Semantic similarity")
  * [Sentiment analysis](/wiki/Sentiment_analysis "Sentiment analysis")


  * [Terminology extraction](/wiki/Terminology_extraction "Terminology extraction")
  * [Text mining](/wiki/Text_mining "Text mining")
  * [Textual entailment](/wiki/Textual_entailment "Textual entailment")
  * [Truecasing](/wiki/Truecasing "Truecasing")
  * [Word-sense disambiguation](/wiki/Word-sense_disambiguation "Word-sense disambiguation")
  * [Word-sense induction](/wiki/Word-sense_induction "Word-sense induction")

| [Text segmentation](/wiki/Text_segmentation "Text segmentation")| 

  * [Compound-term processing](/wiki/Compound-term_processing "Compound-term processing")
  * [Lemmatisation](/wiki/Lemmatisation "Lemmatisation")
  * [Lexical analysis](/wiki/Lexical_analysis "Lexical analysis")
  * [Text chunking](/wiki/Shallow_parsing "Shallow parsing")
  * [Stemming](/wiki/Stemming "Stemming")
  * [Sentence segmentation](/wiki/Sentence_boundary_disambiguation "Sentence boundary disambiguation")
  * [Word segmentation](/wiki/Word#Word_boundaries "Word")

  
---|---  
  
[Automatic summarization](/wiki/Automatic_summarization "Automatic summarization")| 

  * [Multi-document summarization](/wiki/Multi-document_summarization "Multi-document summarization")
  * [Sentence extraction](/wiki/Sentence_extraction "Sentence extraction")
  * [Text simplification](/wiki/Text_simplification "Text simplification")

  
[Machine translation](/wiki/Machine_translation "Machine translation")| 

  * [Computer-assisted](/wiki/Computer-assisted_translation "Computer-assisted translation")
  * [Example-based](/wiki/Example-based_machine_translation "Example-based machine translation")
  * [Rule-based](/wiki/Rule-based_machine_translation "Rule-based machine translation")
  * [Statistical](/wiki/Statistical_machine_translation "Statistical machine translation")
  * [Transfer-based](/wiki/Transfer-based_machine_translation "Transfer-based machine translation")
  * [Neural](/wiki/Neural_machine_translation "Neural machine translation")

  
[Distributional semantics](/wiki/Distributional_semantics "Distributional semantics") models| 

  * [BERT](/wiki/BERT_\(language_model\) "BERT \(language model\)")
  * [Document-term matrix](/wiki/Document-term_matrix "Document-term matrix")
  * [Explicit semantic analysis](/wiki/Explicit_semantic_analysis "Explicit semantic analysis")
  * [fastText](/wiki/FastText "FastText")
  * [GloVe](/wiki/GloVe "GloVe")
  * [Language model](/wiki/Language_model "Language model") ([large](/wiki/Large_language_model "Large language model"))
  * [Latent semantic analysis](/wiki/Latent_semantic_analysis "Latent semantic analysis")
  * [Seq2seq](/wiki/Seq2seq "Seq2seq")
  * [Word embedding](/wiki/Word_embedding "Word embedding")
  * [Word2vec](/wiki/Word2vec "Word2vec")

  
[Language resources](/wiki/Language_resource "Language resource"),  
datasets and corpora| | Types and  
standards| 

  * [Corpus linguistics](/wiki/Corpus_linguistics "Corpus linguistics")
  * [Lexical resource](/wiki/Lexical_resource "Lexical resource")
  * [Linguistic Linked Open Data](/wiki/Linguistic_Linked_Open_Data "Linguistic Linked Open Data")
  * [Machine-readable dictionary](/wiki/Machine-readable_dictionary "Machine-readable dictionary")
  * [Parallel text](/wiki/Parallel_text "Parallel text")
  * [PropBank](/wiki/PropBank "PropBank")
  * [Semantic network](/wiki/Semantic_network "Semantic network")
  * [Simple Knowledge Organization System](/wiki/Simple_Knowledge_Organization_System "Simple Knowledge Organization System")
  * [Speech corpus](/wiki/Speech_corpus "Speech corpus")
  * [Text corpus](/wiki/Text_corpus "Text corpus")
  * [Thesaurus (information retrieval)](/wiki/Thesaurus_\(information_retrieval\) "Thesaurus \(information retrieval\)")
  * [Treebank](/wiki/Treebank "Treebank")
  * [Universal Dependencies](/wiki/Universal_Dependencies "Universal Dependencies")

  
---|---  
Data| 

  * [BabelNet](/wiki/BabelNet "BabelNet")
  * [Bank of English](/wiki/Bank_of_English "Bank of English")
  * [DBpedia](/wiki/DBpedia "DBpedia")
  * [FrameNet](/wiki/FrameNet "FrameNet")
  * [Google Ngram Viewer](/wiki/Google_Ngram_Viewer "Google Ngram Viewer")
  * [UBY](/wiki/UBY "UBY")
  * [WordNet](/wiki/WordNet "WordNet")
  * [Wikidata](/wiki/Wikidata "Wikidata")

  
  
[Automatic identification  
and data capture](/wiki/Automatic_identification_and_data_capture "Automatic identification and data capture")| 

  * [Speech recognition](/wiki/Speech_recognition "Speech recognition")
  * [Speech segmentation](/wiki/Speech_segmentation "Speech segmentation")
  * [Speech synthesis](/wiki/Speech_synthesis "Speech synthesis")
  * [Natural language generation](/wiki/Natural_language_generation "Natural language generation")
  * [Optical character recognition](/wiki/Optical_character_recognition "Optical character recognition")

  
[Topic model](/wiki/Topic_model "Topic model")| 

  * [Document classification](/wiki/Document_classification "Document classification")
  * [Latent Dirichlet allocation](/wiki/Latent_Dirichlet_allocation "Latent Dirichlet allocation")
  * [Pachinko allocation](/wiki/Pachinko_allocation "Pachinko allocation")

  
[Computer-assisted  
reviewing](/wiki/Computer-assisted_reviewing "Computer-assisted reviewing")| 

  * [Automated essay scoring](/wiki/Automated_essay_scoring "Automated essay scoring")
  * [Concordancer](/wiki/Concordancer "Concordancer")
  * [Grammar checker](/wiki/Grammar_checker "Grammar checker")
  * [Predictive text](/wiki/Predictive_text "Predictive text")
  * [Pronunciation assessment](/wiki/Pronunciation_assessment "Pronunciation assessment")
  * [Spell checker](/wiki/Spell_checker "Spell checker")

  
[Natural language  
user interface](/wiki/Natural-language_user_interface "Natural-language user interface")| 

  * [Chatbot](/wiki/Chatbot "Chatbot")
  * [Interactive fiction](/wiki/Interactive_fiction "Interactive fiction") (c.f. [Syntax guessing](/wiki/Syntax_guessing "Syntax guessing"))
  * [Question answering](/wiki/Question_answering "Question answering")
  * [Virtual assistant](/wiki/Virtual_assistant "Virtual assistant")
  * [Voice user interface](/wiki/Voice_user_interface "Voice user interface")

  
Related| 

  * [Formal semantics](/wiki/Formal_semantics_\(natural_language\) "Formal semantics \(natural language\)")
  * [Hallucination](/wiki/Hallucination_\(artificial_intelligence\) "Hallucination \(artificial intelligence\)")
  * [Natural Language Toolkit](/wiki/Natural_Language_Toolkit "Natural Language Toolkit")
  * [spaCy](/wiki/SpaCy "SpaCy")

  
  
[Portal](/wiki/Wikipedia:Contents/Portals "Wikipedia:Contents/Portals"):

  * [![icon](//upload.wikimedia.org/wikipedia/commons/thumb/d/de/Globe_of_letters.svg/19px-Globe_of_letters.svg.png)](/wiki/File:Globe_of_letters.svg) [Language](/wiki/Portal:Language "Portal:Language")



[Authority control databases](/wiki/Help:Authority_control "Help:Authority control"): National [![Edit this at Wikidata](//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)](https://www.wikidata.org/wiki/Q30642#identifiers "Edit this at Wikidata")| 

  * [United States](https://id.loc.gov/authorities/sh88002425)
  * [Japan](https://id.ndl.go.jp/auth/ndlna/00562347)
  * [Czech Republic](https://aleph.nkp.cz/F/?func=find-c&local_base=aut&ccl_term=ica=ph427562&CON_LNG=ENG)
  * [Israel](https://www.nli.org.il/en/authorities/987007536703305171)

  
---|---  
  
![](https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0)

Retrieved from "[https://en.wikipedia.org/w/index.php?title=Natural_language_processing&oldid=1277127281](https://en.wikipedia.org/w/index.php?title=Natural_language_processing&oldid=1277127281)"

[Categories](/wiki/Help:Category "Help:Category"): 

  * [Natural language processing](/wiki/Category:Natural_language_processing "Category:Natural language processing")
  * [Computational fields of study](/wiki/Category:Computational_fields_of_study "Category:Computational fields of study")
  * [Computational linguistics](/wiki/Category:Computational_linguistics "Category:Computational linguistics")
  * [Speech recognition](/wiki/Category:Speech_recognition "Category:Speech recognition")



Hidden categories: 

  * [All accuracy disputes](/wiki/Category:All_accuracy_disputes "Category:All accuracy disputes")
  * [Accuracy disputes from December 2013](/wiki/Category:Accuracy_disputes_from_December_2013 "Category:Accuracy disputes from December 2013")
  * [Harv and Sfn no-target errors](/wiki/Category:Harv_and_Sfn_no-target_errors "Category:Harv and Sfn no-target errors")
  * [CS1 errors: periodical ignored](/wiki/Category:CS1_errors:_periodical_ignored "Category:CS1 errors: periodical ignored")
  * [CS1 maint: location](/wiki/Category:CS1_maint:_location "Category:CS1 maint: location")
  * [Articles with short description](/wiki/Category:Articles_with_short_description "Category:Articles with short description")
  * [Short description is different from Wikidata](/wiki/Category:Short_description_is_different_from_Wikidata "Category:Short description is different from Wikidata")
  * [Articles needing additional references from May 2024](/wiki/Category:Articles_needing_additional_references_from_May_2024 "Category:Articles needing additional references from May 2024")
  * [All articles needing additional references](/wiki/Category:All_articles_needing_additional_references "Category:All articles needing additional references")
  * [All articles with unsourced statements](/wiki/Category:All_articles_with_unsourced_statements "Category:All articles with unsourced statements")
  * [Articles with unsourced statements from May 2024](/wiki/Category:Articles_with_unsourced_statements_from_May_2024 "Category:Articles with unsourced statements from May 2024")
  * [Commons category link from Wikidata](/wiki/Category:Commons_category_link_from_Wikidata "Category:Commons category link from Wikidata")



  * This page was last edited on 22 February 2025, at 20:46 (UTC).
  * Text is available under the [Creative Commons Attribution-ShareAlike 4.0 License](/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License "Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License"); additional terms may apply. By using this site, you agree to the [Terms of Use](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use "foundation:Special:MyLanguage/Policy:Terms of Use") and [Privacy Policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy "foundation:Special:MyLanguage/Policy:Privacy policy"). Wikipedia® is a registered trademark of the [Wikimedia Foundation, Inc.](https://wikimediafoundation.org/), a non-profit organization.


  * [Privacy policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy)
  * [About Wikipedia](/wiki/Wikipedia:About)
  * [Disclaimers](/wiki/Wikipedia:General_disclaimer)
  * [Contact Wikipedia](//en.wikipedia.org/wiki/Wikipedia:Contact_us)
  * [Code of Conduct](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct)
  * [Developers](https://developer.wikimedia.org)
  * [Statistics](https://stats.wikimedia.org/#/en.wikipedia.org)
  * [Cookie statement](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement)
  * [Mobile view](//en.m.wikipedia.org/w/index.php?title=Natural_language_processing&mobileaction=toggle_view_mobile)


  * [![Wikimedia Foundation](/static/images/footer/wikimedia.svg)](https://wikimediafoundation.org/)
  * [![Powered by MediaWiki](/w/resources/assets/mediawiki_compact.svg)](https://www.mediawiki.org/)



Search

Search

Toggle the table of contents

Natural language processing

69 languages Add topic



  *[v]: View this template
  *[t]: Discuss this template
  *[e]: Edit this template


url: https://en.wikipedia.org/wiki/SQLite
title: SQLite - Wikipedia
scrape_date: 2025-02-27T17:39:21.947755
content_type: markdown
hash: 4ce8e58402185aa00f0ffb902efda0214e51136b3e78f6952416050619a667e6
content:
Jump to content

Main menu

Main menu

move to sidebar hide

Navigation 

  * [Main page](/wiki/Main_Page "Visit the main page \[z\]")
  * [Contents](/wiki/Wikipedia:Contents "Guides to browsing Wikipedia")
  * [Current events](/wiki/Portal:Current_events "Articles related to current events")
  * [Random article](/wiki/Special:Random "Visit a randomly selected article \[x\]")
  * [About Wikipedia](/wiki/Wikipedia:About "Learn about Wikipedia and how it works")
  * [Contact us](//en.wikipedia.org/wiki/Wikipedia:Contact_us "How to contact Wikipedia")



Contribute 

  * [Help](/wiki/Help:Contents "Guidance on how to use and edit Wikipedia")
  * [Learn to edit](/wiki/Help:Introduction "Learn how to edit Wikipedia")
  * [Community portal](/wiki/Wikipedia:Community_portal "The hub for editors")
  * [Recent changes](/wiki/Special:RecentChanges "A list of recent changes to Wikipedia \[r\]")
  * [Upload file](/wiki/Wikipedia:File_upload_wizard "Add images or other media for use on Wikipedia")
  * [Special pages](/wiki/Special:SpecialPages)



[ ![](/static/images/icons/wikipedia.png) ![Wikipedia](/static/images/mobile/copyright/wikipedia-wordmark-en.svg) ![The Free Encyclopedia](/static/images/mobile/copyright/wikipedia-tagline-en.svg) ](/wiki/Main_Page)

[ Search ](/wiki/Special:Search "Search Wikipedia \[f\]")

Search







Appearance




  * [Donate](https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en)
  * [Create account](/w/index.php?title=Special:CreateAccount&returnto=SQLite "You are encouraged to create an account and log in; however, it is not mandatory")
  * [Log in](/w/index.php?title=Special:UserLogin&returnto=SQLite "You're encouraged to log in; however, it's not mandatory. \[o\]")



Personal tools

  * [Donate](https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en)
  * [ Create account](/w/index.php?title=Special:CreateAccount&returnto=SQLite "You are encouraged to create an account and log in; however, it is not mandatory")
  * [ Log in](/w/index.php?title=Special:UserLogin&returnto=SQLite "You're encouraged to log in; however, it's not mandatory. \[o\]")



Pages for logged out editors [learn more](/wiki/Help:Introduction)

  * [Contributions](/wiki/Special:MyContributions "A list of edits made from this IP address \[y\]")
  * [Talk](/wiki/Special:MyTalk "Discussion about edits from this IP address \[n\]")



## Contents

move to sidebar hide

  * (Top)
  * 1 History
  * 2 Design
  * 3 Features
  * 4 Development and distribution
  * 5 Notable uses Toggle Notable uses subsection
    * 5.1 Operating systems
    * 5.2 Middleware
    * 5.3 Web browsers
    * 5.4 Web application frameworks
    * 5.5 Others
  * 6 See also
  * 7 References Toggle References subsection
    * 7.1 Citations
    * 7.2 Sources
  * 8 External links



Toggle the table of contents

# SQLite

35 languages

  * [العربية](https://ar.wikipedia.org/wiki/%D8%A5%D8%B3_%D9%83%D9%8A%D9%88_%D9%84%D8%A7%D9%8A%D8%AA "إس كيو لايت – Arabic")
  * [閩南語 / Bân-lâm-gú](https://zh-min-nan.wikipedia.org/wiki/SQLite "SQLite – Minnan")
  * [Беларуская](https://be.wikipedia.org/wiki/SQLite "SQLite – Belarusian")
  * [Български](https://bg.wikipedia.org/wiki/SQLite "SQLite – Bulgarian")
  * [Català](https://ca.wikipedia.org/wiki/SQLite "SQLite – Catalan")
  * [Čeština](https://cs.wikipedia.org/wiki/SQLite "SQLite – Czech")
  * [Deutsch](https://de.wikipedia.org/wiki/SQLite "SQLite – German")
  * [Ελληνικά](https://el.wikipedia.org/wiki/SQLite "SQLite – Greek")
  * [Español](https://es.wikipedia.org/wiki/SQLite "SQLite – Spanish")
  * [فارسی](https://fa.wikipedia.org/wiki/%D8%A7%D8%B3%E2%80%8C%DA%A9%DB%8C%D9%88%D8%A7%D9%84_%D9%84%D8%A7%DB%8C%D8%AA "اس‌کیوال لایت – Persian")
  * [Français](https://fr.wikipedia.org/wiki/SQLite "SQLite – French")
  * [한국어](https://ko.wikipedia.org/wiki/SQLite "SQLite – Korean")
  * [हिन्दी](https://hi.wikipedia.org/wiki/%E0%A4%8F%E0%A4%B8%E0%A4%95%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%B2%E0%A4%BE%E0%A4%87%E0%A4%9F "एसक्यूलाइट – Hindi")
  * [Hrvatski](https://hr.wikipedia.org/wiki/SQLite "SQLite – Croatian")
  * [Bahasa Indonesia](https://id.wikipedia.org/wiki/SQLite "SQLite – Indonesian")
  * [Italiano](https://it.wikipedia.org/wiki/SQLite "SQLite – Italian")
  * [עברית](https://he.wikipedia.org/wiki/SQLite "SQLite – Hebrew")
  * [Latviešu](https://lv.wikipedia.org/wiki/SQLite "SQLite – Latvian")
  * [Lietuvių](https://lt.wikipedia.org/wiki/SQLite "SQLite – Lithuanian")
  * [Magyar](https://hu.wikipedia.org/wiki/SQLite "SQLite – Hungarian")
  * [မြန်မာဘာသာ](https://my.wikipedia.org/wiki/SQLite "SQLite – Burmese")
  * [Nederlands](https://nl.wikipedia.org/wiki/SQLite "SQLite – Dutch")
  * [日本語](https://ja.wikipedia.org/wiki/SQLite "SQLite – Japanese")
  * [Norsk bokmål](https://no.wikipedia.org/wiki/SQLite "SQLite – Norwegian Bokmål")
  * [Polski](https://pl.wikipedia.org/wiki/SQLite "SQLite – Polish")
  * [Português](https://pt.wikipedia.org/wiki/SQLite "SQLite – Portuguese")
  * [Română](https://ro.wikipedia.org/wiki/SQLite "SQLite – Romanian")
  * [Русский](https://ru.wikipedia.org/wiki/SQLite "SQLite – Russian")
  * [Српски / srpski](https://sr.wikipedia.org/wiki/SQLite "SQLite – Serbian")
  * [Suomi](https://fi.wikipedia.org/wiki/SQLite "SQLite – Finnish")
  * [Svenska](https://sv.wikipedia.org/wiki/SQLite "SQLite – Swedish")
  * [Türkçe](https://tr.wikipedia.org/wiki/SQLite "SQLite – Turkish")
  * [Українська](https://uk.wikipedia.org/wiki/SQLite "SQLite – Ukrainian")
  * [Tiếng Việt](https://vi.wikipedia.org/wiki/SQLite "SQLite – Vietnamese")
  * [中文](https://zh.wikipedia.org/wiki/SQLite "SQLite – Chinese")



[Edit links](https://www.wikidata.org/wiki/Special:EntityPage/Q319417#sitelinks-wikipedia "Edit interlanguage links")

  * [Article](/wiki/SQLite "View the content page \[c\]")
  * [Talk](/wiki/Talk:SQLite "Discuss improvements to the content page \[t\]")



English




  * [Read](/wiki/SQLite)
  * [Edit](/w/index.php?title=SQLite&action=edit "Edit this page \[e\]")
  * [View history](/w/index.php?title=SQLite&action=history "Past revisions of this page \[h\]")



Tools

Tools

move to sidebar hide

Actions 

  * [Read](/wiki/SQLite)
  * [Edit](/w/index.php?title=SQLite&action=edit "Edit this page \[e\]")
  * [View history](/w/index.php?title=SQLite&action=history)



General 

  * [What links here](/wiki/Special:WhatLinksHere/SQLite "List of all English Wikipedia pages containing links to this page \[j\]")
  * [Related changes](/wiki/Special:RecentChangesLinked/SQLite "Recent changes in pages linked from this page \[k\]")
  * [Upload file](//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard "Upload files \[u\]")
  * [Permanent link](/w/index.php?title=SQLite&oldid=1277140213 "Permanent link to this revision of this page")
  * [Page information](/w/index.php?title=SQLite&action=info "More information about this page")
  * [Cite this page](/w/index.php?title=Special:CiteThisPage&page=SQLite&id=1277140213&wpFormIdentifier=titleform "Information on how to cite this page")
  * [Get shortened URL](/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSQLite)
  * [Download QR code](/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSQLite)



Print/export 

  * [Download as PDF](/w/index.php?title=Special:DownloadAsPdf&page=SQLite&action=show-download-screen "Download this page as a PDF file")
  * [Printable version](/w/index.php?title=SQLite&printable=yes "Printable version of this page \[p\]")



In other projects 

  * [Wikimedia Commons](https://commons.wikimedia.org/wiki/Category:SQLite)
  * [MediaWiki](https://www.mediawiki.org/wiki/Manual:SQLite)
  * [Wikibooks](https://en.wikibooks.org/wiki/SQLite)
  * [Wikidata item](https://www.wikidata.org/wiki/Special:EntityPage/Q319417 "Structured data on this page hosted by Wikidata \[g\]")



Appearance

move to sidebar hide

From Wikipedia, the free encyclopedia

Serverless relational database management system

SQLite[![](//upload.wikimedia.org/wikipedia/commons/thumb/3/38/SQLite370.svg/220px-SQLite370.svg.png)](/wiki/File:SQLite370.svg)  
---  
[![](//upload.wikimedia.org/wikipedia/commons/thumb/6/69/SQLite3.png/220px-SQLite3.png)](/wiki/File:SQLite3.png)Screenshot of `sqlite3` command-line shell program  
[Developer(s)](/wiki/Programmer "Programmer")| [D. Richard Hipp](/wiki/D._Richard_Hipp "D. Richard Hipp")  
Initial release| 17 August 2000;  
24 years ago (2000-08-17)  
[Stable release](/wiki/Software_release_life_cycle "Software release life cycle")| 3.49.1[1] [![Edit this on Wikidata](//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)](https://www.wikidata.org/wiki/Q319417?uselang=en#P348 "Edit this on Wikidata") (18 February 2025; 9 days ago (18 February 2025)) [[±]](https://en.wikipedia.org/w/index.php?title=Template:Latest_stable_software_release/SQLite&action=edit)  
[Repository](/wiki/Repository_\(version_control\) "Repository \(version control\)")| 

  * [sqlite.org./docsrc](https://sqlite.org./docsrc) [![Edit this at Wikidata](//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)](https://www.wikidata.org/wiki/Q319417#P1324 "Edit this at Wikidata")

  
Written in| [C](/wiki/C_\(programming_language\) "C \(programming language\)")  
[Operating system](/wiki/Operating_system "Operating system")| [Cross-platform](/wiki/Cross-platform "Cross-platform")  
[Size](/wiki/File_size "File size")| 699 [KiB](/wiki/Kibibyte "Kibibyte")  
[Type](/wiki/Software_categories#Categorization_approaches "Software categories")| [RDBMS](/wiki/Relational_database_management_system "Relational database management system") ([embedded](/wiki/Embedded_database "Embedded database"))  
[License](/wiki/Software_license "Software license")| [Public domain](/wiki/Public_domain "Public domain")[2]  
Website| [sqlite.org](https://sqlite.org) [![Edit this at Wikidata](//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)](https://www.wikidata.org/wiki/Q319417#P856 "Edit this at Wikidata")  
SQLite Database File Format[Filename extension](/wiki/Filename_extension "Filename extension")|  .sqlite, .sqlite3, .db, .db3, .s3db, .sl3  
---|---  
[Internet media type](/wiki/Media_type "Media type")| `application/vnd.sqlite3`[3]  
[Magic number](/wiki/File_format#Magic_number "File format")| `53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00` (zero-terminated [ASCII](/wiki/ASCII "ASCII") "SQLite format 3")  
Initial release| 2004-06-18  
[Open format](/wiki/Open_file_format "Open file format")?| yes ([Public Domain](/wiki/Public_Domain "Public Domain"))  
Website| [sqlite.org/fileformat.html](https://sqlite.org/fileformat.html)  
  
**SQLite** ([/ˌɛsˌkjuːˌɛlˈaɪt/](/wiki/Help:IPA/English "Help:IPA/English"),[4][5] [/ˈsiːkwəˌlaɪt/](/wiki/Help:IPA/English "Help:IPA/English")[6]) is a [free and open-source](/wiki/Free_and_open-source_software "Free and open-source software") [relational](/wiki/Relational_database "Relational database") [database engine](/wiki/Database_engine "Database engine") written in the [C programming language](/wiki/C_Language "C Language"). It is not a standalone app; rather, it is a [library](/wiki/Library_\(computing\) "Library \(computing\)") that [software developers](/wiki/Programmer "Programmer") embed in their [apps](/wiki/Application_software "Application software"). As such, it belongs to the family of [embedded databases](/wiki/Embedded_database "Embedded database"). It is the most widely deployed database engine, as it is used by several of the top [web browsers](/wiki/Web_browser "Web browser"), [operating systems](/wiki/Operating_system "Operating system"), [mobile phones](/wiki/Mobile_phone "Mobile phone"), and other [embedded systems](/wiki/Embedded_system "Embedded system").[7]

Many [programming languages](/wiki/Programming_language "Programming language") have [bindings](/wiki/Language_binding "Language binding") to the SQLite library. It generally follows [PostgreSQL](/wiki/PostgreSQL "PostgreSQL") syntax, but does not enforce [type checking](/wiki/Type_checking "Type checking") by default.[8][9] This means that one can, for example, insert a string into a [column](/wiki/Column_\(database\) "Column \(database\)") defined as an integer. Although it is a lightweight embedded database, SQLite implements most of the [SQL](/wiki/SQL "SQL") standard and the [relational model](/wiki/Relational_model "Relational model"), including [transactions](/wiki/Transaction_processing "Transaction processing") and [ACID](/wiki/ACID "ACID") guarantees.[10] However, it omits many features implemented by other databases, such as [materialized views](/wiki/Materialized_view "Materialized view") and complete support for [triggers](/wiki/Database_trigger "Database trigger") and [ALTER TABLE statements](/wiki/SQL_syntax "SQL syntax").[11]

## History

[[edit](/w/index.php?title=SQLite&action=edit&section=1 "Edit section: History")]

[D. Richard Hipp](/wiki/D._Richard_Hipp "D. Richard Hipp") designed SQLite in the spring of 2000 while working for [General Dynamics](/wiki/General_Dynamics "General Dynamics") on contract with the [United States Navy](/wiki/United_States_Navy "United States Navy").[12] Hipp was designing software used for a [damage-control](/wiki/Damage_control_\(maritime\) "Damage control \(maritime\)") system aboard [guided-missile destroyers](/wiki/Guided-missile_destroyer "Guided-missile destroyer"); the damage-control system originally used [HP-UX](/wiki/HP-UX "HP-UX") with an [Informix](/wiki/IBM_Informix "IBM Informix") [database](/wiki/Database "Database") back-end. SQLite began as a [Tcl](/wiki/Tcl "Tcl") extension.[13]

In August 2000, version 1.0 of SQLite was released, with storage based on [gdbm](/wiki/Gdbm "Gdbm") (GNU Database Manager). In September 2001, SQLite 2.0 replaced gdbm with a custom [B-tree](/wiki/B-tree "B-tree") implementation, adding [transaction](/wiki/Database_transaction "Database transaction") capability. In June 2004, SQLite 3.0 added [internationalization](/wiki/Internationalization_and_localization "Internationalization and localization"), [manifest typing](/wiki/Manifest_typing "Manifest typing"), and other major improvements, partially funded by [America Online](/wiki/America_Online "America Online"). In 2011, Hipp announced his plans to add a [NoSQL](/wiki/NoSQL "NoSQL") interface to SQLite, as well as announcing UnQL, a functional superset of [SQL](/wiki/SQL "SQL") designed for [document-oriented databases](/wiki/Document-oriented_databases "Document-oriented databases").[14]

In 2018, SQLite adopted a [Code of Conduct](/wiki/Code_of_conduct "Code of conduct") because some clients would not use the software without one.[15] It was based on the [Rule of Saint Benedict](/wiki/Rule_of_Saint_Benedict "Rule of Saint Benedict") and was controversial for its religious nature. The document was later renamed as a Code of Ethics.[16]

SQLite is one of four formats recommended for long-term storage of [datasets](/wiki/Data_set "Data set") approved for use by the [Library of Congress](/wiki/Library_of_Congress "Library of Congress").[17][18][19]

## Design

[[edit](/w/index.php?title=SQLite&action=edit&section=2 "Edit section: Design")]

SQLite was designed to allow the program to be operated without installing a database management system or requiring a [database administrator](/wiki/Database_administrator "Database administrator"). Unlike [client–server](/wiki/Client%E2%80%93server_model "Client–server model") database management systems, the SQLite engine has no standalone [processes](/wiki/Process_\(computing\) "Process \(computing\)") with which the application program communicates. Instead, a [linker](/wiki/Linker_\(computing\) "Linker \(computing\)") integrates the SQLite library—[statically](/wiki/Static_library "Static library") or [dynamically](/wiki/Dynamic_linker "Dynamic linker")—into an application program which uses SQLite's functionality through simple [function calls](/wiki/Subroutine "Subroutine"), reducing [latency](/wiki/Latency_\(engineering\) "Latency \(engineering\)") in database operations; for simple queries with little concurrency, SQLite [performance](/wiki/Computer_performance "Computer performance") profits from avoiding the overhead of [inter-process communication](/wiki/Inter-process_communication "Inter-process communication"). 

Due to the serverless design, SQLite applications require less configuration than client–server databases. SQLite is called _zero-configuration_[20] because configuration tasks such as service management, startup scripts, and password- or [GRANT](/wiki/Data_control_language "Data control language")-based access control are unnecessary. [Access control](/wiki/Access-control_list "Access-control list") is handled through the [file-system permissions](/wiki/File-system_permissions "File-system permissions") of the database file.[21] Databases in client–server systems use [file-system](/wiki/File_system "File system") permissions that give access to the database files only to the [daemon](/wiki/Daemon_\(computing\) "Daemon \(computing\)") process, which handles its locks internally, allowing [concurrent](/wiki/Concurrency_\(computer_science\) "Concurrency \(computer science\)") writes from several processes. 

SQLite stores the entire database, consisting of definitions, [tables](/wiki/Table_\(database\) "Table \(database\)"), indices, and data, as a single [cross-platform](/wiki/Cross-platform_software "Cross-platform software") file, allowing several processes or [threads](/wiki/Thread_\(computer_science\) "Thread \(computer science\)") to access the same database concurrently. It implements this simple design by [locking](/wiki/Lock_\(computer_science\) "Lock \(computer science\)") the database file during writing.[21] Write access may fail with an [error code](/wiki/Error_code "Error code"), or it can be retried until a configurable timeout expires. SQLite read operations can be [multitasked](/wiki/Computer_multitasking "Computer multitasking"), though due to the serverless design, writes can only be performed sequentially. This concurrent access restriction does not apply to temporary tables, and it is relaxed in version 3.7 as [write-ahead logging](/wiki/Write-ahead_logging "Write-ahead logging") (WAL) enables concurrent reads and writes.[22] Since SQLite has to rely on file-system locks, it is not the preferred choice for write-intensive deployments.[23]

SQLite uses [PostgreSQL](/wiki/PostgreSQL "PostgreSQL") as a reference platform. "What would PostgreSQL do" is used to make sense of the SQL standard.[24][25] One major deviation is that, with the exception of [primary keys](/wiki/Primary_key "Primary key"), SQLite does not enforce [type checking](/wiki/Type_checking "Type checking"); the type of a value is dynamic and not strictly constrained by the [schema](/wiki/Database_schema "Database schema") (although the schema will trigger a conversion when storing, if such a conversion is potentially reversible). SQLite strives to follow [Postel's rule](/wiki/Robustness_principle "Robustness principle").[26]

## Features

[[edit](/w/index.php?title=SQLite&action=edit&section=3 "Edit section: Features")]

SQLite implements most of the [SQL-92](/wiki/SQL-92 "SQL-92") standard for SQL, but lacks some features. For example, it only partially provides [triggers](/wiki/Database_trigger "Database trigger") and cannot write to [views](/wiki/View_\(database\) "View \(database\)") (however, it provides INSTEAD OF triggers that provide this functionality). Its support of [ALTER TABLE](/wiki/Data_definition_language#ALTER_statement "Data definition language") statements is limited.[27]

SQLite uses an unusual [type system](/wiki/Type_system "Type system") for an SQL-compatible DBMS: instead of assigning a [type](/wiki/SQL_data_types "SQL data types") to a column as in most SQL database systems, types are assigned to individual values; in language terms it is _dynamically typed_. Moreover, it is _weakly typed_ in some of the same ways that [Perl](/wiki/Perl "Perl") is: one can insert a [string](/wiki/String_\(computer_science\) "String \(computer science\)") into an [integer](/wiki/Integer_\(computer_science\) "Integer \(computer science\)") column (although SQLite will try to convert the string to an integer first, if the column's preferred type is integer). This adds flexibility to columns, especially when bound to a dynamically typed scripting language. However, the technique is not portable to other SQL products. A common criticism is that SQLite's type system lacks the [data integrity](/wiki/Data_integrity "Data integrity") mechanism provided by statically typed columns, although it can be emulated with constraints like `CHECK(typeof(x)='integer')`.[12] In 2021, support for static typing was added through STRICT tables, which enforce datatype constraints for columns.[28]

Tables normally include a hidden _rowid_ index column, which provides faster access.[29] If a table includes an INTEGER PRIMARY KEY column, SQLite will typically optimize it by treating it as an alias for the _rowid_ , causing the contents to be stored as a [strictly typed](/wiki/Strictly_typed "Strictly typed") 64-bit signed integer and changing its behavior to be somewhat like an auto-incrementing column. SQLite includes an option to create a table without a rowid column, which can save disk space and improve lookup speed. WITHOUT ROWID tables are required to have a primary key.[30]

SQLite supports foreign key constraints,[31][32] although they are disabled by default and must be manually enabled with a PRAGMA statement.[33]

[Stored procedures](/wiki/Stored_procedure "Stored procedure") are not supported; this is an explicit choice by the developers to favor simplicity, as the typical use case of SQLite is to be embedded inside a host application that can define its own procedures around the database.[34]

SQLite does not have full [Unicode](/wiki/Unicode "Unicode") support by default for backwards compatibility and due to the size of the Unicode tables, which are larger than the SQLite library.[35] Full support for [Unicode](/wiki/Unicode "Unicode") case-conversions can be enabled through an optional extension.[36]

SQLite supports [full-text search](/wiki/Full-text_search "Full-text search") through its FTS5 loadable extension, which allows users to efficiently search for a keyword in a large number of documents similar to how [search engines](/wiki/Search_engine "Search engine") search webpages.[37]

SQLite includes support for working with [JSON](/wiki/JSON "JSON") through its _json1_ extension, which is enabled by default since 2021. SQLite's JSON functions can handle JSON5 syntax since 2023. In 2024, SQLite added support for JSONB, a binary serialization of SQLite's internal representation of JSON. Using JSONB allows applications to avoid having to parse the JSON text each time it is processed and saves a small amount of disk space.[38]

The maximum supported size for an SQLite database file is 281 terabytes.[39]

## Development and distribution

[[edit](/w/index.php?title=SQLite&action=edit&section=4 "Edit section: Development and distribution")]

SQLite's code is hosted with [Fossil](/wiki/Fossil_\(software\) "Fossil \(software\)"), a [distributed version control system](/wiki/Distributed_version_control_system "Distributed version control system") that uses SQLite as a local cache for its non-relational database format, and SQLite's SQL as an implementation language.[40][41]

SQLite is [public domain](/wiki/Public-domain_software "Public-domain software"), but not "open-contribution", with the website stating "the project does not accept patches from people who have not submitted an [affidavit](/wiki/Affidavit "Affidavit") dedicating their contribution into the public domain."[42] Instead of a [code of conduct](/wiki/Code_of_conduct "Code of conduct"), the founders have adopted a [code of ethics](/wiki/Ethical_code "Ethical code") based on the [Rule of St. Benedict](/wiki/Rule_of_Saint_Benedict "Rule of Saint Benedict").[43]

A standalone [command-line](/wiki/Console_application "Console application") [shell](/wiki/Shell_\(computing\) "Shell \(computing\)") program called _sqlite3_[44] is provided in SQLite's distribution. It can be used to create a database, define tables, insert and change rows, run queries and manage an SQLite database file. It also serves as an example for writing applications that use the SQLite library. 

SQLite uses automated [regression testing](/wiki/Regression_testing "Regression testing") prior to each release. Over 2 million tests are run as part of a release's verification. The SQLite library has 156,000 lines of source code, while all the test suites combined add up to 92 million lines of test code. SQLite's tests simulate a number of exceptional scenarios, such as power loss and I/O errors, in addition to testing the library's functionality. Starting with the August 10, 2009 release of SQLite 3.6.17, SQLite releases have 100% branch test coverage, one of the components of [code coverage](/wiki/Code_coverage "Code coverage"). SQLite has four different [test harnesses](/wiki/Test_harness "Test harness"): the original public-domain TCL tests, the proprietary C-language TH3 test suite, the SQL Logic Tests, which check SQLite against other SQL databases, and the dbsqlfuzz proprietary [fuzzing](/wiki/Fuzzing "Fuzzing") engine.[45]

## Notable uses

[[edit](/w/index.php?title=SQLite&action=edit&section=5 "Edit section: Notable uses")]

### Operating systems

[[edit](/w/index.php?title=SQLite&action=edit&section=6 "Edit section: Operating systems")]

SQLite is included by default in:[13]

  * [Android](/wiki/Android_\(operating_system\) "Android \(operating system\)")
  * [BlackBerry 10](/wiki/BlackBerry_10 "BlackBerry 10") OS
  * [Fedora Linux](/wiki/Fedora_Linux "Fedora Linux") where it is used by the [rpm](/wiki/RPM_Package_Manager "RPM Package Manager") core package management system
  * [FreeBSD](/wiki/FreeBSD "FreeBSD") where starting with 10-RELEASE version in January 2014, it is used by the core package management system.
  * [illumos](/wiki/Illumos "Illumos")
  * [iOS](/wiki/IOS "IOS")
  * [Mac OS X 10.4](/wiki/Mac_OS_X_10.4 "Mac OS X 10.4") onwards (Apple adopted it as an option in [macOS](/wiki/MacOS "MacOS")'s [Core Data](/wiki/Core_Data "Core Data") API from the original implementation)
  * [Maemo](/wiki/Maemo "Maemo")
  * [MeeGo](/wiki/MeeGo "MeeGo")
  * [MorphOS](/wiki/MorphOS "MorphOS") 3.10 onwards
  * [NetBSD](/wiki/NetBSD "NetBSD")
  * [NixOS](/wiki/NixOS "NixOS") where it is used by the [Nix](/wiki/Nix_\(package_manager\) "Nix \(package manager\)") core package management system
  * [Red Hat Enterprise Linux](/wiki/Red_Hat_Enterprise_Linux "Red Hat Enterprise Linux") where it is used in the same way as Fedora, from which Red Hat Enterprise Linux is derived
  * [Solaris 10](/wiki/Solaris_10 "Solaris 10") where the [Service Management Facility](/wiki/Service_Management_Facility "Service Management Facility") database is serialized for booting.
  * [Symbian OS](/wiki/Symbian_OS "Symbian OS")
  * [Tizen](/wiki/Tizen "Tizen")
  * [webOS](/wiki/WebOS "WebOS")
  * [Windows 10](/wiki/Windows_10 "Windows 10") onwards[46]



### Middleware

[[edit](/w/index.php?title=SQLite&action=edit&section=7 "Edit section: Middleware")]

  * [ADO.NET](/wiki/ADO.NET "ADO.NET") adapter, initially developed by Robert Simpson, is maintained jointly with the SQLite developers since April 2010.[47]
  * [ODBC](/wiki/ODBC "ODBC") driver has been developed and is maintained separately by Christian Werner.[48] Werner's ODBC driver is the recommended connection method for accessing SQLite from [OpenOffice.org](/wiki/OpenOffice.org "OpenOffice.org").[49]
  * [COM](/wiki/Component_Object_Model "Component Object Model") ([ActiveX](/wiki/ActiveX "ActiveX")) wrapper making SQLite accessible on Windows to scripted languages such as [JScript](/wiki/JScript "JScript") and [VBScript](/wiki/VBScript "VBScript"). This adds SQLite database capabilities to [HTML Applications](/wiki/HTML_Application "HTML Application") (HTA).[50]



### Web browsers

[[edit](/w/index.php?title=SQLite&action=edit&section=8 "Edit section: Web browsers")]

  * The browsers [Google Chrome](/wiki/Google_Chrome "Google Chrome"), [Opera](/wiki/Opera_\(web_browser\) "Opera \(web browser\)"), [Safari](/wiki/Safari_\(web_browser\) "Safari \(web browser\)") and the [Android Browser](/wiki/Android_Browser "Android Browser") all allow for storing information in, and retrieving it from, an SQLite database within the browser, using the official SQLite Wasm ([WebAssembly](/wiki/WebAssembly "WebAssembly")) build,[51] or using the [Web SQL Database](/wiki/Web_SQL_Database "Web SQL Database") technology, although the latter is becoming deprecated (namely superseded by SQLite Wasm or by [IndexedDB](/wiki/IndexedDB "IndexedDB")). Internally, these [Chromium](/wiki/Chromium_\(web_browser\) "Chromium \(web browser\)") based browsers use SQLite databases for storing configuration data like site visit history, cookies, download history etc.[52]
  * [Mozilla Firefox](/wiki/Mozilla_Firefox "Mozilla Firefox") and [Mozilla Thunderbird](/wiki/Mozilla_Thunderbird "Mozilla Thunderbird") store a variety of configuration data (bookmarks, cookies, contacts etc.) in internally managed SQLite databases. Until Firefox version 57 (["Firefox Quantum"](/wiki/History_of_Firefox#Firefox_57 "History of Firefox")), there was a third-party add-on that used the API supporting this functionality to provide a user interface for managing arbitrary SQLite databases.[53]
  * Several third-party add-ons can make use of [JavaScript](/wiki/JavaScript "JavaScript") APIs to manage SQLite databases.[54][55]



### Web application frameworks

[[edit](/w/index.php?title=SQLite&action=edit&section=9 "Edit section: Web application frameworks")]

  * [Symfony](/wiki/Symfony "Symfony")
  * [Laravel](/wiki/Laravel "Laravel")
  * [Bugzilla](/wiki/Bugzilla "Bugzilla")
  * [Django](/wiki/Django_\(web_framework\) "Django \(web framework\)")'s default database management system
  * [Drupal](/wiki/Drupal "Drupal")
  * [Trac](/wiki/Trac "Trac")
  * [Ruby on Rails](/wiki/Ruby_on_Rails "Ruby on Rails")'s default database management system
  * [web2py](/wiki/Web2py "Web2py")
  * [Jam.py](/wiki/Jam.py_\(web_framework\) "Jam.py \(web framework\)")



### Others

[[edit](/w/index.php?title=SQLite&action=edit&section=10 "Edit section: Others")]

  * [Adobe Systems](/wiki/Adobe_Systems "Adobe Systems") uses SQLite as its file format in [Adobe Lightroom](/wiki/Adobe_Lightroom "Adobe Lightroom"), a standard database in [Adobe AIR](/wiki/Adobe_AIR "Adobe AIR"), and internally within [Adobe Reader](/wiki/Adobe_Reader "Adobe Reader").[13]
  * [Apple Photos](/wiki/Photos_\(Apple\) "Photos \(Apple\)") uses SQLite internally.[56]
  * [Audacity](/wiki/Audacity_\(audio_editor\) "Audacity \(audio editor\)") uses SQLite as its file format, as of version 3.0.0.[57]
  * [Evernote](/wiki/Evernote "Evernote") uses SQLite to store its local database repository in Windows.
  * [Skype](/wiki/Skype "Skype")[58]
  * The Service Management Facility, used for service management within the [Solaris](/wiki/Solaris_\(operating_system\) "Solaris \(operating system\)") and [OpenSolaris](/wiki/OpenSolaris "OpenSolaris") operating systems
  * [Flame (malware)](/wiki/Flame_\(malware\) "Flame \(malware\)")
  * [BMW](/wiki/BMW "BMW") [IDrive](/wiki/IDrive "IDrive") Sat Nav system
  * [TomTom](/wiki/TomTom "TomTom") GPS systems, for the [NDS](/wiki/Navigation_Data_Standard "Navigation Data Standard") map data
  * [Proxmox VE](/wiki/Proxmox_Virtual_Environment "Proxmox Virtual Environment") \- _Proxmox Cluster File System_ ([pmxcfs](https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_\(pmxcfs\)))



## See also

[[edit](/w/index.php?title=SQLite&action=edit&section=11 "Edit section: See also")]

  * ![](//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/28px-Free_and_open-source_software_logo_%282009%29.svg.png)[Free and open-source software portal](/wiki/Portal:Free_and_open-source_software "Portal:Free and open-source software")


  * [Comparison of relational database management systems](/wiki/Comparison_of_relational_database_management_systems "Comparison of relational database management systems")
  * [List of relational database management systems](/wiki/List_of_relational_database_management_systems "List of relational database management systems")
  * [MySQL](/wiki/MySQL "MySQL")
  * [SpatiaLite](/wiki/SpatiaLite "SpatiaLite")



## References

[[edit](/w/index.php?title=SQLite&action=edit&section=12 "Edit section: References")]

### Citations

[[edit](/w/index.php?title=SQLite&action=edit&section=13 "Edit section: Citations")]

  1. **^** ["SQLite Release 3.49.1 On 2025-02-18"](https://sqlite.org/releaselog/3_49_1.html). 18 February 2025. Retrieved 19 February 2025.
  2. **^** ["SQLite Copyright"](https://sqlite.org/copyright.html). sqlite.org. Retrieved May 17, 2010.
  3. **^** ["SQLite database file format media type at IANA"](https://www.iana.org/assignments/media-types/application/vnd.sqlite3). _[Internet Assigned Numbers Authority](/wiki/Internet_Assigned_Numbers_Authority "Internet Assigned Numbers Authority")_. [IANA](/wiki/Internet_Assigned_Numbers_Authority "Internet Assigned Numbers Authority"). Retrieved 2019-03-08.
  4. **^** ["Why SQLite succeeded as a database — Richard Hipp, creator of SQLite"](https://changelog.com/podcast/201). _The Changelog_. Episode 201. Event occurs at 00:17:25. [Archived](https://web.archive.org/web/20220707033506/https://changelog.com/podcast/201) from the original on 2022-07-07. Retrieved 2019-08-06. "How do I pronounce the name of the product? I say S-Q-L-ite, like a mineral."
  5. **^** [D. Richard Hipp](/wiki/D._Richard_Hipp "D. Richard Hipp") (presenter) (May 31, 2006). [_An Introduction to SQLite_](https://www.youtube.com/watch?v=f428dSRkTs4#t=1m14s) (video). Google Inc. Event occurs at 00:01:14. Retrieved March 23, 2010. "[...] ess-kju-ellite [...]"
  6. **^** [D. Richard Hipp](/wiki/D._Richard_Hipp "D. Richard Hipp") (presenter) (May 31, 2006). [_An Introduction to SQLite_](https://www.youtube.com/watch?v=f428dSRkTs4#t=48m15s). Google Inc. Event occurs at 00:48:15. Retrieved March 23, 2010. "[...] sequelite [...]"
  7. **^** ["Most Widely Deployed SQL Database Estimates"](https://sqlite.org/mostdeployed.html). SQLite.org. Retrieved May 11, 2011.
  8. **^** Owens, Michael (2006). ["Chapter 4: SQL"](https://books.google.com/books?id=VsZ5bUh0XAkC&pg=PA133). In Gilmore, Jason; [Thomas, Keir](/wiki/Keir_Thomas "Keir Thomas") (eds.). _The Definitive Guide to SQLite_. [D. Richard Hipp](/wiki/D._Richard_Hipp "D. Richard Hipp") (foreword), Preston Hagar (technical reviewer). [Apress](/wiki/Apress "Apress"). p. 133\. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-1-59059-673-9](/wiki/Special:BookSources/978-1-59059-673-9 "Special:BookSources/978-1-59059-673-9"). [Archived](https://web.archive.org/web/20201124002058/https://books.google.com/books?id=VsZ5bUh0XAkC&pg=PA133) from the original on 24 November 2020. Retrieved 30 December 2014.
  9. **^** ["STRICT Tables"](https://sqlite.org/stricttables.html). [Archived](https://web.archive.org/web/20220807204905/https://sqlite.org/stricttables.html) from the original on 2022-08-07. Retrieved 2022-08-11.
  10. **^** ["Full-Featured SQL"](https://www.sqlite.org/fullsql.html). _SQLite_. Retrieved January 24, 2025.
  11. **^** ["SQL Features That SQLite Does Not Implement"](https://www.sqlite.org/omitted.html). _SQLite_. Retrieved January 24, 2025.
  12. ^ _**a**_ _**b**_ Owens, Michael (2006). "Introducing SQLite". _The Definitive Guide to SQLite_. [Apress](/wiki/Apress "Apress"). [doi](/wiki/Doi_\(identifier\) "Doi \(identifier\)"):[10.1007/978-1-4302-0172-4_1](https://doi.org/10.1007%2F978-1-4302-0172-4_1). [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-1-59059-673-9](/wiki/Special:BookSources/978-1-59059-673-9 "Special:BookSources/978-1-59059-673-9").
  13. ^ _**a**_ _**b**_ _**c**_ ["Well-Known Users Of SQLite"](https://sqlite.org/famous.html). SQLite. [Archived](https://web.archive.org/web/20150711135311/https://sqlite.org/famous.html) from the original on July 11, 2015. Retrieved August 5, 2015.
  14. **^** ["Interview: Richard Hipp on UnQL, a New Query Language for Document Databases"](http://www.infoq.com/news/2011/08/UnQL). InfoQ. August 4, 2011. [Archived](https://web.archive.org/web/20140408215240/http://www.infoq.com/news/2011/08/UnQL) from the original on April 8, 2014. Retrieved October 5, 2011.
  15. **^** Hipp, D. Richard. ["Code of Ethics"](https://sqlite.org/codeofethics.html). _SQLite_. Retrieved January 24, 2025.
  16. **^** McCarthy, Kieren. ["SQLite creator crucified after code of conduct warns devs to love God, and not kill, commit adultery, steal, curse..."](https://www.theregister.com/2018/10/22/sqlite_code_of_conduct/) _www.theregister.com_. [Archived](https://web.archive.org/web/20221117120853/https://www.theregister.com/2018/10/22/sqlite_code_of_conduct/) from the original on 2022-11-17. Retrieved 2022-11-17.
  17. **^** ["LoC Recommended Storage Format"](https://sqlite.org/locrsf.html). _sqlite.org_. [Archived](https://web.archive.org/web/20200423212849/https://sqlite.org/locrsf.html) from the original on 2020-04-23. Retrieved 2020-04-09.
  18. **^** ["SQLite, Version 3"](https://www.loc.gov/preservation/digital/formats/fdd/fdd000461.shtml). _www.loc.gov_. 2017-03-28. [Archived](https://web.archive.org/web/20200511194518/https://www.loc.gov/preservation/digital/formats/fdd/fdd000461.shtml) from the original on 2020-05-11. Retrieved 2020-04-09.
  19. **^** ["Recommended Formats Statement – datasets/databases"](https://www.loc.gov/preservation/resources/rfs/data.html). Library of Congress. [Archived](https://web.archive.org/web/20180822113435/https://www.loc.gov/preservation/resources/rfs/data.html) from the original on 2018-08-22. Retrieved 2020-04-09.
  20. **^** ["SQLite Is A Zero-Configuration Database"](https://sqlite.org/zeroconf.html). SQLite.org. [Archived](https://web.archive.org/web/20240502210736/https://sqlite.org/zeroconf.html) from the original on May 2, 2024. Retrieved August 3, 2015.
  21. ^ _**a**_ _**b**_ ["SQLite"](https://clickhouse.com/docs/en/engines/database-engines/sqlite). _ClickHouse Docs_. Retrieved January 25, 2025.
  22. **^** ["Write Ahead Logging in SQLite 3.7"](https://sqlite.org/wal.html). SQLite.org. [Archived](https://web.archive.org/web/20240502210711/https://sqlite.org/wal.html) from the original on May 2, 2024. Retrieved September 3, 2011. "WAL provides more concurrency as readers do not block writers and a writer does not block readers. Reading and writing can proceed concurrently."
  23. **^** ["Appropriate Uses For SQLite"](https://sqlite.org/whentouse.html). SQLite.org. [Archived](https://web.archive.org/web/20240502210713/https://sqlite.org/whentouse.html) from the original on 2024-05-02. Retrieved 2015-09-03.
  24. **^** ["PGCon 2014: Clustering and VODKA"](https://lwn.net/Articles/601144/). _Lwn.net_. [Archived](https://web.archive.org/web/20150629195442/https://lwn.net/Articles/601144/) from the original on 2015-06-29. Retrieved 2017-01-06.
  25. **^** ["PGCon2014: SQLite: Protégé of PostgreSQL"](https://www.pgcon.org/2014/schedule/events/736.en.html). _Pgcon.org_. 20 September 2015. [Archived](https://web.archive.org/web/20141230193958/http://www.pgcon.org/2014/schedule/events/736.en.html) from the original on 2014-12-30. Retrieved 2017-01-06.
  26. **^** ["SQLite: StrictMode"](https://sqlite.org/src/wiki?name=StrictMode). _Sqlite.org_. [Archived](https://web.archive.org/web/20160304115940/https://sqlite.org/src/wiki?name=StrictMode) from the original on March 4, 2016. Retrieved September 3, 2015.
  27. **^** ["Release History of SQLite"](https://sqlite.org/changes.html). [Archived](https://web.archive.org/web/20210316043517/https://sqlite.org/changes.html) from the original on 2021-03-16. Retrieved 2021-03-22.
  28. **^** ["STRICT Tables"](https://sqlite.org/stricttables.html). _SQLite_. Retrieved January 24, 2025.
  29. **^** ["SQL As Understood By SQLite"](https://sqlite.org/lang_createtable.html#rowid). _SQLite_. [Archived](https://web.archive.org/web/20180521104530/https://sqlite.org/lang_createtable.html#rowid) from the original on 21 May 2018. Retrieved 21 May 2018. "Searching for a record with a specific rowid, or for all records with rowids within a specified range is around twice as fast as a similar search made by specifying any other PRIMARY KEY or indexed value."
  30. **^** ["Clustered Indexes and the WITHOUT ROWID Optimization"](https://sqlite.org/withoutrowid.html). _SQLite_. Retrieved January 24, 2025.
  31. **^** Karwin, Bill (May 2010). Carter, Jacquelyn (ed.). _SQL Antipatterns: Avoiding the Pitfalls of Database Programming_. The Pragmatic Bookshelf. p. 70\. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-1-934356-55-5](/wiki/Special:BookSources/978-1-934356-55-5 "Special:BookSources/978-1-934356-55-5"). "Sometimes you're forced to use a database brand that doesn't support foreign key constraints (for example MySQL's MyISAM storage engine or SQLite prior to version 3.6.19)."
  32. **^** ["SQLite Release 3.6.19 On 2009-10-14"](https://sqlite.org/releaselog/3_6_19.html). _sqlite.org_. [Archived](https://web.archive.org/web/20201029060401/http://sqlite.org/releaselog/3_6_19.html) from the original on 2020-10-29. Retrieved 2020-10-15.
  33. **^** ["SQLite Foreign Key Support"](https://sqlite.org/foreignkeys.html). _SQLite_. Retrieved January 24, 2025.
  34. **^** Source: developers' comments on [SQLite forum](https://sqlite.org/forum/info/78a60bdeec7c1ee9) [Archived](https://web.archive.org/web/20230401220416/https://sqlite.org/forum/info/78a60bdeec7c1ee9) 2023-04-01 at the [Wayback Machine](/wiki/Wayback_Machine "Wayback Machine")
  35. **^** ["Quirks, Caveats, and Gotchas In SQLite"](https://sqlite.org/quirks.html). _SQLite_. Retrieved January 24, 2025.
  36. **^** ["Case-insensitive matching of Unicode characters does not work"](https://sqlite.org/faq.html#q18). _SQLite Frequently Asked Questions_. [Archived](https://web.archive.org/web/20150905054749/https://sqlite.org/faq.html#q18) from the original on 2015-09-05. Retrieved 2015-09-03.
  37. **^** ["SQLite FTS5 Extension"](https://sqlite.org/fts5.html). _SQLite_. Retrieved January 24, 2025.
  38. **^** ["JSON Functions And Operators"](https://sqlite.org/json1.html). _SQLite_. Retrieved January 24, 2025.
  39. **^** ["Limits In SQLite"](https://sqlite.org/limits.html). _SQLite.org_. [Archived](https://web.archive.org/web/20211107064937/https://sqlite.org/limits.html) from the original on 2021-11-07. Retrieved 2022-09-19.
  40. **^** ["Thoughts On The Design Of The Fossil DVCS"](https://www.fossil-scm.org/home/doc/trunk/www/theory1.wiki). Fossil-scm.org. July 12, 2017. [Archived](https://web.archive.org/web/20221013234319/https://www.fossil-scm.org/home/doc/trunk/www/theory1.wiki) from the original on October 13, 2022. Retrieved October 14, 2022.
  41. **^** ["Fossil: Fossil Performance"](https://www.fossil-scm.org/index.html/doc/tip/www/stats.wiki). Fossil-scm.org. August 23, 2009. [Archived](https://web.archive.org/web/20091009054952/http://www.fossil-scm.org/index.html/doc/tip/www/stats.wiki) from the original on October 9, 2009. Retrieved September 12, 2009.
  42. **^** ["SQLite Copyright"](https://sqlite.org/copyright.html). _sqlite.org_. [Archived](https://web.archive.org/web/20240315172355/https://sqlite.org/copyright.html) from the original on 2024-03-15. Retrieved 2024-03-06.
  43. **^** ["Code Of Ethics"](https://sqlite.org/codeofethics.html). _sqlite.org_. [Archived](https://web.archive.org/web/20240219225117/https://sqlite.org/codeofethics.html) from the original on 2024-02-19. Retrieved 2024-03-06.
  44. **^** ["Command Line Shell For SQLite"](https://sqlite.org/cli.html). Sqlite.org. [Archived](https://web.archive.org/web/20221006104551/https://sqlite.org/cli.html) from the original on October 6, 2022. Retrieved October 14, 2022.
  45. **^** ["How SQLite Is Tested"](https://sqlite.org/testing.html). SQLite.org. [Archived](https://web.archive.org/web/20091006224147/https://sqlite.org/testing.html) from the original on October 6, 2009. Retrieved September 12, 2009.
  46. **^** ["To use the version of SQLite that is installed with Windows"](https://docs.microsoft.com/en-us/windows/uwp/data-access/sqlite-databases#to-use-the-version-of-sqlite-that-is-installed-with-windows). 20 October 2022. [Archived](https://web.archive.org/web/20220331170828/https://docs.microsoft.com/en-us/windows/uwp/data-access/sqlite-databases#to-use-the-version-of-sqlite-that-is-installed-with-windows) from the original on 31 March 2022. Retrieved 31 March 2022.
  47. **^** ["Home"](http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki). _System.Data.SQLite_. 2016-12-30. [Archived](https://web.archive.org/web/20140713080835/http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki) from the original on 2014-07-13. Retrieved 2017-01-06.
  48. **^** ["SQLite ODBC Driver"](http://www.ch-werner.de/sqliteodbc/). _Ch-werner.de_. 2016-12-01. [Archived](https://web.archive.org/web/20140626165719/http://www.ch-werner.de/sqliteodbc/) from the original on 2014-06-26. Retrieved 2017-01-06.
  49. **^** ["Using SQLite Database with OpenOffice.org : Version 2.0"](http://documentation.openoffice.org/HOW_TO/data_source/SQLite.pdf) (PDF). _Documentation.openoffice.org_. [Archived](https://web.archive.org/web/20110928073029/http://documentation.openoffice.org/HOW_TO/data_source/SQLite.pdf) (PDF) from the original on 2011-09-28. Retrieved 2017-01-06.
  50. **^** ["sqlite — Sqlite Wrappers"](https://sqlite.org/cvstrac/wiki?p=SqliteWrappers). SQLite.org. February 7, 2009. [Archived](https://web.archive.org/web/20090205225756/http://sqlite.org/cvstrac/wiki?p=SqliteWrappers) from the original on February 5, 2009. Retrieved February 7, 2009.
  51. **^** ["sqlite3 WebAssembly & JavaScript Documentation Index"](https://sqlite.org/wasm). _SQLite_. [Archived](https://web.archive.org/web/20240502210710/https://sqlite.org/wasm/doc/trunk/index.md) from the original on 2024-05-02. Retrieved 2023-05-08.
  52. **^** ["Location of Google Chrome history"](https://www.foxtonforensics.com/browser-history-examiner/chrome-history-location). _www.foxtonforensics.com_. 2020-10-06. [Archived](https://web.archive.org/web/20230228184524/https://www.foxtonforensics.com/browser-history-examiner/chrome-history-location) from the original on 2023-02-28. Retrieved 2020-10-06.
  53. **^** ["SQLite Manager :: Add-ons for Firefox"](https://web.archive.org/web/20170102010658/https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/). _Addons.mozilla.org_. 2015-02-28. Archived from [the original](https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/) on 2017-01-02. Retrieved 2017-01-06.
  54. **^** ["SQLite Manager – Get this Extension for 🦊 Firefox (en-US)"](https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager-webext/). _Addons.mozilla.org_. 2018-07-24. [Archived](https://web.archive.org/web/20181005112443/https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager-webext/) from the original on 2018-10-05. Retrieved 2018-10-05.
  55. **^** ["SQLite Reader – Get this Extension for 🦊 Firefox (en-US)"](https://addons.mozilla.org/en-US/firefox/addon/sql-reader/). _Addons.mozilla.org_. 2018-09-01. [Archived](https://web.archive.org/web/20181005112536/https://addons.mozilla.org/en-US/firefox/addon/sql-reader/) from the original on 2018-10-05. Retrieved 2018-10-05.
  56. **^** ["Using SQL to find my best photo of a pelican according to Apple Photo"](https://simonwillison.net/2020/May/21/dogsheep-photos/). _Simon Willison’s Weblog_. [Archived](https://web.archive.org/web/20200522181550/https://simonwillison.net/2020/May/21/dogsheep-photos/) from the original on May 22, 2020. Retrieved May 23, 2020.
  57. **^** ["Audacity 3.0.0 Released"](https://web.archive.org/web/20230814021313/https://www.audacityteam.org/audacity-3-0-0-released/). 17 March 2021. Archived from [the original](https://www.audacityteam.org/audacity-3-0-0-released/) on 14 August 2023. Retrieved March 17, 2021.
  58. **^** Hinegardner, Jeremy (August 28, 2007). ["Skype client using SQLite?"](https://web.archive.org/web/20071117061133/https://www.mail-archive.com/sqlite-users%40sqlite.org/msg27326.html). _sqlite-users_ (Mailing list). Archived from [the original](https://www.mail-archive.com/sqlite-users%40sqlite.org/msg27326.html) on 2007-11-17. Retrieved June 14, 2010.



### Sources

[[edit](/w/index.php?title=SQLite&action=edit&section=14 "Edit section: Sources")]

  * Allen, Grant; Owens, Mike (November 5, 2010). [_The Definitive Guide to SQLite_](https://web.archive.org/web/20101230035043/http://apress.com/book/view/1430232250) (2nd ed.). [Apress](/wiki/Apress "Apress"). p. 368\. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-1-4302-3225-4](/wiki/Special:BookSources/978-1-4302-3225-4 "Special:BookSources/978-1-4302-3225-4"). Archived from [the original](http://apress.com/book/view/1430232250) on December 30, 2010. Retrieved December 23, 2010.
  * Kreibich, Jay A. (August 17, 2010). [_Using SQLite_](http://oreilly.com/catalog/9780596521196) (1st ed.). [O'Reilly Media](/wiki/O%27Reilly_Media "O'Reilly Media"). p. 528\. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [978-0-596-52118-9](/wiki/Special:BookSources/978-0-596-52118-9 "Special:BookSources/978-0-596-52118-9"). [Archived](https://web.archive.org/web/20101225102001/http://oreilly.com/catalog/9780596521196) from the original on December 25, 2010. Retrieved December 23, 2010.
  * Newman, Chris (November 9, 2004). [_SQLite (Developer's Library)_](http://www.informit.com/store/product.aspx?isbn=067232685X) (1st ed.). [Sams](/wiki/Sams "Sams"). p. 336\. [ISBN](/wiki/ISBN_\(identifier\) "ISBN \(identifier\)") [0-672-32685-X](/wiki/Special:BookSources/0-672-32685-X "Special:BookSources/0-672-32685-X"). [Archived](https://web.archive.org/web/20120114075902/http://www.informit.com/store/product.aspx?isbn=067232685X) from the original on January 14, 2012. Retrieved May 12, 2010.



## External links

[[edit](/w/index.php?title=SQLite&action=edit&section=15 "Edit section: External links")]

[![](//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)](/wiki/File:Commons-logo.svg)

Wikimedia Commons has media related to [SQLite](https://commons.wikimedia.org/wiki/Category:SQLite "commons:Category:SQLite").

  * [Official website](https://sqlite.org) [![Edit this at Wikidata](//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)](https://www.wikidata.org/wiki/Q319417#P856 "Edit this at Wikidata")
  * ["The Untold Story of SQLite"](https://corecursive.com/066-sqlite-with-richard-hipp/). CoRecursive.



[Authority control databases](/wiki/Help:Authority_control "Help:Authority control"): National [![Edit this at Wikidata](//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png)](https://www.wikidata.org/wiki/Q319417#identifiers "Edit this at Wikidata")| 

  * [Germany](https://d-nb.info/gnd/7544619-4)

  
---|---  
  
![](https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0)

Retrieved from "[https://en.wikipedia.org/w/index.php?title=SQLite&oldid=1277140213](https://en.wikipedia.org/w/index.php?title=SQLite&oldid=1277140213)"

[Categories](/wiki/Help:Category "Help:Category"): 

  * [SQLite](/wiki/Category:SQLite "Category:SQLite")
  * [2000 software](/wiki/Category:2000_software "Category:2000 software")
  * [C (programming language) libraries](/wiki/Category:C_\(programming_language\)_libraries "Category:C \(programming language\) libraries")
  * [Cross-platform free software](/wiki/Category:Cross-platform_free_software "Category:Cross-platform free software")
  * [Database engines](/wiki/Category:Database_engines "Category:Database engines")
  * [Embedded databases](/wiki/Category:Embedded_databases "Category:Embedded databases")
  * [Free computer libraries](/wiki/Category:Free_computer_libraries "Category:Free computer libraries")
  * [Free database management systems](/wiki/Category:Free_database_management_systems "Category:Free database management systems")
  * [Public-domain software with source code](/wiki/Category:Public-domain_software_with_source_code "Category:Public-domain software with source code")
  * [Relational database management software for Linux](/wiki/Category:Relational_database_management_software_for_Linux "Category:Relational database management software for Linux")
  * [Relational database management systems](/wiki/Category:Relational_database_management_systems "Category:Relational database management systems")
  * [Serverless database management systems](/wiki/Category:Serverless_database_management_systems "Category:Serverless database management systems")
  * [Symbian software](/wiki/Category:Symbian_software "Category:Symbian software")
  * [Public-domain software](/wiki/Category:Public-domain_software "Category:Public-domain software")



Hidden categories: 

  * [Webarchive template wayback links](/wiki/Category:Webarchive_template_wayback_links "Category:Webarchive template wayback links")
  * [Articles with short description](/wiki/Category:Articles_with_short_description "Category:Articles with short description")
  * [Short description is different from Wikidata](/wiki/Category:Short_description_is_different_from_Wikidata "Category:Short description is different from Wikidata")
  * [Commons category link from Wikidata](/wiki/Category:Commons_category_link_from_Wikidata "Category:Commons category link from Wikidata")



  * This page was last edited on 22 February 2025, at 22:23 (UTC).
  * Text is available under the [Creative Commons Attribution-ShareAlike 4.0 License](/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License "Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License"); additional terms may apply. By using this site, you agree to the [Terms of Use](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use "foundation:Special:MyLanguage/Policy:Terms of Use") and [Privacy Policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy "foundation:Special:MyLanguage/Policy:Privacy policy"). Wikipedia® is a registered trademark of the [Wikimedia Foundation, Inc.](https://wikimediafoundation.org/), a non-profit organization.


  * [Privacy policy](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy)
  * [About Wikipedia](/wiki/Wikipedia:About)
  * [Disclaimers](/wiki/Wikipedia:General_disclaimer)
  * [Contact Wikipedia](//en.wikipedia.org/wiki/Wikipedia:Contact_us)
  * [Code of Conduct](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct)
  * [Developers](https://developer.wikimedia.org)
  * [Statistics](https://stats.wikimedia.org/#/en.wikipedia.org)
  * [Cookie statement](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement)
  * [Mobile view](//en.m.wikipedia.org/w/index.php?title=SQLite&mobileaction=toggle_view_mobile)


  * [![Wikimedia Foundation](/static/images/footer/wikimedia.svg)](https://wikimediafoundation.org/)
  * [![Powered by MediaWiki](/w/resources/assets/mediawiki_compact.svg)](https://www.mediawiki.org/)



Search

Search

Toggle the table of contents

SQLite

35 languages Add topic


