Natural Language Toolkit

...software, data sets and tutorials for natural language processing...

Pt:Introduction

 

From NLTK

Jump to: navigation, search

Contents

1 introdução a processar de língua natural

1.1 Porque processar de língua é útil

Como nós escrevemos programas para manipular a língua natural? Que perguntas sobre a língua poderíamos nós responder? Como os programas trabalhariam, e que dados necessitariam? Estes são justos alguns dos tópicos que nós cobriremos neste livro. Antes que nós tackle o assunto sistematicamente, nós faremos exame de um olhar rápido em algumas tarefas simples em que as ferramentas computacionais manipulam dados da língua em uma variedade de maneiras interessantes e non-trivial.

Nosso primeiro exemplo envolve o stress da palavra. O dicionário da pronunciação de CMU é um dicionário machine-readable que dê a pronunciação sobre de 125.000 palavras no inglês norte-americano. Cada entrada consiste em uma palavra no orthography padrão seguido por uma transcrição phonological. Para o exemplo, a entrada para a língua é a seguinte:

(1)		language / L AE1 NG G W AH0 JH .

Cada caráter ou grupo dos caráteres depois do slash representam um fonema inglês, e os números finais indicam o stress da palavra. Isto é, AE1 é o núcleo de uma sílaba forçada, quando AH0 for o núcleo do unstressed um. Deixe-nos supôr que nós queremos encontrar cada palavra no dicionário que exibe um teste padrão particular do stress; diga, as palavras cujo o stress preliminar está em sua quinto-última sílaba (este é chamado stress do pre-preantepenultimate). Procurarar através do dicionário pela mão seria tedious, e nós faltaríamos provavelmente alguns dos casos. Nós podemos escrever um programa simples que extraia os numeeses 0, 1 e 2 da transcrição e críe um campo novo stress_pattern para cada palavra que é justa uma seqüência destes números do stress. Depois que isto foi feito, é fácil fazer a varredura dos testes padrões extraídos do stress para toda a seqüência que terminar com 10000. Estão aqui algumas das palavras que nós podemos encontrar usando este método:

(2) ACCUMULATIVELY / AH0 K Y UW1 M Y AH0 L AH0 T IH0 V L IY0
    AGONIZINGLY / AE1 G AH0 N AY0 Z IH0 NG L IY0
    CARICATURIST / K EH1 R AH0 K AH0 CH ER0 AH0 S T
    CUMULATIVELY / K Y UW1 M Y AH0 L AH0 T IH0 V L IY0
    IMAGINATIVELY / IH2 M AE1 JH AH0 N AH0 T IH0 V L IY0
    INSTITUTIONALIZES / IH2 N S T AH0 T UW1 SH AH0 N AH0 L AY0 Z AH0 Z
    SPIRITUALIST / S P IH1 R IH0 CH AH0 W AH0 L AH0 S T
    UNALIENABLE / AH0 N EY1 L IY0 EH0 N AH0 B AH0 L


Nosso segundo exemplo envolve também a fonologia. Quando nós construímos um inventário dos sons para uma língua, nós estamos geralmente interessados apenas naqueles sons que podem fazer uma diferença no meaning da palavra. Para fazer este, nós procuramos pares mínimos; isto é, palavras distintas que diferem em somente um som. Para o exemplo, nós pudemos discutir que os sons [ p ] e [ b ] em inglês são distintivos porque se nós substituíssemos um com o outro, nós terminamos frequentemente acima com uma palavra diferente:


(3) pat vs. bat
    nip vs. nib

Suponha que nós queremos fazer mais sistematicamente o este para uma língua onde nós tenhamos uma lista das palavras, mas estamos tentando ainda determinar o inventário sadio. Como um caso no ponto, NLTK inclui um léxico para Rotokas, uma língua do leste de Papuan falada no console de Bougainville, perto de Papua Nova Guiné. Deixe-nos supôr-nos estão interessado em quantas vogais lá estão em Rotokas. Nós podemos escrever um programa para encontrar todas as palavras da quatro-letra que diferem somente por sua primeira vogal, e tabulate os resultados para ilustrar contrastes da vogal:

(4) kasi -    kesi kusi kosi
    kava -    -    kuva kova
    karu kiru keru kuru koru
    kapu kipu -    -    kopu
    karo kiro -    -    koro
    kari kiri keri kuri kori
    kapa -    kepa -    kopa
    kara kira kera -    kora
    kaku -    -    kuku koku
    kaki kiki -    -    koki


