Ⅰ 有什麼軟體可以識別出語言的種類
推薦用 ibm簡體中文語音識別系統.v9.1.專業版
ViaVoice識別率可達95%以上。使用便利,特別適合於起草文稿、撰寫文章、和准備教案,是文職人員、作家和教育工作者的良好助手。
IBM擁有40多年提供語音解決方案的經驗,並且擁有150多個語音技術專利。他領導了世界的語音識別技術,其語音識別產品在全球銷售已達一百萬套以上。IBM在提供端對端的語音集成解決方案領域居全球領先地位。
ViaVoice提供了若干特殊的「主題」來幫助你進一步提高對專有名詞的識別准確度,它可以使ViaVoice的引擎對這些主題下的特殊片語給予重點注意。
幾款語音識別軟體:
emule下載
http://www.rsdown.cn/downinfo/813.html
Ⅱ 計算機語言的種類
機器語言(二進制代碼)
匯編語言(面向機器的程序設計語言)
高級語言(按轉換方式可分兩類:
1、編譯型語言; 2、解釋型語言)
||按照客觀系統的描述可分兩類:
1、面向過程語言;
2、面向對象語言 ||
按照編程范型可分四類:
1、命令式語言;2、函數式語言;3、邏輯式語言;4、面向對象語言)
三種語言的優缺點
機器語言:可讀性、可移植性差,編程繁雜。直接執行,速度快,資源佔用少。匯編語言:不同的處理器有不同的匯編語言語法和編譯器,編譯的程序無法在不同的處理器上執行,缺乏可移植性,難於從匯編語言代碼上理解程序設計意圖,可維護性差,即使是完成簡單的工作也需要大量的匯編語言代碼,很容易產生bug,難於調試,使用匯編語言必須對某種處理器非常了解,而且只能針對特定的體系結構和處理器進行優化,開發效率很低,周期長且單調。能夠保持機器語言的一致性,直接、簡捷,並能像機器指令一樣訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等。使用匯編語言,可以訪問所有能夠被訪問的軟、硬體資源,目標代碼簡短,佔用內存少,執行速度快。高級語言:運行速度基本上比直接用匯編寫的慢,速度和程序大小與編譯軟體有關。高級語言接近演算法語言,易學、易掌握,級語言為程序員提供了結構化程序設計的環境和工具,使得設計出來的程序可讀性好,可維護性強,可靠性高;高級語言遠離機器語言,與具體的計算機硬體關系不大,可移植性好,重用率高;由於把繁雜瑣碎的事務交給了編譯程序去做,所以自動化程度高,開發周期短,且程序員得到解脫,可以集中時間和精力去從事對於他們來說更為重要的創造性勞動,以提高程序的質量。
高級語言的分類
按轉換方式可分為兩類:1、編譯型語言;2、解釋型語言
編譯型語言:編譯性語言寫的程序在被執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。解釋型語言:解釋性語言的程序不需要編譯,在運行程序的時候才翻譯,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就需要逐行翻譯一次,效率比較低。 現代解釋性語言通常把源程序編譯成中間代碼,然後用解釋器把中間代碼一條條翻譯成目標機器代碼,一條條執行。 關於腳本語言: 腳本語言是一種解釋性的語言,腳本語言是為了縮短傳統的編寫-編譯-鏈接-運行(edit-compile-link-run)過程而創建的計算機編程語言。腳本語言一般都 有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。一個腳本通常是解釋運行而非編譯。腳本語言通常都有簡單、易學、易用的特性,目的就是希望能讓程序員快速完成程序的編寫工作。而宏語言則可視為腳本語言的分支,兩者也有實質上的相同之處。腳本語言一般都是以文本形式存在,類似於一種命令。
解釋性語言:Java、Java、Perl、Python、Ruby、MATLAB 等。 編譯性語言: C/C++、Pascal/Object Pascal(Delphi) 腳本語言:Python、Java,ASP,php,Perl等
解釋性語言:Java、Java、Perl、Python、Ruby、MATLAB 等。 編譯性語言: C/C++、Pascal/Object Pascal(Delphi) 腳本語言:Python、Java,ASP,PHP,Perl等
按照客觀系統的描述可分為兩類:1.面向過程語言; 2.面向對象語言
面向過程語言:面向過程語言是以過程或函數為基礎的,這種語言對底層硬體,內存等操作比較方便,但是寫代碼和調試維護等會很麻煩。例如:c語言面向對象語言:面向對象語言(Object-Oriented Language)是一類以對象作為基本程序結構單位的程序設計語言,指用於描述的設計是以對象為核心,而對象是程序運行時刻的基本成分。語言中提供了類、繼承等成分。 面向對象語言的發展有兩個方向:一種是純面向對象語言,如Smalltalk、EIFFEL等;另一種是混合型面向對象語言,即在過程式語言及其它語言中加入類、繼承等成分,如C++、Objective-C等
按照編程范型可分為:1.命令式語言; 2.函數式語言; 3.邏輯式語言; 4.面向對象語言
命令式語言: 命令式程序設計語言是基於動作的語言,以馮諾依曼計算機體系結構為背景。機器語言及匯編語言是最早的命令式語言。在這種語言中,計算機被看做是動作的序列,程序就是用語言提供的操作命令書寫的一個操作序列。用命令式程序設計語言編寫程序,就是描述解題過程中每一步的過程,程序的運行過程就是問題的求解過程,因此也稱為過程式語言。Fortran、ALGOL、COBOL、C、Ada、Pascal等都是命令式程序設計語言。函數式語言: 函數式編程是種編程典範,它將電腦運算視為函數的計算。函數編程語言最重要的基礎是 λ 演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(參數)和輸出(返回值)。和指令式編程相比,函數式編程強調函數的計算比指令的執行重要。和過程化編程相比,函數式編程里,函數的計算可隨時調用。這種語言的語義基礎是基於數學函數概念的值映射的λ運算元可計算模型。這種語言非常適合於進行人工智慧等工作的計算。典型的函數式語言如 Lisp、Haskell、ML、Scheme 、F#等。邏輯式語言: 這種語言的語義基礎是基於一組已知規則的形式邏輯系統。這種語言主要用在專家系統的實現中。最著名的邏輯式語言是 Prolog。面向對象語言: 現代語言中的大多數都提供面向對象的支持,但有些語言是直接建立在面向對象基本模型上的,語言的語法形式的語義就是基本對象操作。主要的純面向對象語言是 Smalltalk。
Ⅲ 如何快速識別出是哪國語言
1.如果是球迷,並且經常上網看球,可以多看看各種語言解說的頻道(在此熱情推薦http://forum.wiziwig.eu/forums/3-Football-streams), 通常
來說同一個語言聽個兩三場比賽就可以很輕松的辨認出來了。
2.
另有一種方法,就是輸入一段稍長但內容簡單的英文文本去google翻譯成各種語言然後點擊朗讀。推薦用簡單的英文文本這樣可以減少翻
譯得不堪入目的幾率。
3.討巧一點的方法是找一本想了解的語言的語法書,把介詞、代詞、連詞這一類記下來,然後藉助方法2或者網路詞典記住其發音,然後就可以聽大段的內容來捕捉熟悉的超高頻詞。
4.推薦個迅速了解多國語言的資源,Lonely Planet的歐洲語言指南
西歐常用語手冊http://www.rayfile.com/files/ee253f99-f13b-11de-b10e-0014221b798a/
東歐常用語手冊http://www.rayfile.com/files/3d45074a-f128-11de-ba5b-0014221b798a/
5.了解的語言特徵。
德語很簡單,如果聽到很多的「屎」(真的是發第三聲)和「此」,那一定是德語。
西
班牙語比較平實,母音輔音都比較自然,只有超高的語速和大舌頭狂甩,但是僅用這種特徵判斷誤傷率很高。勉強要算一個的話就是在反問句
後面總喜歡加一個「no?」,是/nɔ/,別讀成英語了。。葡萄牙語有很多鼻音,如
ão, ãe õe等等,非常獨特但比較難以描述,比如alemão,alemã,
alemães,informação, informações,但在巴葡里這些鼻音有所變化,特徵不那麼明顯,好在巴葡還有別的特徵,比如把t +
i/e讀成「起」,d + i/e讀成「幾」。西語葡語的一些區別:歐葡會把詞尾的s發成/ʃ/,詞尾的o會讀得像/u/,a像/ə/。義大利語真的像唱歌一樣,韻律感十足。荷
蘭語,正經點說一點大概就是把g讀成/x/,另外有很多類似於中文的後鼻音ang的音,比如van。推薦聽一聽荷蘭語版的i
love you:ik hou van
jou,聽起來就像「一個好房友」,蠻形象的。另有一個無比喜感的音,paard(馬),京腔十足。
Ⅳ 語言的成分是什麼
語言的成分分數據成分,運算成分,控製成分,傳輸成分1.程序
從最一般的意義來說,程序是對解決某個計算問題的方法(演算法)步驟的一種描述;而從計算機來說,計算機程序是用某種計算機能理解並執行的計算機語言作為描述語言,對解決問題的方法步驟的描述。計算機執行按程序所描述的方法步驟,能完成指定的功能。所以,程序就是供計算機執行後能完成特定功能的指令序列。
一個計算機程序主要描述兩部分內容:描述問題的每個對象和對象之間的關系,以及描述對這些對象作處理的處理規則。其中關於對象及對象之間的關系是數據結構的內容,而處理規則是求解的演算法。針對問題所涉及的對象和要完成的處理,設計合理的數據結構常可有效地簡化演算法,數據結構和演算法是程序最主要的兩個方面。
2.程序設計的任條和主要步驟
程序設計的任務就是分析解決問題的方法步驟(演算法),並將解決問題演算法的方法步驟用計算機語言記錄下來。程序設計的主要步驟包括:認識問題、設計解決問題的演算法、按演算法編寫程序、調試和測試程序。在程序開發過程中,上述步驟可能有反復,如發現程序有錯,嚴重情況可能會要求重新認識問題和重新設計演算法等。
3.機器語言和匯編語言
計算機能直接識別和執行的二進制代碼稱為計算機的機器語言。用有助於記憶的符號來代表二進制代碼,稱為匯編語言。匯編語言與機器語言幾乎有一對一的關系。用匯編語言編寫的程序稱為「匯編源程序」,匯編源程序不能在計算機上直接執行,需要用匯編程序將匯編源
程序翻譯成機器語言程序,然後執行由匯編程序翻譯出來的機器語言程序。機器語言和匯編語言是與具體計算機緊密相關的,稱它們是面向機器的語言。
4.高級語言
與機器語言和匯編語言相比較,高級語言與具體計算機無關,是一種能方便描述演算法過程的計算機程序設計語言。高級語言種類千差萬別,但一般包含有以下四種成分:數據成分用來描述程序所涉及的數據;運算成分用來描述運算;控製成分用來表達程序的控制構造;傳輸成分用來表達數據的傳輸。由於高級語言程序主要是描述計算機的解題過程,即描述復雜的加工處理過程,所以也稱這種高級語言為面向過程語言。
用高級語言編寫的程序稱為「源程序」。計算機不能直接技源程序的語句運行,通常有解釋方式和編譯方式兩種方法在計算機上執行源程序。
解釋方式,即讓計算機運行解釋程序,解釋程序逐句取出源程序中的語句,對它作解釋執行,輸入數據,產生結果。
編譯方式,即先運行編譯程序,從源程序一次翻譯產生計算機可直接執行的二進製程序(稱為目標程序);然後讓計算機執行目標程序,輸入數據,產生結果。
解釋方式的主要優點是計算機與人的交互性好,調試程序時,能一邊執行一邊直接改錯,能較快得到一個正確的程序。缺點是逐句解釋執行,運行速度慢。
編譯方式的主要優點是計算機運行目標程序快,缺點是修改源程序後必須重新編譯以產生新的目標程序。
現在也有將上述兩種方式結合起來的,即先編譯源程序,產生計算機還是不能直接執行的中間代碼,然後讓解釋程序解釋執行中間代碼。這樣做的好處首先是比直接解釋執行快;更大的好處是中間代碼獨立於計算機,只要有相應的解釋程序,就可在任何計算機上運行。
5.面向問題語言
面向問題語言是為了易於描述和求解某類特定領域的問題而專門設計的一種非過程語言。用面向問題語言解題時,不僅擺脫計算機的內部邏輯,也不必關心問題的求解演算法和求解的過程,只需指出問題是做什麼,數據的輸入和輸出形式,就能由相應的計算機系統得到所需結果。如報表語言、SOL(Structured Query Language)語言等。SQL語言是資料庫查詢和操縱語言,能直接使用資料庫管理系統。由於使用面向問題語言來解題只要告訴計算機做什麼,不必告訴計算機如何做,能方便用戶的使用和提高程序的開發速度。但實現面向問題語言的系統從最一般的意義下實現問題如何求解,通常實現的效率較低。另外,面向問題語言要求問題已有通用的求解方法,目前其應用范圍還比較狹窄。
1.2C語言基礎
1.C語言的發展史
目的是為編寫系統程序研製一種高級程序語言。1963年,參照ALGOL60語言,增添了能描述計算機硬體特性的能力,稱為CPL語言。1967年,作進一步的簡化,改稱BCPL語言。1970年,再進一步簡化,並突出了硬體處理能力,稱為B語言,並用於編寫UNIX操作系統。1972年,進一步擴充數據類型和恢復通用性,稱為C語言,並用C語言重寫了UNIX操作系統。以後 C語言開始流行,為統一版本,ANSI於 1987年制定了 C語言的標准,稱為 ANSIC。
2.C語言的特點
C語言主要有以下特點:
(1)與其它高級語言比較,更接近硬體,與機器語言比較,又更接近演算法。C程序易編寫、易讀、易查錯和易修改。
Ⅳ php 如何識別文本語言種類,比如輸入「你好」,返回「中文」;輸入「hello」,返回英文
判斷文本語言的種類其實是判斷字元集的位置范圍,這里提供幾款正則給你參考:
<?php
$string='網路知道';
if(preg_match_all("/^([x81-xfe][x40-xfe])+$/"),$string,$match)
//使用preg_match_all判斷的是全部是中文
//若使用preg_match則判斷的是是否包含中文
//$match是一符合正則要求結果的多維數組
//如果是UTF-8編碼的話,則可以將正則替換成/^([u4e00-u9fa5])+$/
{
echo'中文';
}
else
{
echo'不是中文';
}
?>
Ⅵ 關於語言識別技術怎麼具體實現
首先從要是別的樣本中讀取一定量的字元串,再把這樣的字元串與語言庫中的字元串相比較即可。所以需要讀文件和創建語言庫(就是把各種語言的樣板存入到資料庫中)需要資料庫方面的知識。
學一門編程語言,主要是面向對象的,比如 C++、C#之類的;還要學習了解資料庫
Ⅶ tesseract能識別哪些語言
識別多種字體、多種語言的字元,在實際應用中是很常見的問題。
經過測試,及查看tesseract3.01的源碼,tesseract 3.01版本是不支持多語言、多種字體OCR識別的。
tesseract3.01版本不支持新訓練的數據,加入原有字元集,並不支持多個訓練庫的聯合使用方式。
如何利用tesseract進行多語言或多字體識別哪?
一種方法是自己訓練字元集,將所有的字體、語言的訓練數據放入一個訓練數據文件內。這種方法需要龐大的訓練樣本數據,工作量大,而且舍棄原有的google的訓練庫,實在是太可惜了。
另外一種方法就是升級tesseract到3.02版本。目前3.02版本還沒有release,需要自行下載源碼,編譯,生成。tesseract3.02支持多個訓練庫聯合使用的方式,這樣就能支持多語言、多字體識別,並且tesseract3.02版本的固有數據集應該增加了大量的樣本,因為其體積比3.01版本的數據文件大了很多。
tesseract多語言識別的原理及演算法在文章Adapting the Tesseract Open Source OCR Engine for Multilingual OCR有專門的介紹。這里記錄下自己對這篇文章的理解。
OCR字元識別的熱點趨勢:
拉丁文-> 中文、日文、韓文 -> 阿拉伯文 -> 印度語
這幾種語言字元有各自的特徵。
漢字、日文:有一些相同文字,但文字有上千種形狀結構。
韓文:自己特有的文字結構,而且數量更多。
阿拉伯文:字母都連起來書寫,且字母處在不同的位置,其形狀也不同。
印度文:將字元連起來形成上千種形狀,來表示不同的音節。其包含了阿拉伯文和韓文面臨的問題。
漢字、韓文和印度文都有部首和詞根的結構。相比韓文,漢字的詞根在不同的字里,其形狀也是不固定的,且常和其他部首連寫。而印度文更復雜些。
拉丁文字元識別在另外一篇文章中有介紹,這里寫些思路與未提到的問題。
1. 在連通區域分析後,找出blob,即單個字母塊。
2. 行檢測。利用等間距檢測與分割演算法,包括識別詞與字母的空白區別。
3. 單個字元識別,並對初次識別效果不佳的字元進行分割與聯想,對於多種可能,就應用詞典的距離計算,選擇出最好的可能性。
4. 多次識別:識別效果好的字元作為訓練樣本,對其他不好的字元進行再次識別。(自適應分類器)
問題:
一般一個字母是單連通區域,但也有例外,一個字母有多個連通區域,或嵌套孔洞,如圓圈中有一個c或R的字元。
--------------
文章的排版:
1. 橫排、豎排、混合排列
tesseract最初支持處理橫排的情況,若處理各種排列,tesseract需要考慮更多的特徵檢測。
段落縮進的檢測; 字元間距檢測(豎排字元的間距中值小於字元大小的均值);文本行(列)檢測
另外,對於豎排佔多數的頁面,可以旋轉90度,這樣大部分文本可轉換為橫排,減少豎排區域誤檢率。
混合排列在各種文字中都存在且常見,所以,tesseract要處理這些情況。
2. 文本行、列檢測
行檢測演算法:
每行文本中的字元直接的間距比較小,一般比行間距小,且一般字元大小都差不多,除了個別特殊位置上的字元。利用這個特徵,將鄰近字元串起來,就形成了一條線。多條線形成後,就有了多條線平行的特徵,多條平行線就形成了一個模塊。
不同的平行線形成的排版,就能將整個頁面分割開來。
行檢測完成後,就能檢測行內的單個字元了。對於拉丁字元,空格是最小識別單位的特徵,而一些語言的空格特徵不明顯,如中文字元,字、詞之間空格沒差別,詞根之間也有空格,將一個連通區域作為一個獨立的識別單位,這種識別方法缺少整體的識別能力,如字典等。一種解決方法是,先識別標點符號(punctuations),但對長句子,還是有局限性。
若存在多種語言混合編排的情況,字元的大小特徵可能不一樣,如拉丁與漢字。這就需要不同的語言字元,應用不同的閾值進行過濾。
3. 古斯拉夫語Cyrillic,類似俄語之類吧,小寫字母x字元高度的估計
拉丁字元檢測的方法,不適用於這種語言。
俄語的檢測需要應用其他的特徵。這里對俄語不熟悉,就忽略不看了。
4. 字、詞的識別
包括分割、搜索及形狀分類
字母語言的識別,與象形文字的識別,有很多不同。象形文字的詞彙的邊界不如字母文字清晰。
對於象形文字間的關聯,tesseract應用最優優先搜索方法(best-first-search),在詞典中尋找匹配的詞彙,這個比字母詞彙搜索需要更深的搜索層次。
形狀分類
線寬、線長都可以作為字元的形狀特徵。對於一個字或字元,可以先粗略的分類,多選幾個近似的分類,然後,再仔細的分類,從候選的類別選出可能的類別。
6. 上下文關聯後處理
字典搜索
Ⅷ 編程語言都有哪些演算法
(一)基本演算法 : 1.枚舉 2.搜索: 深度優先搜索 廣度優先搜索 啟發式搜索 遺傳演算法 (二)數據結構的演算法 (三)數論與代數演算法 (四)計算幾何的演算法:求凸包 (五)圖論 演算法: 1.哈夫曼編碼 2.樹的遍歷 3.最短路徑 演算法 4.最小生成樹 演算法 5.最小樹形圖 6.網路流 演算法 7.匹配演算法 (六)動態規劃 (七)其他: 1.數值分析 2.加密演算法 3.排序 演算法 4.檢索演算法 5.隨機化演算法
希望採納
Ⅸ nlp演算法是什麼呢
1、nlp演算法是自然語言處理演算法。自然語言處理( Natural Language Processing, NLP)是計算機科學領域與人工智慧領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。
2、自然語言處理(nlp)是一門融語言學、計算機科學、數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯系,但又有重要的區別。
3、自然語言處理(nlp)並不是一般地研究自然語言,而在於研製能有效地實現自然語言通信的計算機系統,特別是其中的軟體系統。因而它是計算機科學的一部分。
4、自然語言處理(nlp)主要應用於機器翻譯、輿情監測、自動摘要、觀點提取、文本分類、問題回答、文本語義對比、語音識別、中文OCR等方面。
5、自然語言(nlp)的形式(字元串)與其意義之間是一種多對多的關系。其實這也正是自然語言的魅力所在。但從計算機處理的角度看,我們必須消除歧義,而且有人認為它正是自然語言理解中的中心問題,即要把帶有潛在歧義的自然語言輸入轉換成某種無歧義的計算機內部表示。