自頂向下分析乙個簡單的語音識別系統(十)

2021-07-30 03:08:47 字數 1013 閱讀 8131

接著上回結束的地方,本回我們來分析sparse_tuple_to_texts函式和ndarray_to_text函式。首先分析sparse_tuple_to_texts函式。

給出**如下:

def

sparse_tuple_to_texts

(tuple):

indices = tuple[0]

values = tuple[1]

results = [''] * tuple[2][0]

for i in range(len(indices)):

index = indices[i][0]

c = values[i]

c = ' '

if c == space_index else chr(c + first_index)

results[index] = results[index] + c

# list of strings

return results

由前文可知indices是乙個[[a b][c d]]型別的陣列(其中a、c表示第幾個seq,b、d表示該seq中的第幾個time_slice),values對應著所有seq的數值表示,tuple[2][0]為seq個數。result返回資料資料夾中test目錄下標註文字的資訊。

這個函式很簡單,只是將輸入的數值型陣列value轉化為字串輸出,**如下:

def

ndarray_to_text

(value):

results = ''

for i in range(len(value)):

results += chr(value[i] + first_index)

return results.replace('`', ' ')

至此,我們的語音識別系統的**基本分析完了。但是細心的小夥伴可能已經想問了ctc loss是怎麼定義的?adamoptimizer又是怎麼定義的?後文我們將對這兩個部分進行相關說明。

自頂向下分析乙個簡單的語音識別系統(二)

上回咱們說到專案的目錄以及各個檔案的作用,這回我們自頂向下開始分析該專案。專案開始於tf train ctc.py檔案。如下圖所示 if name main import click use click to parse command line arguments click.command cl...

簡述自頂向下的語法分析

在我們得到了context free grammar 之後,下一步就要將它轉換成一棵語法分析樹了,語法分析樹使得我們的編譯器能夠識別輸入串是否符合我們的context free grammar 中文翻譯為上下文無關語言 有兩種方法能夠將context free grammar轉換為語法分析樹。今天我...

自頂向下的語法分析(修改)

自頂向下語法分析可以被看作是為輸入串構造語法分析樹的問題,它從語法分析樹的根結點開始 按照先序遍歷建立這棵語法分析樹的各個結點。自頂向下語法分析也可以被看作尋找輸入串的最左推導的過程。遞迴下降的語法分析 乙個遞迴下降語法分析程式由一組過程組成,每個非終結符號有乙個對應的過程。程式的執行從開始符號對應...