Os dois exemplos precedentes usaram recursos lexicais. Nós podemos também escrever programas para analisar textos em várias maneiras. Neste exemplo, nós tentamos construir um modelo dos testes padrões de palavras adjacentes no livro do genesis. Cada par de palavras adjacentes é sabido como um bigram, e nós podemos construir um modelo muito simples da língua biblical apenas contando bigrams. Há muitas coisas que úteis nós podemos fazer com tal informação, tal como identificar genres da literatura ou uniforme identificando o autor de uma parte de texto. Aqui nós usamo-lo para uma finalidade mais whimsical: para gerar o texto aleatório no estilo do genesis. Porque você verá, nós controlamos capturar algo sobre o fluxo do texto de uma palavra ao seguinte, mas além deste é simplesmente absurdo:

(5) lo, it came to the land of his father and he said, i will not be a
    wife unto him, saying, if thou shalt take our money in their kind,
    cattle, in thy seed after these are my son from off any more than all
    that is this day with him into egypt, he, hath taken away unawares to
    pass, when she bare jacob said one night, because they were born two
    hundred years old, as for an altar there, he had made me out at her
    pitcher upon every living creature after thee shall come near her:
    yea,		

Para nosso último exemplo, deixe-nos supõem que nós estamos acoplados na pesquisa estudar o contraste semântico em verbos ingleses. Nós hypothesize que uma fonte útil dos dados para explorar tais contrastes pôde ser uma lista das frases do verbo que conjoined com a palavra mas. Assim nós necessitamos realizar alguma análise gramatical para encontrar frases conjoined do verbo, e necessitamos também poder especificar mas como a junção. Melhor que tentando fazer a análise gramatical ourselves, nós podemos empregar um recurso em que as árvores sintáticas têm sido adicionadas já aos lotes das sentenças. Sabido melhor de tais recursos é a universidade do corpus de Pensilvânia Treebank (ou do Penn Treebank para o short), e nós podemos escrever um programa para ler árvores deste corpus, para encontrar exemplos das junções da frase do verbo que envolvem a palavra mas, e para indicar o texto analisado gramaticalmente que corresponde às duas frases do verbo.

