在Tensorflow中,文本数据的分割是什么?


分词是指将文本分割成类似单词的单元。当使用空格字符来分隔单词时,就会用到这种方法,但一些语言,如中文和日语,不使用空格。一些语言,如德语,包含需要分割才能分析其含义的长复合词。

阅读更多: 什么是TensorFlow以及Keras如何与TensorFlow一起创建神经网络?

处理自然语言的模型处理具有不同字符集的不同语言。Unicode被认为是标准编码系统,用于表示几乎所有语言的字符。每个字符都使用一个唯一的整数代码点进行编码,该代码点介于0和0x10FFFF之间。Unicode字符串是零个或多个代码值的序列。

让我们了解如何使用Python表示Unicode字符串,并使用Unicode等效项操作它们。首先,我们借助标准字符串运算的Unicode等效项,根据脚本检测将Unicode字符串分割成标记。

我们使用Google Colaboratory运行以下代码。Google Colab或Colaboratory帮助在浏览器上运行Python代码,无需任何配置,并且可以免费访问GPU(图形处理单元)。Colaboratory构建在Jupyter Notebook之上。

print("Below is the sentence that is processed")
sentence_texts = [u'Hello, there.', u'世界こんにちは']
print("The code point values for characters in the sentence")
sentence_char_codepoint = tf.strings.unicode_decode(sentence_texts, 'UTF-8')
print(sentence_char_codepoint)
print("The unicode script values for characters in the sentence")
sentence_char_script = tf.strings.unicode_script(sentence_char_codepoint)
print(sentence_char_script)

代码来源:https://tensorflowcn.cn/tutorials/load_data/unicode

输出

Below is the sentence that is processed
The code point values for characters in the sentence

The unicode script values for characters in the sentence
<tf.RaggedTensor [[25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 0], [17, 17, 20, 20, 20, 20, 20]]>

解释

  • 分词是指将文本分割成类似单词的单元的任务。
  • 当使用空格字符来分隔单词时,就会用到这种方法,但一些语言,如中文和日语,不使用空格。
  • 一些语言,如德语,包含需要分割才能分析其含义的长复合词。
  • 对于网络上的文本,不同的语言和文字通常混合在一起,例如“NY株価”(纽约证券交易所)。
  • 无需使用机器学习模型,通过更改脚本以近似单词边界,可以进行粗略的分词。
  • 这适用于诸如“NY株価”之类的字符串。它适用于大多数使用空格的语言,因为各种脚本的空格字符被分类为USCRIPT_COMMON,这是一种与任何实际文本的脚本代码不同的特殊脚本代码。
  • 在上面的代码中,生成了每个句子中每个字符的代码点。
  • 接下来,生成了每个句子中每个字符的Unicode脚本。

更新于: 2021年2月20日

134 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告
© . All rights reserved.