문자열에서 구조화된 개체 추출 및 구문 분석Extract and Parse Structured Objects out of String

또한 ConvertFrom-String cmdlet에 대해 몇 가지 추가 기능이 도입되었습니다.This also introduces some additional functionality for the ConvertFrom-String cmdlet:

  • 기본적으로 범위 텍스트 속성을 제거합니다.Removes the extent text property by default. -IncludeExtent 매개 변수와 함께 포함할 수 있습니다.You can include it with the -IncludeExtent parameter.

  • MVP 및 커뮤니티 피드백으로 많은 학습 알고리즘 버그 수정Many learning algorithm bug fixes from MVP and community feedback.

  • 학습 알고리즘의 결과를 템플릿 파일의 설명에 저장하는 새로운 -UpdateTemplate 매개 변수.A new -UpdateTemplate parameter to save the results of the learning algorithm into a comment in the template file. 이 매개 변수는 학습 프로세스(가장 느린 단계)를 일회 비용으로 만듭니다.This makes the learning process (the slowest stage) a one-time cost. 인코딩된 학습 알고리즘이 포함된 템플릿에서 Convert-String을 실행하면 거의 즉각적입니다.Running Convert-String with a template that contains the encoded learning algorithm is now nearly instantaneous.

문자열 콘텐츠에서 구조화된 개체 추출 및 구문 분석Extract and parse structured objects out of string content

Microsoft Research와 공동 작업으로 새로운 ConvertFrom-String cmdlet을 추가했습니다.In collaboration with Microsoft Research, a new ConvertFrom-String cmdlet has been added.

이 cmdlet은 기본적인 구분 구문 분석 및 자동 생성된 예제 기반 구문 분석의 두 가지 모드를 지원합니다.This cmdlet supports two modes: basic delimited parsing, and auto generated example-driven parsing.

기본적으로 구분 구문 분석에서는 입력을 공백으로 분할하고 결과 그룹에 속성 이름을 할당합니다.Delimited parsing, by default, splits the input at white space, and assigns property names to the resulting groups. 다음과 같이 구분 기호를 사용자 지정할 수 있습니다.You can customize the delimiter:

"Hello World" | ConvertFrom-String | Format-Table -Auto
P1     P2
--     --
Hello  World

또한 cmdlet은 Microsoft ResearchFlashExtract 조사 작업에 따라 자동 생성된 예제 기반 구문 분석도 지원합니다.The cmdlet also supports auto-generated example-driven parsing based on the FlashExtract research work in Microsoft Research.

텍스트 기반 주소록을 사용하여 시작합니다.To get started, consider a text-based address book:

    Ana Trujillo

    Redmond, WA

    Antonio Moreno

    Renton, WA

    Thomas Hardy

    Seattle, WA

    Christina Berglund

    Redmond, WA

    Hanna Moos

    Puyallup, WA

몇 가지 예제를 템플릿으로 사용할 파일에 복사합니다.Copy a few examples into a file, which you will use as your template:

    Ana Trujillo

    Redmond, WA

    Antonio Moreno

    Renton, WA

추출하려는 데이터를 중괄호로 묶고 이름을 지정합니다.Put curly braces around data that you want to extract, giving it a name as you do so. 이름 속성(및 연결된 다른 속성)이 여러 번 나타날 수 있으므로 별표(*)를 사용하여 많은 속성을 하나의 레코드로 추출하지 않고 여러 레코드로 추출함을 나타냅니다.Because the Name property (and its associated other properties) can appear multiple times, use an asterisk (*) to indicate that this results in multiple records (rather than extracting a bunch of properties into one record):

    {Name\*:Ana Trujillo}

    {City:Redmond}, {State:WA}

    {Name\*:Antonio Moreno}

    {City:Renton}, {State:WA}

이 예제 집합에서 ConvertFrom-String은 입력 파일에서 유사한 구조를 가진 개체 기반 출력을 자동으로 추출할 수 있습니다.From this set of examples, ConvertFrom-String can now automatically extract object-based output from input files with similar structure.

Get-Content .\addresses.output.txt | ConvertFrom-String -TemplateFile .\addresses.template.txt | Format-Table -Auto
ExtentText                     Name               City     State
----------                     ----               ----     -----
Ana Trujillo...                Ana Trujillo       Redmond  WA
Antonio Moreno...              Antonio Moreno     Renton   WA
Thomas Hardy...                Thomas Hardy       Seattle  WA
Christina Berglund...          Christina Berglund Redmond  WA
Hanna Moos...                  Hanna Moos         Puyallup WA

추출된 텍스트에서 추가 데이터 조작을 수행하기 위해 ExtentText 속성은 레코드가 추출된 원시 텍스트를 캡처합니다.To do additional data manipulation on extracted text, the ExtentText property captures the raw text from which the record was extracted. 이 기능에 대한 사용자 의견을 제공하거나 예제를 작성하는 데 문제가 있는 콘텐츠를 공유하려면 psdmfb@microsoft.com으로 메일을 보내주세요.To provide feedback on this feature, or to share content for which you are having difficulty writing examples, please email psdmfb@microsoft.com.