(6) (VBZ has) (VP opened its market to foreign cigarettes)
      *BUT* (VBZ restricts) (NP advertising) (PP-CLR to designated places)
    (VBZ admits) (SBAR 0 she made a big mistake)
      *BUT* (VBD did) (RB n't) (VP elaborate)
    (VBD confirmed) (SBAR 0 he had consented to the sanctions)
      *BUT* (VBD declined) (S \*-1 to comment further)
    (VBP are) (NP-PRD a guide to general levels)
      *BUT* (VBP do) (RB n't) (ADVP-TMP always) (VP represent actual transactions)
    (VBN flirted) (PP with a conversion to tabloid format) (PP-TMP for years)
      *BUT* (ADVP-TMP never) (VBN executed) (NP the plan)
    (VBD ended) (ADVP-CLR slightly higher)
      *BUT* (VBD trailed) (NP gains in the Treasury market)
    (VBD confirmed) (NP the filing)
      *BUT* (MD would) (RB n't) (VP elaborate)

Em apresentar estes exemplos, nós tentamos dar-lhe um sabor da escala das coisas que podem ser feitas com língua natural usando ferramentas computacionais. Todos os exemplos acima foram gerados usando técnicas de programação simples e algumas linhas do código do python. Após ter trabalhado com o primeiro poucos capítulos deste livro, você poderá escreve tais programas você mesmo. No processo, você virá compreender os princípios de processar de língua natural, abreviados henceforth como NLP. No restante deste capítulo, nós dar-lhe-emos mais razões pensar de que NLP é importante e divertimento.

1.2 O Desafio Da Língua

1.2.1 A língua é rica e complexa

A língua é o manifestation principal da inteligência humana. Com a língua nós expressamos necessidades básicas e aspirations elevados, know-how técnico e vôos do fantasy. As idéias são compartilhadas sobre separações grandes da distância e do tempo. As seguintes amostras do inglês ilustram o richness da língua:

(7)
 a. Overhead the day drives level and grey, hiding the sun by a flight
    of grey spears.  (William Faulkner, *As I Lay Dying*, 1935)
 b. When using the toaster please ensure that the exhaust fan is turned
    on. (sign in dormitory kitchen)
 c. Amiodarone weakly inhibited CYP2C9, CYP2D6, and CYP3A4-mediated
    activities with Ki values of 45.1-271.6 |mu|\M (Medline, PMID: 10718780)
 d. Iraqi Head Seeks Arms (spoof news headline)
 e. The earnest prayer of a righteous man has great power and wonderful
    results. (James 5:16b)
 f. Twas brillig, and the slithy toves did gyre and gimble in the wabe
    (Lewis Carroll, *Jabberwocky*, 1872)
 g. There are two ways to do this, AFAIK :smile:  (internet discussion archive)

Os agradecimentos a este richness, o estudo da língua são parte de muitas disciplinas fora da lingüistica, including a tradução, do criticism literário, da filosofia, do anthropology e do psychology. Muitas disciplinas mais menos óbvias investigam o uso da língua, tal como o pathology da lei, do hermeneutics, do forensics, do telephony, do pedagogy, do archaeology, do cryptanalysis e do discurso. Cada um aplica metodologias distintas às observações do recolhimento, desenvolve teorias e testa hipóteses. Contudo todo o saque para aprofundar nossa compreensão da língua e do intellect que é manifestado na língua.

A importância da língua à ciência e às artes é combinada no significado pelo tesouro cultural embodied na língua. Cada uma das línguas humanas de ~7,000 do mundo é rica em respeitos originais, em seus histories e legendas orais da criação, para baixo a suas construções gramaticais e suas palavras very e seus nuances do meaning. As culturas ameaçadas do resto têm as palavras para distinguir o subspecies da planta de acordo com os usos therapeutic que são desconhecidos à ciência. As línguas evoluem sobre o tempo enquanto vêm no contato com se e fornecem uma janela original no pre-history humano. A mudança technological causa palavras novas como o blog e morfemas novos como o e e o cyber-. Em muitas partes do mundo, as variações lingüísticas pequenas de uma cidade ao seguinte adicionam até uma língua completamente diferente no espaço de uma movimentação half-hour. Para suas complexidade e diversidade breathtaking, a língua humana é como um tapestry colorido que estica através do tempo e do espaço.

1.2.2 Língua e o Internet

Hoje, povos de todas as caminhadas de vida — including profissionais, estudantes, e a população geral — são confrontados pelos volumes unprecedented da informação, o volume vasto de que é armazenado como texto unstructured. Em 2003, estimou-se que a produção anual dos livros atingiu 8 Terabyte. (um Terabyte tem 1.000 gigabytes, isto é, equivalente a 1.000 caminhões de coletor enchidos com os livros.) Faria exame ser humano de aproximadamente cinco anos para ler o material científico novo que é produzido cada 24 horas. Embora estas estimativas sejam baseadas em materiais impressos, cada vez mais a informação está também disponível eletronicamente. Certamente, houve uma explosão do índice do texto e dos multimedia no World Wide Web. Para muitos povos, uma fração grande e crescente do tempo do trabalho e de lazer é navigating gastado e alcançar este universo da informação.

A presença de assim muito texto no formulário eletrônico é um desafio enorme a NLP. Arguably, a única maneira para que os seres humanos lidem com a explosão da informação deve explorar as técnicas computacionais que podem sift através dos corpos enormes do texto.

Embora os motores de busca existentes sejam crucial ao crescimento e à popularidade da correia fotorreceptora, os seres humanos requerem a habilidade, o conhecimento, e a alguma sorte, extrair respostas a perguntas como que locais tourist podem mim visitam entre Filadélfia e Pittsburgh em um orçamento limitado? Que os críticos peritos dizem sobre câmeras digitais de SLR? Que predições sobre o mercado de aço foram feitas por comentadores credible na semana passada? Começar um computador responder-lhes é automaticamente um objetivo a longo prazo realístico, mas envolveria uma escala de tarefas processar de língua, including a extração da informação, o inference, e o summarization, e necessitá-la-ia ser realizada em uma escala e com um nível do robustness que é ainda além de nossas potencialidades atuais.

1.2.3 A promessa de NLP

Como nós vimos, NLP é importante para razões científicas, econômicas, sociais, e cultural. NLP está experimentando o crescimento rápido enquanto seus teorias e métodos são desdobrados em uma variedade de tecnologias novas da língua. Para esta razão é importante para uma escala larga dos povos ter um conhecimento trabalhando de NLP. Dentro do academia, isto inclui povos nas áreas dos humanities que computam e na lingüistica do corpus completamente à informática de e à inteligência artificial. Dentro da indústria, inclui povos na interação do humano-computador, na análise da informação do negócio, e no software da correia fotorreceptora desenvolvimento. Nós esperamos que você, um membro desta audiência diversa que lê estes materiais, venha apreciar os funcionamentos deste campo ràpidamente crescente de NLP e aplique suas técnicas na solução de problemas real-world.

Os seguintes capítulos apresentam uma seleção cuidadoso-equilibrada de fundações teóricas e de aplicações práticas, e equipam leitores para trabalhar com séries de dados grandes, para criar modelos robust de fenômenos lingüísticos, e para desdobrá-los em tecnologias da língua de funcionamento. Integrando toda a este no toolkit da língua natural (NLTK), nós esperamos que este livro abra acima do esforço emocionante de processar de língua natural prático a uma audiência mais larga do que sempre antes.

1.3 Língua e computação

1.3.1 NLP e inteligência

Um desafio long-standing dentro da informática de deveu construir máquinas inteligentes. A medida principal da inteligência da máquina foi lingüística, a saber o teste de Turing: pode uma resposta do sistema de diálogo, a um usuário datilografado a entrada com sua própria saída textual, executar assim naturalmente que os usuários não podem a distinguir de um interlocutor humano usando a mesma relação? Hoje, há uma pesquisa e um desenvolvimento ongoing substanciais em áreas como a tradução de máquina e o diálogo falado, e os sistemas comerciais significativos estão em uso difundido. O seguinte diálogo ilustra uma aplicação típica:

(8) S: How may I help you?
    U: When is Saving Private Ryan playing?
    S: For what theater?
    U: The Paramount theater.
    S: Saving Private Ryan is not playing at the Paramount theater, but
     it's playing at the Madison theater at 3:00, 5:30, 8:00, and 10:30.

Os sistemas de diálogo comerciais de hoje são limitados estritamente aos domínios estreito-definidos. Nós não poderíamos pedir o sistema acima para fornecer dirigir instruções ou detalhes de restaurantes próximos a menos que a informação requisite fosse armazenada já e as sentenças apropriadas da pergunta e da resposta fossem incorporadas no sistema processando de língua. Observe que o sistema acima parece compreender os objetivos do usuário: o usuário pergunta quando um filme está mostrando e o sistema determina corretamente deste que o usuário quer ver o filme. Este inference parece assim óbvio aos seres humanos que nós geralmente não observamos mesmo que estêve feito, contudo um sistema de língua natural necessita ser dotado com esta potencialidade a fim interagir naturalmente. Sem ele, quando pedido você sabe quando conservar Ryan confidencial está jogando, um sistema pôde simplesmente — e unhelpfully — responda com um frio sim. Quando parecer que este sistema de diálogo pode executar inferences simples, tal sophistication é encontrado somente em protótipos da pesquisa da borda de corte. Instead, os colaboradores de sistemas de diálogo comerciais usam suposições contextuais e a lógica simples do negócio assegurar-se de que as maneiras diferentes em que um usuário pôde expressar pedidos ou fornecer a informação estejam seguradas em uma maneira que faça o sentido para a aplicação particular. Assim, se o usuário diz quando é..., ou eu quero saber quando..., ou posso você dizer-me quando..., as réguas simples renderão sempre tempos da seleção. Isto é suficiente para que o sistema forneça um serviço útil.

Apesar de alguns avanços recentes, é geralmente verdadeiro que aqueles sistemas de língua natural que têm sido desdobrados inteiramente ainda não podem executar comum-detetam o raciocínio ou o extraem no conhecimento do mundo. Nós podemos esperar estes problemas difíceis da inteligência artificial a ser resolvidos, mas no ínterim é necessário viver com algumas limitações severas nas potencialidades do raciocínio e do conhecimento de sistemas de língua natural. Conformemente, para a direita do começo, um objetivo importante da pesquisa de NLP foi fazer o progresso no grail holy da interação lingüística natural sem recourse a esta potencialidade irrestrita do conhecimento e do raciocínio. Este é um desafio velho, e assim que é instructive rever o history do campo.

1.3.2 Processar da língua e de símbolo

A noção very que a língua natural poderia ser tratada em uma maneira computacional cresceu fora de um programa de pesquisa, datando para trás aos 1900s adiantados, para reconstruct o raciocínio matemático usando a lógica, manifestada o mais claramente no trabalho por Frege, por Russell, por Wittgenstein, por Tarski, por Lambek e por Carnap. Este trabalho conduziu à noção da língua como um sistema formal amenable a processar automático. Três desenvolvimentos mais atrasados colocaram a fundação para processar de língua natural. O primeiro era teoria da língua formal. Isto definiu uma língua como um jogo das cordas aceitadas por uma classe dos autômatos, tais como línguas context-free e autômatos do pushdown, e desde que os underpinnings para a sintaxe computacional.

O segundo desenvolvimento era lógica simbólica. Isto forneceu um método formal capturando os aspectos selecionados da língua natural que são relevantes para expressar provas lógicas. Um cálculo formal na lógica simbólica fornece a sintaxe de uma língua, junto com réguas do inference e, possivelmente, réguas da interpretação em um modelo ajust-set-theoretic; os exemplos são lógica do propositional e primeira lógica da ordem. Dado tal cálculo, com uma sintaxe e uma semântica well-defined, torna-se possível associar meanings com as expressões da língua natural traduzindo as em expressões do cálculo formal. Para o exemplo, se nós traduzirmos a serra Mary de John em um saw(j da fórmula, o m), nós (implicitamente ou explicitamente) intepret que o verbo inglês viu como uma relação binária, e John e Mary como denotar indivíduos. Umas indicações mais gerais como todos os pássaros voam requerem quantifiers, neste caso ∀, meaning para tudo: ∀x (bird(x) → fly(x)). Este uso da lógica forneceu a maquinaria técnica para executar os inferences que são uma parte importante da compreensão de língua.

Um desenvolvimento pròxima relacionado era o princípio do compositionality, a saber que o meaning de uma expressão complexa é compreendido do meaning de suas peças e de sua modalidade da combinação. Este princípio forneceu uma correspondência útil entre a sintaxe e a semântica, a saber que o meaning de uma expressão complexa poderia ser computado recursively. Considere a sentença que não é verdadeiro que p, onde p é um proposition. Nós podemos representar o meaning desta sentença como o not(p). Similarmente, nós podemos representar o meaning da serra Mary de John como o saw(j, m). Agora nós podemos computar a interpretação dela não somos verdadeiros que John viu Mary recursively, usando a informação acima, começar o not(saw(j, m)).

A parte esboçada das aproximações apenas a premissa que computar com língua natural confia crucialmente em réguas para manipular respresentações simbólicas. Por um determinado período no desenvolvimento de NLP, particularmente durante os 1980s, esta premissa forneceu um ponto começar comum para os lingüistas e os practioners de NLP, conduzindo a uma família dos formalisms da gramática sabidos como (ou característica-baseados) a gramática unification-baseada, e às aplicações de NLP executadas na língua de programação do prolog. Embora NLP gramática-baseado fosse ainda uma área de pesquisa significativa, tornou-se eclipsado um tanto nas últimas dívidas dos anos 15–20 a uma variedade dos fatores. Uma influência significativa veio do recognition de discurso automático. Embora o trabalho adiantado em processar do discurso adotasse um modelo que emulasse o tipo de processar phonological rule-based typified pelo teste padrão sadio do inglês [ N. & Halle, 1968 ], este girou para fora para ser impossìvel inadequado em tratar do problema duro de reconhecer o discurso real em qualquer coisa como o tempo real. Pelo contraste, os sistemas que a aprendizagem involvida modelou dos corpos grandes de dados do discurso eram significativamente mais exatos, eficientes e robust. Além, a comunidade do discurso encontrou que o progresso em sistemas melhores do edifício estêve ajudado enorme pela construção de recursos compartilhados para o desempenho quantitatively de medição de encontro aos dados de teste comuns. Eventualmente, muita da comunidade de NLP embraced uma orientação intensive dos dados a processar de língua, acoplado com um uso de crescimento de máquina-aprender técnicas e a metodologia avaliação-conduzida.

1.3.3 Filosófico Divide-se

As aproximações contrastando a NLP descrito na seção precedente relacionam-se para trás aos debates metaphysical adiantados sobre o rationalism contra o empiricism e o realism contra o idealism que ocorreu no período do enlightenment da filosofia ocidental. Estes debates ocorreram de encontro a um backdrop de pensar orthodox em qual a fonte de todo o conhecimento foi acreditada para ser revelation divine. Durante este período dos décimos séptimos e décimos oitavos séculos, os filósofos discutiram que a razão humana ou a experiência sensory têm a prioridade sobre o revelation. Descartes e Leibniz, amongst outro, fizeram exame da posição rationalist, afirmando que toda a verdade tem suas origens no pensamento humano, e na existência "de idéias innate" implanted em nossas mentes do nascimento. Para o exemplo, discutiram que os princípios da geometria euclidean estiveram desenvolvidos usando a razão humana, e não foram o resultado do revelation supernatural ou experiência sensory. No contraste, Locke e outro fizeram exame da vista do empiricist, que nossa fonte preliminar do conhecimento é a experiência de nossas faculdades, e que a razão humana joga um papel secundário em refletir nessa experiência. A evidência prototypical para esta posição era a descoberta — de Galileo; baseado na observação cuidadosa do movimento dos planetas — que o sistema solar é heliocentric e nao geocentric. No contexto da lingüistica, este debate conduz à seguinte pergunta: a que extensão a experiência lingüística humana, contra nossa da "faculdade innate língua", fornece a base para nosso conhecimento da língua? Em NLP esta matéria aplaina como diferenças na prioridade de dados do corpus contra o introspection lingüístico na construção de modelos computacionais. Nós retornaremos a esta edição mais tarde no livro.

Um interesse mais adicional, enshrined no debate entre o realism e o idealism, era o status metaphysical das construções de uma teoria. Kant discutiu para uma distinção entre fenômenos, os manifestations que nós podemos experimentar, e "coisas nse" que podem nunca sabido diretamente. Um realist lingüístico faria exame de uma construção teórica como a frase de substantivo para ser a entidade real do mundo que existem independentemente da percepção humana e da razão, e que causa realmente os fenômenos lingüísticos observados. Um idealist lingüístico, na outra mão, discutiria que as frases de substantivo, junto com umas construções mais abstratas como respresentações semânticas, são intrìnseca unobservable, e joga simplesmente o papel de fictions úteis. A maneira que os lingüistas escrevem sobre teorias betrays frequentemente uma posição do realist, quando os practitioners de NLP ocuparem o território neutro ou o lean outro para a posição idealist. Assim, em NLP, é frequentemente bastante se um abstraction teórico conduzir a um resultado útil; não importa se este resultado verte alguma luz em processar lingüístico humano.

Estas edições são ainda hoje vivo, e mostram acima nas distinções entre simbólico contra os métodos estatísticos, profundo contra processar raso, binário contra classificações do gradient, e científico contra objetivos da engenharia. Entretanto, tais contrastes são agora nuanced altamente, e o debate é não mais longo como polarizado como ele era uma vez. No fato, a maioria das discussões — e a maioria dos avanços nivelam — envolva "um ato balançando". Para o exemplo, uma posição intermediária deve supor que os seres humanos estão dotados innately com métodos de aprendizagem analogical e memory-based (rationalism fraco), e usar estes métodos identificar testes padrões significativos em sua experiência sensory da língua (empiricism). Para uma ilustração mais concreta, considere a maneira em que os statistics dos corpora grandes podem servir como a evidência para escolhas binárias em uma gramática simbólica. Por exemplo, os dicionários descrevem as palavras absolutamente e definitivamente como quase synonymous, contudo seus testes padrões do uso são completamente distintos quando combinados com um seguinte verbo, como mostrado na tabela 1.1.

Tabela 1.1:

   +-----------------+------------+-------------+-------------+--------------+
   | Google hits     |`adore`:lx: | `love`:lx:  |`like`:lx:   |`prefer`:lx:  |
   +-----------------+------------+-------------+-------------+--------------+
   | `absolutely`:lx:|     289,000|       905,00|       16,200|           644|
   +-----------------+------------+-------------+-------------+--------------+
   | `definitely`:lx:|       1,460|       51,000|      158,000|        62,600|
   +-----------------+------------+-------------+-------------+--------------+
   | ratio           |       198:1|         18:1|         1:10|          1:97|
   +-----------------+------------+-------------+-------------+--------------+

   `Absolutely`:lx: vs `Definitely`:lx: (Liberman 2005, LanguageLog.org)

Porque você verá, adore absolutamente é aproximadamente 200 vezes mais populares que adore definitivamente, quando prefira absolutamente é aproximadamente 100 vezes mais raro então preferem definitivamente. Esta informação é usada por modelos estatísticos da língua, mas conta também como a evidência para um cliente simbólico da combinação da palavra em que absolutamente pode somente modificar ações ou atributos extremos, uma propriedade que poderia ser representada como uma característica binário-avaliada de determinados artigos lexicais. Assim, nós vemos dados estatísticos informar modelos simbólicos. Uma vez que esta informação codified simbolicamente, está disponível para ser explorado como uma característica contextual para a língua estatística que modela, ao lado de muitas outras fontes ricas da informação simbólica, como mão-construído analisa gramaticalmente árvores e respresentações semânticas. Agora o círculo é closed, e nós vemos a informação simbólica informar modelos estatísticos.

Este rapprochement novo está causando muitos desenvolvimentos novos excitando. Nós tocaremos em alguma destes nas páginas seguindo. Nós demasiado executaremos este ato balançando, empregar aproxima-se a NLP que integram estas filosofias e metodologias histórico-opostas.

1.4 A arquitetura de sistemas lingüísticos e de NLP

1.4.1 Gramática e modularidade generative

Um dos descendentes intelectuais da teoria da língua formal era a estrutura lingüística sabida como a gramática generative. Tal gramática contem um jogo de réguas que especificam recursively (ou gere) o jogo de cordas well-formed em uma língua. Quando houver um spectrum largo dos modelos que devem algum allegiance a este núcleo, a gramática transformational de Chomsky, em seus vários incarnations, é provavelmente sabido melhor. Na tradição de Chomskyan, reivindica-se que os seres humanos têm os tipos distintos do conhecimento lingüístico, organizados nos módulos diferentes: para o exemplo, o conhecimento da estrutura sadia de uma língua (fonologia), o conhecimento da estrutura da palavra (morfologia), o conhecimento da estrutura da frase (sintaxe), e o conhecimento do meaning (semântica). Em uma teoria lingüística formal, cada tipo do conhecimento lingüístico é feito explícito como o módulo diferente da teoria, consistindo em uma coleção de elementos básicos junto com uma maneira de combiná-los em estruturas complexas. Para o exemplo, um módulo phonological pôde fornecer um jogo dos fonemas junto com uma operação para concatenar fonemas em cordas phonological. Similarmente, um módulo sintático pôde fornecer os nós etiquetados como o wih dos primitivos junto um mecanismo para montá-los em árvores. Um jogo de primitivos lingüísticos, junto com alguns operadores para definir elementos complexos, é chamado frequentemente um nível da respresentação.

As.well.as os módulos definindo, uma gramática generative prescreverá como os módulos interagem. Para o exemplo, as cordas phonological well-formed fornecerão o índice phonological das palavras, e as palavras fornecerão os elementos terminais de árvores da sintaxe. As árvores sintáticas well-formed serão traçadas às respresentações semânticas, e a informação contextual ou pragmatic moerá estas respresentações semânticas em alguma situação real-world.

Como nós indicamos acima, um aspecto importante das teorias da gramática generative é que estão pretendidos modelar o conhecimento lingüístico dos altofalantes e dos hearers; não são pretendidos explicar como os seres humanos processam realmente a informação lingüística. Isto, na parte, é refletido na reivindicação que um grammer generative codifica o competence de um altofalante nativo idealized, melhor que no desempenho do altofalante. Uma distinção pròxima relacionada deve dizer que uma gramática generative codifica o conhecimento declarativo melhor que processual. O conhecimento declarativo pode ser anotado como "sabendo que", visto que o conhecimento processual "está sabendo". Porque você pôde esperar, a lingüistica computacional tem o papel crucial de propôr modelos processuais da língua. Um exemplo central está analisando gramaticalmente, onde nós temos que desenvolver os mecanismos computacionais que convertem cordas das palavras em respresentações estruturais tais como árvores da sintaxe. Não obstante, aceita-se extensamente que os modelos computacionais bem-projetados da língua contêm aspectos declarativos e processuais. Assim, um cliente cheio de analisar gramaticalmente dirá como o conhecimento declarativo no formulário de uma gramática e de um léxico combina com o conhecimento processual que determina como uma análise sintática deve ser atribuída a uma corda dada das palavras. Este conhecimento processual será expressado como um algoritmo: isto é, uma receita explícita para traçar alguma entrada em uma saída apropriada em um número finito das etapas.

Um algoritmo analisando gramaticalmente simples para gramáticas context-free, por exemplo, olhares primeiramente para uma régua do formulário S → X1 ... Xn, e configurações uma estrutura de árvore parcial. Pisa então com as réguas da gramática de um a um, procurando uma régua do formulário X1 → Y1 ... Yj que expandirá a filha leftmost introduziu pela régua de S, e estende mais mais a árvore parcial. Este processo continua, para o exemplo procurando uma régua do formulário Y1 → Z1 ... Zk e expansão da árvore parcial apropriadamente, até que a etiqueta leftmost do nó na árvore parcial estiver uma categoria lexical; o parser verifica então para ver se a primeira palavra da entrada puder pertencer à categoria. Para ilustrar, deixe-nos supõem que a primeira régua da gramática escolhida pelo parser é S → NP VP e a segunda régua escolhida é NP → Det N; então a árvore parcial será como segue:

(8) tree_images/introduction-tree-1.png

Se nós supusermos que a corda que da entrada nós estamos tentando analisar gramaticalmente formos o gato dormiu, nós sucederá em identificar como uma palavra que pudesse pertencer à categoria Det. Neste caso, o parser vai sobre ao nó seguinte da árvore, do N, e da palavra de entrada seguinte, gato. Entretanto, se nós construíssemos a mesma árvore parcial com uma corda da entrada fêz o sono do gato, analisar gramaticalmente falharia neste momento, desde que não é da categoria Det. O parser jogaria afastado a estrutura construída assim distante e procuraria uma maneira alternativa de ir do nó de S para baixo a uma categoria lexical leftmost (por exemplo, usando uma régua S → V NP VP). O ponto importante para agora não é os detalhes deste ou de outros algoritmos analisando gramaticalmente; nós discutimos este tópico muito mais inteiramente no capítulo em analisar gramaticalmente. Rather, nós queremos apenas ilustrar a idéia que um algoritmo pode ser quebrado para baixo em um número fixo das etapas que produzem um resultado definitivo na extremidade.

Em figura 1.1 nós ilustramos mais mais alguns destes pontos no contexto de um sistema de diálogo falado, tal como nosso exemplo mais adiantado de uma aplicação que ofereça a informação do usuário sobre filmes atualmente na mostra. ../images/dialogue.png

Figura 1.1: Arquitetura simples do encanamento para um sistema de diálogo falado

Abaixo o lado da mão esquerda do diagrama é um "encanamento" de alguns componentes compreensivos do discurso representativo. Estes traçam do discurso input através de analisar gramaticalmente sintático a algum tipo da respresentação do meaning. Acima do righthand o lado é um encanamento inverso dos componentes para a geração do conceito-à-discurso. Estes componentes constituem o aspecto dinâmico ou processual de processar de língua natural do sistema. Na coluna central do diagrama estão alguns corpos representativos da informação de estática: os repositórios dos dados language-related que são convidados pelos componentes processando.

O diagrama ilustra que as maneiras lingüístico-linguistically-motivated de modularizing o conhecimento lingüístico estão refletidas frequentemente em sistemas computacionais. Isto é, os vários componentes são organizados de modo que os dados que trocam correspondam aproximadamente aos níveis diferentes da respresentação. Para o exemplo, a saída do componente da análise do discurso conterá seqüências de respresentações phonological das palavras, e a saída do parser será uma respresentação semântica. Naturalmente a paralela não é precisa, na parte porque é frequentemente uma matéria do expedience prático onde colocar os limites entre componentes processando diferentes. Para o exemplo, nós podemos supor que dentro do componente analisar gramaticalmente há um nível da respresentação sintática, embora nós escolhamos não expo este no nível do diagrama do sistema. Apesar de tais idiosyncracies, a maioria de sistemas de NLP quebram abaixo seu trabalho em uma série de etapas discretas. No processo da compreensão de língua natural, estas etapas forem de uns níveis mais concretos abstrair mais , quando na produção da língua natural, o sentido são invertidas.

1.5 Antes De Proseguir Mais mais...

Um aspecto importante de aprender NLP que usa estes materiais deve experimentar o desafio e — nós esperamos — a satisfação de criar o software para processar a língua natural. O software acompanhando, NLTK, está disponível para livre e funciona em a maioria de sistemas operando-se including Linux/Unix, mac OSX e Microsoft Windows. Você pode download NLTK de nltk.org, junto com a documentação extensiva. Nós incentivamo-lo instalar o python e o NLTK em sua máquina antes de ler além do fim deste capítulo.

1.6 Leitura Mais adicional

Diversos Web site têm a informação útil sobre NLP, including conferências, recursos, e grupos do especial-interesse, por exemplo. www.lt-world.org, www.aclweb.org, www.elsnet.org. O Web site da associação para a lingüistica computacional, em www.aclweb.org, contem uma vista geral da lingüistica computacional, including cópias de capítulos introdutórios dos textbooks recentes. Wikipedia têm entradas para NLP e seus subfields (mas não confunda processar de língua natural com o outro NLP: programação neuro-lingüística.) Três livros fornecem exames detalhados do campo: [ Cole, 1997 ], [ Dale, Moisl, & Somers, 2000 ], [ Mitkov, 2002 ]. Diversos sistemas de NLP têm as relações em linha que você pôde gostar de experimentar com, por exemplo:

Sobre este original...

Este capítulo é um esboço da introdução a processar de língua natural, por Steven Pássaro, Ewan Klein e Edward Loper, copyright © 2007 os autores. É distribuído com o toolkit da língua natural [nltk.org], versão 0.8b2, sob os termos da licença creativa do attribution-ShareAlike-ShareAlike das terras comuns [1].

Portuguese translation details...

Personal tools