`
san_yun
  • 浏览: 2652655 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

识别文本用哪种语言写成

    博客分类:
  • nltk
 
阅读更多

原文:http://blog.youxu.info/2007/11/08/guess-language-of-text/

 

ASPN Python Cookbook 提到了一个使用 zlib 库识别文本用哪种语言写成的程序. 其核心代码不超过20行, 据我观察, 识别精度不低于95%. 我略做了一下修改, 把联合国联合国人权宣言作为语料库,目前从 wikipedia 上随便抓一篇爪哇文的文章下来, 都能识别得九不离十。

class Entropy:
    def __init__(self):      
		self.entro = []

    def register(self, name, corpus):
        """
        register a text as corpus for a language or author.
        <name> may also be a function or whatever you need
        to handle the result.
        """
        corpus = str(corpus)
        ziplen = len(zlib.compress(corpus))
        print name, ziplen
	self.entro.append((name, corpus, ziplen))

    def guess(self, part):
        """
        <part> is a text that will be compared with the registered
        corpora and the function will return what you defined as
        <name> in the registration process.
        """
        what = None
        diff = 0
        part = str(part)

        for name, corpus, ziplen in self.entro:
		nz = len(zlib.compress(corpus+part)) - ziplen
		if diff==0 or nz<diff:
                	what = name
        		diff = nz
        return what

先贴代码, 有时间细讲一下语言模型和信息论的妙用. 简单而小巧的模型解决看上去不可解决的问题, 这就是人工智能的精华.

[所有文件打包下载(包含语料源文件10Mb). 代码本身其实只有50行]

分享到:
评论

相关推荐

    C#实现OCR手写数字识别

    在IT领域,OCR(Optical Character Recognition,光学字符识别)技术是一种广泛应用的技术,它能够将图像中的文字转换成机器可编辑的文本。本项目聚焦于一个特定的应用场景——手写数字识别,通过C#编程语言来实现。...

    cnn.zip_CNN_cnn 数字识别_cnn 文本识别_corn6fk_识别

    CNN是一种深度学习模型,尤其在图像处理领域表现出色,如图像分类、目标检测和自然语言处理中的文本识别。 在描述中提到,这个程序可以识别样本中的数字,这通常是指手写数字识别,例如MNIST数据集。MNIST是机器...

    tessdata所有语言包.rar

    OCR(Optical Character Recognition,光学字符识别)是一种技术,能够将扫描的图像或照片中的文字转换成可编辑的文本格式。这种技术在文档数字化、自动表格填充、图像分析等领域有着广泛应用。Tesseract是一个由...

    C#实现 图片转Excel 图片转文本 高精度转换 OCR识别

    总之,这个工具包提供了一种高效、准确的方法,将包含文字的图片转换为Excel表格和文本,借助于C#编程语言和一系列第三方库,尤其是百度AI的OCR服务,实现了高精度的图片识别和格式化的Excel输出。开发者只需要配置...

    大博士手写识别系统

    【大博士手写识别系统】是一款专为用户打造的高效、精准的手写文字识别软件,其核心功能在于将手写的汉字、英文字符甚至数字转换成可编辑的文本格式,极大地提升了文字输入的效率和便捷性。这款系统适用于各种场景,...

    涉外工程CAD图多语言标注文本转换的技巧.pdf

    这一步骤需要程序能够识别文本的句柄(即索引),并根据句柄找到并替换原文本。 4. **用户界面设计:** 程序通常会设计一个简洁直观的操作界面,比如按钮“数据提取”,方便用户进行操作。在操作界面上用户可以进行...

    基于C#的文本分析程序

    该程序采用的语言是C#,使用的IDE为Microsoft Visual Studio 2013,采用的面向对象的程序设计思想,将文本处理与数据io写成便于调用的类库,若尝试直接打开源文件运行,请使用2013级以上版本,避免不必要的错误。

    行业文档-设计装置-多点触摸和多语言手写识别的无线键盘.zip

    手写识别技术是将手写文字转化为可编辑文本的技术,它能够识别并转化不同语言的字符,包括汉字、英文、日文、韩文等。对于无线键盘来说,具备此功能意味着用户可以直接在触摸屏上用自然的手写方式输入各种语言的文字...

    简单的手写数字识别报告

    在信息技术领域,手写数字识别是一种常见的计算机视觉任务,它涉及到人工智能、机器学习和模式识别等子领域的知识。这项技术主要用于自动读取手写数字,如银行支票上的金额、邮政编码或者学生考试答题卡等场景。本...

    HTML,全称HyperText Markup Language,即超文本标记语言

    HTML,全称HyperText Markup Language,即超文本标记语言,不是...使用HTML,将所需要表达的信息按某种规则写成HTML文件,通过网页浏览器来识别,并将这些HTML文件“翻译”成可以识别的信息,即我们所见到的网页。

    美国苹果手写识别系统V9.1

    【苹果手写识别系统V9.1】是美国苹果公司推出的一款高级的手写识别软件,其主要功能在于将用户的手写输入转化为精确的文本。这款系统在当时代表着苹果公司在人机交互领域的先进技术,旨在提供更加自然、直观的输入...

    行业分类-设备装置-手写文本行字符切分方法、识别方法.zip

    手写文本行字符切分与识别是自然语言处理(NLP)领域中的一个重要子话题,特别是在光学字符识别(OCR)技术中。这项技术主要用于将手写的文字转换为可编辑和可搜索的电子文本,有着广泛的应用,如智能笔记、银行支票...

    云手写识别输入

    1. **实时识别**:用户可以在屏幕上自由书写,系统会实时将手写内容转换成文本。 2. **多语言支持**:支持多种语言的手写识别,包括但不限于中文、英文、日文、韩文等。 3. **自定义字库**:允许用户添加个人的特殊...

    OCR把图片变成文本的工具 特点:识别率高

    OCR(Optical Character Recognition,光学字符识别)技术是一种先进的计算机视觉技术,用于将图像中的文本转换成可编辑、可搜索的电子文本。这种技术在现代信息化处理中扮演着重要角色,尤其是在文档数字化、资料...

    易语言源码将文本转换为UTF-8码.rar

    4. **写入UTF-8文本**:转换后的UTF-8编码文本需要保存到新的文件中,可以使用“写文本文件全部”命令将文本写入到指定的文件,确保文件是以UTF-8编码保存的。 5. **错误处理**:在进行编码转换过程中,可能会遇到...

    编写简单的Python程序来判断文本的语种

    langid是一个语言识别库,它能够识别多达97种不同的语言。它的使用简单便捷,无需复杂的配置,即可快速集成到项目中进行语言检测。 使用langid的步骤大致如下: 1. 首先,需要安装langid工具包。可以通过pip命令...

    OCR文字识别TeV1.53

    这意味着无论用户面对的是哪种语言的文本,该软件都能提供有效的解决方案。 5. **文件处理**:虽然未详细列出压缩包内的所有文件,但通常OCR软件会包含配置文件、帮助文档、主程序执行文件以及可能的训练数据。这些...

    OCR手写识别源码

    5. 文本识别:一旦单个字符被识别,OCR软件会尝试将它们组合成完整的单词或句子,这可能涉及到语言模型和上下文分析。 在VB中实现OCR手写识别,开发者需要具备以下技能: - VB编程基础:了解控件的使用、事件处理...

    C#手写识别程序源码2019

    3. 分割与识别:将手写文本分割成单个字符或单词,然后对每个部分进行识别。 4. 模式匹配:通过比较输入的手写样本与预先训练的模型进行匹配,这些模型可能是基于深度学习的神经网络(如卷积神经网络CNN或循环神经...

Global site tag (gtag.js) - Google Analytics