精华内容
下载资源
问答
  • brat是linux下的一款应用于webserver端的文本标注工具,可用于标注如下类型信息: (1)实体:命名实体,可用于NER; (2)关系:实体间关系,可用于关系抽取; (3)事件:实体参与的事件; (4)属性:事件或实体...

    brat是linux下的一款应用于webserver端的文本标注工具,可用于标注如下类型信息:
    (1)实体:命名实体,可用于NER;
    (2)关系:实体间关系,可用于关系抽取;
    (3)事件:实体参与的事件;
    (4)属性:事件或实体的属性,常用于知识图谱。

    本文将依次介绍brat的安装、配置和基本使用。

    1. brat的安装

    1.1 基本环境配置

    【系统环境】
    brat只能用于linux下,若为windows系统,请安装于linux虚拟机上。

    【web环境】
    官方建议使用使用Apache2进行web配置,用如下命令安装apache2:

    sudo apt-get upgrade
    sudo apt-get update
    sudo apt-get install apache2
    

    安装完毕后,会在 /var 目录下生成一个www/html目录,下面bart的安装路径均在其中:

    cd /var/www/html
    

    1.2 安装流程

    (1)下载brat的release版本

    (2)将其挪至/var/www/html路径下,解压并重命名为brat

    unzip brat-1.3p1.zip
    mv brat-1.3p1 brat
    

    (3)修改brat路径权限

    sudo chmod 777 -R /var/www/html/brat
    

    (4)进入brat目录,进行安装,并根据提示输入用户名、密码和邮箱等信息

    cd /var/www/html/brat
    sudo ./install.sh
    

    (5)配置apache2.conf文件

    sudo vim /etc/apache2/apache2.conf
    

    在文件末尾加入如下内容(注意缩进,若启动apache2服务时候报错“…the control process exited with error code…”,建议手动缩进(4下空格键)):

    <Directory /var/www/html/brat>
      AllowOverride Options Indexes FileInfo Limit
      Require all granted
      AddType application/xhtml+xml .xhtml
      AddType font/ttf .ttf
      Options +ExecCGI
      AddHandler cgi-script .cgi
    </Directory>
    

    (6)建立Apache2和cgi模块的软链接,其具体说明可见issue #1141

    cd /etc/apache2/mods-enabled
    sudo ln -s ../mods-available/cgi.load
    

    (7)brat默认不支持中文标注,因此需手动修改brat主目录/server/src路径下的projectconfig.py文件的第162行代码

    sudo vim /var/www/html/brat/server/src/projectconfig.py
    

    将其改为:

    # n  = re.sub(r'[^a-zA-Z0-9_-]', '_', n)
    n = re.sub(u'[^a-zA-Z\u4e00-\u9fa5<>,0-9_-]', '_', n)
    

    (8)重启Apache2

    sudo service apache2 restart
    

    (9)访问本地brat地址,若页面正常,即安装配置无误。

    2. brat的基本使用

    2.1 项目文件的配置

    项目文件建议放在如下路径(若无,自行创建):

    cd /var/www/html/brat/data/projects
    

    每个项目下总共有4个文件,分别为:
    (1)annotation.conf 规定了项目中的所有实体、事件、关系和属性类型
    (2)visual.conf 规定了annotation.conf 所有实体、事件、关系和属性类型的显示文字和颜色等配置
    (3)project_name.txt 项目的语聊文本
    (4)project_name.ann 标注后的结果文件

    2.1.1 annotation.conf 文件的配置

    (1)定义实体entities

    每一行表示一个实体名称,若需要定义层次化的实体,则在下一层实体前加入Tab键。

    [entities]
    
    # Definition of entities.
    # Format is a simple list with one type per line.
    
    Person
    	Male
    	Female
    Organization
    GPE
    

    (2)定义关系relations

    每一行表示一条关系,定义了关系名称,以及关系双方的实体。

    其基本的配置规则为:
    a). 每一行开头为关系名称;
    b). 关系名称后为空格,空格后为相关的实体信息,其格式为Arg1:实体1,Arg2:实体2,表示从实体1—>实体2的关系;
    c) 若需要定义双向关系,则补充<REL-TYPE>:symmetric-transitive

    [relations]
    
    # Definition of (binary) relations.
    
    # Format in brief: one relation per line, with first space-separated
    # field giving the relation type and the rest of the line the
    # comma-separated arguments in ROLE:TYPE format. The roles are
    # typically "Arg1" and "Arg2".
    
    Located            Arg1:Person, Arg2:GPE
    Geographical_part  Arg1:GPE,    Arg2:GPE
    Family             Arg1:Person, Arg2:Person
    Employment         Arg1:Person, Arg2:GPE
    Ownership          Arg1:Person, Arg2:Organization
    Origin             Arg1:Organization, Arg2:GPE
    
    Alias              Arg1:Person, Arg2:Person, <REL-TYPE>:symmetric-transitive
    

    (3)定义事件events

    每一行表示一个事件,定义了事件名称,以及事件参与方的实体信息。

    其基本的配置规则为:
    a) 每一行开头为事件名;
    b) 事件名称后为空格,空格后为相关的实体信息,其格式为Arg1:实体1,Arg2:实体2
    c) 可通过定义<name>=实体1|实体2来将实体进行组合;
    d) 每个事件,可通过正则表达式中适配符来限制某个实体的参与与否以及参与个数:表示可参与,可不参与;* 表示可参与0次或多次;+表示至少参与一次;{2}表示必须为2个实体,其他正则表达式类似。
    e) 若为层次性的事件,则可通过在上一层事件名称前添加!,以使其不参与具体标注(因此,其仅做注释性的层次化)

    [events]
    
    # Definition of events.
    
    # Format in brief: one event per line, with first space-separated
    # field giving the event type and the rest of the line the
    # comma-separated arguments in ROLE:TYPE format. Arguments may be
    # specified as either optional (by appending "?" to role) or repeated
    # (by appending either "*" for "0 or more" or "+" for "1 or more").
    
    # this is a macro definition, used for brevity
    <POG>=Person|Organization|GPE
    
    # the "!" before a type specifies that it cannot be used for annotation
    # (hierarchy structure only.)
    !Life
    	Be-born   Person-Arg:Person, Place-Arg?:GPE
    	Marry     Person-Arg{2}:Person, Place-Arg?:GPE
    	Divorce   Person-Arg{2}:Person, Place-Arg?:GPE
    	Die       Person-Arg:Person, Agent-Arg?:<POG>, Place-Arg?:GPE
    !Transaction
    	Transfer-ownership  Buyer-Arg:<POG>, Seller-Arg:<POG>, Artifact-Arg:Organization
    	Transfer-money	Giver-Arg:<POG>, Recipient-Arg:<POG>, Beneficiary-Arg:<POG>
    !Business
    	Start-org  Agent-Arg?:<POG>, Org-Arg:Organization
    	Merge-org  Org-Arg{2}:Organization
    	End-org    Org-Arg:Organization
    

    (4)定义属性attributes

    每一行表示一个属性,可依附于事件或实体对象。

    其基本的配置规则为:
    a) 每一行开头为属性名;
    b) 事件名称后为Tab符,Tab符后为具体的属性定义,其格式一般为Arg:<EVENT>,表示为事件属性,EVENT可改为ENTITY表示实体属性。
    c)若改行定义直接结束,表示这是个2元属性;若为多值属性,则在Arg:<EVENT>后需进一步补充,Value:值1|值2|值3

    [attributes]
    
    # Definition of entity and event attributes.
    
    # Format in brief: first tab-separated field is attribute name, second
    # a set of key-value pairs. The latter must define "Arg:" which
    # specifies what the attribute can attach to (typically "<EVENT>").
    # If no other keys are defined, the attribute is binary (present or
    # absent). If "Value:" with multiple alternatives is defined, the
    # attribute can have one of the given values.
    
    Negation     Arg:<EVENT>
    Confidence   Arg:<EVENT>, Value:High|Neutral|Low
    
    2.1.2 visual.conf 文件的配置

    (1)定义显示标签labels

    用于定义实体、关系、事件和属性等对象的显示标签,常用于显示中文标签(原始annotation.conf 文件为英文时)或防止原始各对象的名称过程而难以显示。

    其定义非常简单:

    [labels]
    ### Entity types
    Person | Person
    Organization | Organization | Org
    GPE | Geo-political entity | GPE
    

    (2)定义显示颜色drawing
    用于定义实体、关系、事件和属性等对象的显示颜色,以在webserver标注时予以区分。

    其定义非常简单:

    Person	bgColor:#ffccaa
    Organization	bgColor:#8fb2ff
    GPE	bgColor:#7fe2ff
    
    2.1.3 project_name.txt 文件的配置

    该文件即为需要进行标注的原始语料文件,为方便标注,一般在放入标注项目文件夹之前,建议进行文本预处理。

    2.1.4 project_name.ana 文件的配置

    该文件即为标注后的结果文件,随着标注过程其同步自动更新。在最开始,其为空文件。

    2.2 基于webserver的文本标注

    (1)访问本地brat地址
    (2)登录账号和密码;
    (3)选择/var/www/html/brat/data/projects文件夹内的具体项目下的project_name.txt语料文件,开始标注;
    (4)选择文本字段,弹出【实体候选框】,即可定义实体;
    (5)拖动标注好的实体即可定义连接关系;
    (6)双击标签,即可对标签进行修改或删除。

    注意: 若显示无法加载本地文件或无法修改静态文件,一般为权限问题,修改该项目文件夹权限即可。

    2.3 ana文件的基本解读

    一个典型的标注好的ana结果文件如下:

    T1	人名 11 13	马云
    T2	地点 16 18	杭州
    R1	来自 Arg1:T1 Arg2:T2	
    T3	人名 23 25	马云
    T4	时间 0 10	1964年9月10日
    T5	人名 61 63	父亲
    T6	人名 81 83	马云
    T7	地点 69 71	江南
    T8	人名 99 101	金庸
    T9	人名 129 131	马云
    *	家属 T3 T5
    T10	人名 86 88	父亲
    R2	来自 Arg1:T5 Arg2:T7	
    *	家属 T6 T10
    

    每一行表示标注好的实体、关系、事件或属性对象。

    对于实体对象,其共有5个字段,各字段间用空格区分,其意义依次为:
    (1)编号,如T1表示编号为1的实体;
    (2)实体类型,如人名;
    (3)该实体在整个文本中的起始位置;
    (4)该实体在整个文本中的终止位置;
    (5)实体对应的文本。

    值得注意的是:整个文本的顺序为各行文本的拼接(保留\n等符号),整个文本的起始位置编号为0,起始位置->终止位置采用左开右闭的对应关系(可理解为切片),如[11, 13]表示占用11、12两个位置。

    对于单向关系对象,包括4个字段,其意义依次为:
    (1)编号,如R1表示编号为1的关系;
    (2)关系类型,如地点;
    (3)关系起始实体编码,如Arg1:T1
    (4)关系指向实体编码,如Arg2:T2

    对于双向关系对象,也包括4个字段,其意义依次为:
    (1)*
    (2)关系类型,如家属;
    (3)关系起始实体编码,如T3
    (4)关系指向实体编码,如T5

    对ana进行解析,就可以开展下游的自然语言处理任务。

    【Reference】:

    1. Brat标注工具(本地)安装及使用
    2. 文本标注工具brat
    展开全文
  • 文本整理器 TXT整理 功能全面 有多文件合并功能
  • 免费的文本分析 文本挖掘软件工具(第一部分)

    万次阅读 多人点赞 2020-02-18 13:29:08
    另外如果是编程人员,推荐使用一下文本挖掘的工具包。下面是两个可选的工具。 KH Coder 链接为:https://khcoder.net/en/ Wordij 和Gephi组合, 地址为http://wordij.net/ 和 https://gephi.org/ 具体的教程可以...

    这里针对非编程人员,介绍几个免费文本分析和文本挖掘软件,可以直接导入中文文本,得出一些统计和可视化信息。另外如果是编程人员,推荐使用一下文本挖掘的工具包。下面是两个可选的工具。

    • KH Coder 链接为:https://khcoder.net/en/
    • Wordij 和Gephi组合, 地址为http://wordij.net/ 和 https://gephi.org/

    本人在文末添加了一个如何使用KH Code的视频教程的链接🔗

    第二部分具体介绍了如何使用这个软件教程: https://liangyihuai.blog.csdn.net/article/details/112055387

    下面贴几张图片感受一下:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    需要自备- 梯 -子https://www.youtube.com/watch?v=xOcX1aT5c6o&t=3s

    展开全文
  • 实用的在线文本分析工具

    千次阅读 2020-04-14 15:12:11
    实用的文本分析工具 参考链接https://mp.weixin.qq.com/s/rnMM9fdQiQ0W4r2LBSewPA 1.图悦:在线词频分析工具、词云制作工具,还可以自定义词云的形状。 网址:http://www.picdata.cn/ 2.新浪微舆情:全网事件分析...

    实用的在线文本分析工具

    参考链接https://mp.weixin.qq.com/s/rnMM9fdQiQ0W4r2LBSewPA

    1.图悦:在线词频分析工具、词云制作工具,还可以自定义词云的形状。
    网址:http://www.picdata.cn/
    2.新浪微舆情:全网事件分析(基于关键词设置,实时抓取全网跟关键词有关的信息)、基用户画像分析(在竞品分析和微博传播路径分析中基于用户兴趣标签和微博发言所得)。
    网址:http://wyq.sina.com
    3. 腾讯文智:词法类分析(把句子拆解成词语进行词性标注,如名词、动词、形容词等)、句法类分析(对句子的词性分析基础上,继续分析主、谓、宾、定、状、补的句子结构)、篇章类分类(有内容分类、情感分析、关键字分析,以及对全文摘要的提取分析)
    网址:http://nlp.qq.com/semantic.cgi
    4. 大数据搜索与挖掘平台:功能模块较全,文本分析一条龙服务,包括分词标注、实体抽取、词频统计、文本分类、情感分析、关键词提取、相关词分析、依存文法、简繁转换、自动注音和摘要提取等。
    网址:http://ictclas.nlpir.org/nlpir/
    5. Linguakit:不仅能够提取关键词,还能实现文本翻译、词频统计、词云图和文本情感分析等功能。
    网址:https://linguakit.com/en/?utm_campaign=elearningindustry.com&utm_source=/&utm_medium=link

    展开全文
  • NLPIR文本分析工具的功能和特色介绍

    千次阅读 2019-11-05 15:39:52
    通常用于研究分析的数据中,非结构化的数据所占比例更高,这些非结构化的数据中也包含着重要的信息量,要运用文本分析工具来完成信息提取。文本分析是自然语言处理的一个小分支,是指从文本中抽取特征词进行量化以...

    通常用于研究分析的数据中,非结构化的数据所占比例更高,这些非结构化的数据中也包含着重要的信息量,要运用文本分析工具来完成信息提取。文本分析是自然语言处理的一个小分支,是指从文本中抽取特征词进行量化以表示文本信息,文本一般指文字。过程是将无结构化的原始文本转化为结构化,高度抽象和特征化,计算机可以识别和处理的信息,进而利用机器学习,分类聚类等算法,再对文本进行分析处理。现已经在广告推荐和舆情监测方面实现应用。
    在这里插入图片描述
    NLPIR大数据语义智能分析平台十三大功能:
    精准采集:对境内外互联网海量信息实时精准采集,有主题采集(按照信息需求的主题采集)与站点采集两种模式(给定网址列表的站内定点采集功能)。
    文档转化:对doc、excel、pdf与ppt等多种主流文档格式,进行文本信息转化,效率达到大数据处理的要求。
    新词发现:从文本中挖掘出新词、新概念,用户可以用于专业词典的编撰,还可以进一步编辑标注,导入分词词典中,提高分词系统的准确度,并适应新的语言变化。
    批量分词:对原始语料进行分词,自动识别人名地名机构名等未登录词,新词标注以及词性标注。并可在分析过程中,导入用户定义的词典。
    语言统计:针对切分标注结果,系统可以自动地进行一元词频统计、二元词语转移概率统计。针对常用的术语,会自动给出相应的英文解释。
    文本聚类:能够从大规模数据中自动分析出热点事件,并提供事件话题的关键特征描述。同时适用于长文本和短信、微博等短文本的热点分析。
    文本分类:根据规则或训练的方法对大量文本进行分类,可用于新闻分类、简历分类、邮件分类、办公文档分类、区域分类等诸多方面。
    摘要实体:对单篇或多篇文章,自动提炼出内容摘要,抽取人名、地名、机构名、时间及主题关键词;方便用户快速浏览文本内容。
    智能过滤:对文本内容的语义智能过滤审查,内置国内最全词库,智能识别多种变种:形变、音变、繁简等多种变形,语义精准排歧。
    情感分析:针对事先指定的分析对象,系统自动分析海量文档的情感倾向:情感极性及情感值测量,并在原文中给出正负面的得分和句子样例。
    文档去重:快速准确地判断文件集合或数据库中是否存在相同或相似内容的记录,同时找出所有的重复记录。
    全文检索:支持文本、数字、日期、字符串等各种数据类型,多字段的高效搜索,支持AND/OR/NOT以及NEAR邻近等查询语法,支持维语、藏语、蒙语、阿拉伯、韩语等多种少数民族语言的检索。
    编码转换:自动识别内容的编码,并把编码统一转换为其他编码。
    NLPIR大数据语义智能分析平台是一个全链条的分析工具,完全本地化部署, 不上传用户数据,安全可靠。融合了网络精准采集、自然语言理解、文本挖掘和 网络搜索的技术,提供客户端工具、云服务以及二次开发接口,包含了大数据背 景下有关语义分析的各个环节的工具,无论对没有任何编程背景但要大量处理语 言、媒体信息的文科生辅助处理分析,还是对需要二次开发才能完成特定领域的 信息服务都可以满足要求。平台先后历时20年,融入了20年的科研成果。服务了全球40万家机构用户和100余家高校用户,免费给研究人员从事研究工作。

    展开全文
  • 文本内容输入输出)通用工具类 一、网络图片转成字节流和保存到本地工具类 /** * 根据地址获得数据的字节流 * @param strUrl 网络连接地址 * @return */ public static byte[] getImgerFormNetByUrl(String ...
  • 8种Python文本处理工具

    万次阅读 2018-10-29 20:01:51
    文本处理一般包括词性标注,句法分析,关键词提取,文本分类,情感分析等等,这是针对中文的,如果是对于英文来说,只需要基本的tokenize。本文为大家提供了以下这些工具包。 1.Jieba 【结巴中文分词】做最好的 ...
  • Python文本处理工具——TextRank

    万次阅读 2016-06-19 17:56:42
    这个工具可以直观的把文本中出现的关键词画在一张图片中,用户可以在图中发现中心词。这个工具使用POS( part-of-speech tagging : 词性标注 )然后抽取名词,这种方法对于关键词提取独具特色。注意: 先安装NLTK再...
  • 深度文本匹配开源工具(MatchZoo)

    万次阅读 2017-12-10 23:32:04
    苦于没有好的基于深度学习处理NLP, IR, QA任务的开源工具?苦于没有发布自己研究的深度文本匹配模型的交流平台?强烈推荐MatchZoo,用深度学习做自然语言处理,信息检索,智能问答等任务的小伙伴看过来。MatchZoo...
  • 我们词云制作工具是目前非常流行的tagxedo,tagxedo对于英文的分词做的很好(废话,英文单词之间有空格),但是对于中文分词做的不好,于是我们需要用到另外一个在线工具http://life.chacuo.net/convertexportword...
  • 本文将详细讲解数据预处理、Jieba分词和文本聚类知识,这篇文章可以说是文本挖掘和自然语言处理的入门文章。两万字基础文章,希望对您有所帮助。欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列...
  • 基于神经网络文本分类算法

    千次阅读 2019-06-16 03:32:56
    基于神经网络文本分类算法 文章目录基于神经网络文本分类算法1.文件介绍2.核心算法cnn算法3.操作步骤1.预处理数据2.生成数据集3.执行训练4.执行预测5....create_data_utils.py 文本处理工具 ...
  • 在线文本转语音工具大全

    千次阅读 2014-09-15 21:11:40
    你说的话或者写的字可以直接转换成语音MP3然后下载,是不是很棒,今天我收集了一些免费的基于网络的服务,将让您将文字转换成语音文本。在网上人们通常喜欢听文章而不是读文字。此外,听力可以节省时间,而阅读文章...
  • NC瑞士军刀 网络工具

    千次阅读 2021-07-31 23:27:16
    nc作为网络工具中的瑞士军刀,是学习信息安全必须掌握的工具之一,nc的大小只有几十kb包括Linux版和windows版,但它的作用也是非常之大。 nc作用 侦听模式 / 传输模式 telnet / 获取banner信息 传输文本信息 传输...
  • 最准的中文文本相似度计算工具

    千次阅读 2020-04-04 21:58:30
    向AI转型的程序员都关注了这个号????????????机器学习AI算法工程 公众号:datayxtext2vec, chinese text to vetor.(文本向量化表示工...
  • 可以把十六进制转换成中文、文本、字符串,也可以把中文、文本、字符串转换成十六进制,同时生成十六进制与字符的对照表,主要用于对抓包的十六进制数据进行分析,也适用网络通信程序的开发和调试。 注意,如果十六...
  • 众所周知,现在的时代就是海量数据暴增的时代,每天的各种聊天工具和数以亿计的网页产生了海量的人工无法高效处理的各种文字信息。由此而生,我们自然想到通过分类来减少信息检索,分类的依据就是文本之间的相似度,...
  • 网络协议分析工具Ethereal的使用

    千次阅读 2011-11-28 21:21:02
    一:学习使用网络协议分析工具Ethereal的方法,并用它来分析一些协议。 实验步骤: 1. 用“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(注:缺省路由器即 ”Default Gateway”) 命令行:Start->...
  • Linux超文本交叉代码检索工具LXR(Linux Cross Reference),是由挪威奥斯陆大学数学系Arne Georg Gleditsch和Per Kristian Gjermshus编写的。这个工具实际上运行在Linux或者UNIX平台下,通过对源代码中的所有符号...
  • 基于文本内容的网络行为分析

    千次阅读 2016-03-09 10:47:00
    1、主要目的: 在网关使用一种抓包工具,得到用户的Ip,目的IP,以及访问的内容。就可以进行对用户进行分析。 2、主要涉及到的内容 (1)讨论了网络行为分析的...(2)对基于文本网络行为分析系统的设计与实现进
  • 斯坦福大学建立了一个可以对图像内容产生自然语言描述的模型NeuralTalk,它是一个开源的Python工具,它可以从图像生成文本描述。它实现了Google (Vinyals等,卷积神经网络CNN + 长短期记忆LSTM) 和斯坦福 (Karpathy ...
  • 大规模文本分类网络TextCNN介绍

    万次阅读 2018-03-15 23:01:25
    TextCNN网络是2014年提出的用来做文本分类的卷积神经网络,由于其结构简单、效果好,在文本分类、推荐等NLP领域应用广泛,我自己在工作中也有探索其在实际当中的应用,今天总结一下。 TextCNN的网络结构 数据...
  • 网络抓包工具 wireshark 入门教程

    万次阅读 多人点赞 2018-02-10 09:59:57
    Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。网络管理...
  • 《基于R语言的自动数据收集:网络抓取和文本挖掘实用指南》英文原版
  • 文本处理

    千次阅读 2020-10-23 09:12:16
    所以这很有道理, 有许多用于处理文本工具。在这一章中,我们将看一些被用来“切割”文本的程序。在下一章中, 我们将查看更多的文本处理程序,但主要集中于文本格式化输出程序和其它一些人们需要的工具。 这一章...
  • 了解聊天机器人(chatbots)的工作原理很重要。 聊天机器人的一个基本机制是利用文本分类器进行意图识别 。 我们来看一下人工神经网络(ANN)的内部工作... 文本分类的方法有三种 : 模式匹配 , 传统算法和神经网络
  • 网络攻防之——Fuzz工具

    万次阅读 2017-04-05 14:45:37
    FUzz是一个模糊测试工具模糊测试是漏洞挖掘过程中重要的一步bed.plBed是一个纯文本协议的Fuzz工具,能够检查常见的漏洞,如缓冲区溢出,格式串漏洞,整数溢出等。Fuzz_ipv6这是THC出品的针对IPV6协议的模糊测试工具0...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 322,635
精华内容 129,054
关键字:

网络文本比较工具