NLPの一部 NLU NLU 与えられた自然言語入力は便利なマップです。 言語の異なる側面の分析。 NLG NLGの テキスト計画 - 知識ベースから関連するコンテンツを取得含まれています。 例文計画 - これは意味のあるフレーズ、文のトーンを設定を形成するために、目的の単語を選択することを含みます。 テキストが実現 - これは構造を宣告する文章をマップする計画です。 NLPの用語の 音韻論 - これは、音組織の体系的な研究です。 フォーム - これは、言葉の意味のある単位の元建設からの研究です。 形態素 - それは、言語単位の本来の意味です。 文法 - それは文を表現するために単語の配置を指します。また、文章やフレーズ内の単語の役割を決定するための構造に関するものです。 セマンティクス - それは言葉の意味を含み、どの単語が意味のある語句や文章にまとめています。 語用論 - それは、文と文が異なる状況に影響を受けている解釈方法の使用と理解を扱っています。 談話 - それは言葉の解釈に影響を与える前の文の下でどのように処理しますか。 世界の知識 -これは、世界についての一般的な知識を含んでいます。 NLPステップ 字句解析 ワードの構造の同定および分析することを含みます。言語は字句言語の単語やフレーズのセットを表します。ブロック全体txtの字句解析では、段落、文章や単語に分割されます。 構文解析(パース) それは単語間の関係を示すために、文、文法や単語の手配の仕方分析の単語を含んでいます。「学校では男の子に行く」と他の文章は英語構文解析を拒否されました。 セマンティック分析 では、テキストからの正確な意味または辞書の意味を抽出します。テキストは、それが理にかなっているかどうかがチェックされます。これは、文法構造やオブジェクトマッピングミッションフィールドで行われます。パーサーは、このような「ホットアイスクリーム」など、文を無視します。 Wordの統合 の意味、その前に文の意味に依存して任意の文。また、それはまた、直後の文の意味をもたらします。 実用的な分析 一方、その実用的な意義を再解釈しました。これは、言語が現実世界の知識を導出する必要が含まれます。 ブロッキング インポートNLTKの 文 =〔(" A "、" DT ")、(" 賢い"、" JJ ")、(「フォックス" " NN ")、(" た" " VBP ")、(" ジャンプ" " VBP ")、(" 上" " IN ")、(" " " DT ")、(" 壁" " NN " )] 文法 = " NP:{?<DT> <JJ> * <NN>} " parser_chunking = nltk.RegexpParser(文法) #構文パーサの定義 parser_chunking.parse(文).draw() #の解析文章を、ツリー図が描き 与えられた文のカテゴリかどうかを予測 から sklearn.datasets インポートfetch_20newsgroups から sklearn.naive_bayes インポートMultinomialNB から sklearn.feature_extraction.text インポートTfidfTransformer から sklearn.feature_extraction.text インポートCountVectorizerの #分類図の定義 CATEGORY_MAP = { ' talk.religion.misc ':' 宗教'、' rec.autosを':'自動車' ' rec.sport.hockey ':' ホッケー' ' sci.electronics ':' エレクトロニクス' ' sci.space ':' スペース' } #は、トレーニングセットの作成 training_data = fetch_20newsgroups(サブセット= ' 電車"、カテゴリcategory_map.keys =()、シャッフル=真、random_state = 5 )#は、ベクトルカウンタのカウントを作成して、長期的な抽出 vectorizer_count = )CountVectorizerを( train_tc = vectorizer_count.fit_transform(training_data.data) プリント(" トレーニングデータの\ nDimensions:" 、train_tc.shape) #创建TFIDF转换器 TFIDF = TfidfTransformer() train_tfidf = tfidf.fit_transform(train_tc) #创建测试数据 INPUT_DATA = [ 「ディスカバリースペースシャトルだった」、 「ヒンドゥー教、キリスト教の、シーク教徒はすべての宗教ある」、 「私たちは、安全に運転するために必要な」、 「パックは、ゴム製の円盤です」、 "テレビ、電子レンジ、Refrigratedすべては電気を使用して' ] 分類器は = MultinomialNB()。フィット(train_tfidf、training_data.target) #多項単純ベイズ分類器訓練 input_tc = vectorizer_count.transform(INPUT_DATA) #の周りベクトルカウンタ入力データを input_tfidf tfidf.transformは=(input_tc) #のベクトルデータに変換するTF-IDFコンバータ 予測= classifier.predict(input_tfidf)の ために送信され、カテゴリ内ZIP(INPUT_DATA、予測): 印刷(' \ NINPUTデータ:'、送信済み、「\カテゴリN-:「、\ CATEGORY_MAP [training_data.target_names [カテゴリ]]) 結果 学習データの寸法:( 2755、39297 ) 入力データ:ディスカバリーは、スペースシャトルだっ カテゴリー:宇宙 入力データ:ヒンドゥー教、キリスト教の、シーク教徒はすべての宗教のある 宗教:カテゴリー 入力データ:私たちは安全に運転するために必要な カテゴリ:自動車 入力データ:パックは、あるゴム製のディスク ホッケー:カテゴリー 入力データは:テレビ、電子レンジ、Refrigrated全ては、電力使用 カテゴリー:エレクトロニクス 口语词的识别 インポートspeech_recognitionをSRとして 記録 = sr.Recognizer() sr.Microphoneと()のソースとして: recording.adjust_for_ambient_noise(ソース) 印刷(" 何かを言ってください" ) オーディオ = recording.listen(ソース) してみてください: プリント(" あなたが言った:\ n " + recording.recognize_google(オーディオ)) 除く:eと例外 印刷(E)