https://github.com/wassname/phoneme2grapheme
Teaching machines to spell with deep learning (acc=>80%) e.g. a model hears "pɹˈaʊd˺ɚ" and writes "prowder" (but it should be "prouder")
https://github.com/wassname/phoneme2grapheme
cmudict deep-learning deeplearning machine-learning nlp pronunciation spelling
Last synced: about 1 year ago
JSON representation
Teaching machines to spell with deep learning (acc=>80%) e.g. a model hears "pɹˈaʊd˺ɚ" and writes "prowder" (but it should be "prouder")
- Host: GitHub
- URL: https://github.com/wassname/phoneme2grapheme
- Owner: wassname
- Created: 2017-05-31T14:00:37.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-01T06:02:05.000Z (about 9 years ago)
- Last Synced: 2025-04-15T00:51:39.703Z (about 1 year ago)
- Topics: cmudict, deep-learning, deeplearning, machine-learning, nlp, pronunciation, spelling
- Language: Jupyter Notebook
- Homepage:
- Size: 1.1 MB
- Stars: 19
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: readme.html
Awesome Lists containing this project
README
readme
.markdown-preview-enhanced pre.editor-colors.editor-colors,
.markdown-preview-enhanced code {
background-color: #f7f7f7 !important;
}
pre.editor-colors {
background-color: #fff;
color: #333;
}
pre.editor-colors .line.cursor-line {
background-color: #f5f5f5;
}
pre.editor-colors .invisible {
color: #c0c0c0;
}
pre.editor-colors .cursor {
border-left: 2px solid #000;
}
pre.editor-colors .selection .region {
background-color: #c8c8fa;
}
pre.editor-colors .bracket-matcher .region {
border-bottom: 1px solid #000;
box-sizing: border-box;
}
pre.editor-colors .invisible-character {
color: #c0c0c0;
}
pre.editor-colors .indent-guide {
color: #c0c0c0;
}
pre.editor-colors .wrap-guide {
background-color: #c0c0c0;
}
pre.editor-colors .gutter {
background-color: #fff;
color: #333;
}
pre.editor-colors .gutter .line-number {
color: #333;
-webkit-font-smoothing: antialiased;
}
pre.editor-colors .gutter .line-number.cursor-line {
color: #333;
background-color: #f5f5f5;
}
pre.editor-colors .gutter .line-number.cursor-line-no-selection {
background-color: transparent;
}
pre.editor-colors .gutter .line-number .icon-right {
color: #333;
}
pre.editor-colors .gutter:not(.git-diff-icon) .line-number.git-line-removed.git-line-removed::before {
bottom: -3px;
}
pre.editor-colors .gutter:not(.git-diff-icon) .line-number.git-line-removed::after {
content: "";
position: absolute;
left: 0px;
bottom: 0px;
width: 25px;
border-bottom: 1px dotted rgba(255, 236, 236, 0.5);
pointer-events: none;
}
pre.editor-colors .gutter .line-number.folded,
pre.editor-colors .gutter .line-number:after,
pre.editor-colors .fold-marker:after {
color: #333;
}
pre.editor-colors .search-results .mpe-syntax--marker .region {
background-color: transparent;
border: 1px solid #ed6a43;
}
pre.editor-colors .search-results .mpe-syntax--marker.current-result .region {
border: 1px solid #fff;
}
.mpe-syntax--comment,
.mpe-syntax--punctuation.mpe-syntax--definition.mpe-syntax--comment,
.mpe-syntax--string.mpe-syntax--comment {
color: #969896;
}
.mpe-syntax--constant,
.mpe-syntax--entity.mpe-syntax--name.mpe-syntax--constant,
.mpe-syntax--variable.mpe-syntax--other.mpe-syntax--constant,
.mpe-syntax--variable.mpe-syntax--language {
color: #0086b3;
}
.mpe-syntax--entity,
.mpe-syntax--entity.mpe-syntax--name {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #795da3;
}
.mpe-syntax--variable.mpe-syntax--parameter.mpe-syntax--function {
color: #333;
}
.mpe-syntax--entity.mpe-syntax--name.mpe-syntax--tag {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #63a35c;
}
.mpe-syntax--keyword {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #a71d5d;
}
.mpe-syntax--storage,
.mpe-syntax--storage.mpe-syntax--type {
color: #a71d5d;
}
.mpe-syntax--storage.mpe-syntax--modifier.mpe-syntax--package,
.mpe-syntax--storage.mpe-syntax--modifier.mpe-syntax--import,
.mpe-syntax--storage.mpe-syntax--type.mpe-syntax--java {
color: #333;
}
.mpe-syntax--string,
.mpe-syntax--punctuation.mpe-syntax--definition.mpe-syntax--string,
.mpe-syntax--string .mpe-syntax--punctuation.mpe-syntax--section.mpe-syntax--embedded .mpe-syntax--source {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #183691;
}
.mpe-syntax--support {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #0086b3;
}
.mpe-syntax--meta.mpe-syntax--property-name {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #0086b3;
}
.mpe-syntax--variable {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #ed6a43;
}
.mpe-syntax--variable.mpe-syntax--other {
color: #333;
}
.mpe-syntax--invalid.mpe-syntax--broken {
font-weight: bold;
font-style: italic;
text-decoration: underline;
color: #b52a1d;
}
.mpe-syntax--invalid.mpe-syntax--deprecated {
font-weight: bold;
font-style: italic;
text-decoration: underline;
color: #b52a1d;
}
.mpe-syntax--invalid.mpe-syntax--illegal {
font-style: italic;
text-decoration: underline;
background-color: #b52a1d;
color: #f8f8f8;
}
.mpe-syntax--carriage-return {
font-style: italic;
text-decoration: underline;
background-color: #b52a1d;
color: #f8f8f8;
undefined: ^M;
}
.mpe-syntax--invalid.mpe-syntax--unimplemented {
font-weight: bold;
font-style: italic;
text-decoration: underline;
color: #b52a1d;
}
.mpe-syntax--message.mpe-syntax--error {
color: #b52a1d;
}
.mpe-syntax--string .mpe-syntax--source {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #333;
}
.mpe-syntax--string .mpe-syntax--variable {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #0086b3;
}
.mpe-syntax--source.mpe-syntax--regexp,
.mpe-syntax--string.mpe-syntax--regexp {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #183691;
}
.mpe-syntax--string.mpe-syntax--regexp.mpe-syntax--character-class,
.mpe-syntax--string.mpe-syntax--regexp .mpe-syntax--constant.mpe-syntax--character.mpe-syntax--escape,
.mpe-syntax--string.mpe-syntax--regexp .mpe-syntax--source.mpe-syntax--ruby.mpe-syntax--embedded,
.mpe-syntax--string.mpe-syntax--regexp .mpe-syntax--string.mpe-syntax--regexp.mpe-syntax--arbitrary-repitition {
color: #183691;
}
.mpe-syntax--string.mpe-syntax--regexp .mpe-syntax--constant.mpe-syntax--character.mpe-syntax--escape {
font-weight: bold;
color: #63a35c;
}
.mpe-syntax--support.mpe-syntax--constant {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #0086b3;
}
.mpe-syntax--support.mpe-syntax--variable {
color: #0086b3;
}
.mpe-syntax--meta.mpe-syntax--module-reference {
color: #0086b3;
}
.mpe-syntax--markup.mpe-syntax--list {
color: #693a17;
}
.mpe-syntax--markup.mpe-syntax--heading,
.mpe-syntax--markup.mpe-syntax--heading .mpe-syntax--entity.mpe-syntax--name {
font-weight: bold;
color: #1d3e81;
}
.mpe-syntax--markup.mpe-syntax--quote {
color: #008080;
}
.mpe-syntax--markup.mpe-syntax--italic {
font-style: italic;
color: #333;
}
.mpe-syntax--markup.mpe-syntax--bold {
font-weight: bold;
color: #333;
}
.mpe-syntax--markup.mpe-syntax--raw {
font-weight: normal;
font-style: normal;
text-decoration: none;
color: #0086b3;
}
.mpe-syntax--markup.mpe-syntax--deleted,
.mpe-syntax--meta.mpe-syntax--diff.mpe-syntax--header.mpe-syntax--from-file,
.mpe-syntax--punctuation.mpe-syntax--definition.mpe-syntax--deleted {
background-color: #ffecec;
color: #bd2c00;
}
.mpe-syntax--markup.mpe-syntax--inserted,
.mpe-syntax--meta.mpe-syntax--diff.mpe-syntax--header.mpe-syntax--to-file,
.mpe-syntax--punctuation.mpe-syntax--definition.mpe-syntax--inserted {
background-color: #eaffea;
color: #55a532;
}
.mpe-syntax--markup.mpe-syntax--changed,
.mpe-syntax--punctuation.mpe-syntax--definition.mpe-syntax--changed {
background-color: #ffe3b4;
color: #ef9700;
}
.mpe-syntax--markup.mpe-syntax--ignored,
.mpe-syntax--markup.mpe-syntax--untracked {
color: #d8d8d8;
background-color: #808080;
}
.mpe-syntax--meta.mpe-syntax--diff.mpe-syntax--range {
color: #795da3;
font-weight: bold;
}
.mpe-syntax--meta.mpe-syntax--diff.mpe-syntax--header {
color: #0086b3;
}
.mpe-syntax--meta.mpe-syntax--separator {
font-weight: bold;
color: #1d3e81;
}
.mpe-syntax--meta.mpe-syntax--output {
color: #1d3e81;
}
.mpe-syntax--brackethighlighter.mpe-syntax--tag,
.mpe-syntax--brackethighlighter.mpe-syntax--curly,
.mpe-syntax--brackethighlighter.mpe-syntax--round,
.mpe-syntax--brackethighlighter.mpe-syntax--square,
.mpe-syntax--brackethighlighter.mpe-syntax--angle,
.mpe-syntax--brackethighlighter.mpe-syntax--quote {
color: #595e62;
}
.mpe-syntax--brackethighlighter.mpe-syntax--unmatched {
color: #b52a1d;
}
.mpe-syntax--sublimelinter.mpe-syntax--mark.mpe-syntax--error {
color: #b52a1d;
}
.mpe-syntax--sublimelinter.mpe-syntax--mark.mpe-syntax--warning {
color: #ed6a43;
}
.mpe-syntax--sublimelinter.mpe-syntax--gutter-mark {
color: #c0c0c0;
}
.mpe-syntax--constant.mpe-syntax--other.mpe-syntax--reference.mpe-syntax--link,
.mpe-syntax--string.mpe-syntax--other.mpe-syntax--link {
color: #183691;
text-decoration: underline;
}
.scrollbar-style::-webkit-scrollbar {
width: 8px;
}
.scrollbar-style::-webkit-scrollbar-track {
border-radius: 10px;
background-color: #fff;
}
.scrollbar-style::-webkit-scrollbar-thumb {
border-radius: 5px;
background-color: rgba(150, 150, 150, 0.66);
border: 4px solid rgba(150, 150, 150, 0.66);
background-clip: content-box;
}
.markdown-preview-enhanced-container .mpe-toolbar {
position: fixed;
top: 64px;
right: 24px;
opacity: 0;
display: block;
}
.markdown-preview-enhanced-container .mpe-toolbar .back-to-top-btn,
.markdown-preview-enhanced-container .mpe-toolbar .refresh-btn,
.markdown-preview-enhanced-container .mpe-toolbar .sidebar-toc-btn {
float: right;
width: 32px;
margin-right: 4px;
opacity: 0.4;
}
.markdown-preview-enhanced-container .mpe-toolbar .back-to-top-btn:hover,
.markdown-preview-enhanced-container .mpe-toolbar .refresh-btn:hover,
.markdown-preview-enhanced-container .mpe-toolbar .sidebar-toc-btn:hover {
opacity: 1.0;
}
.markdown-preview-enhanced-container:hover .back-to-top-btn,
.markdown-preview-enhanced-container:hover .refresh-btn,
.markdown-preview-enhanced-container:hover .sidebar-toc-btn {
display: block;
}
.markdown-preview-enhanced-container.show-sidebar-toc .mpe-sidebar-toc {
font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
position: absolute;
top: 0;
right: 0;
width: 268px;
height: 100%;
padding: 32px 0 12px 0;
overflow: auto;
background-color: #fff;
color: #333;
font-size: 14px;
}
.markdown-preview-enhanced-container.show-sidebar-toc .mpe-sidebar-toc a {
color: #333;
}
.markdown-preview-enhanced-container.show-sidebar-toc .mpe-sidebar-toc ul {
padding: 0 1.6em;
}
.markdown-preview-enhanced-container.show-sidebar-toc .mpe-sidebar-toc p {
margin-bottom: 0.8em;
}
.markdown-preview-enhanced-container.show-sidebar-toc .mpe-sidebar-toc ul {
list-style-type: none;
}
.markdown-preview-enhanced-container.show-sidebar-toc .mpe-toolbar {
right: 300px;
}
.markdown-preview-enhanced-container.show-sidebar-toc .markdown-preview-enhanced {
width: calc(100% - 268px);
}
.markdown-preview-enhanced-container .mpe-sidebar-toc::-webkit-scrollbar,
.markdown-preview-enhanced-container .markdown-preview-enhanced::-webkit-scrollbar {
width: 8px;
}
.markdown-preview-enhanced-container .mpe-sidebar-toc::-webkit-scrollbar-track,
.markdown-preview-enhanced-container .markdown-preview-enhanced::-webkit-scrollbar-track {
border-radius: 10px;
background-color: #fff;
}
.markdown-preview-enhanced-container .mpe-sidebar-toc::-webkit-scrollbar-thumb,
.markdown-preview-enhanced-container .markdown-preview-enhanced::-webkit-scrollbar-thumb {
border-radius: 5px;
background-color: rgba(150, 150, 150, 0.66);
border: 4px solid rgba(150, 150, 150, 0.66);
background-clip: content-box;
}
.markdown-preview-enhanced {
font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
font-size: 16px;
line-height: 1.6;
color: #333;
background-color: #fff;
overflow: initial;
margin: 10px 13px 10px 13px;
padding: 2em;
box-sizing: border-box;
word-wrap: break-word;
}
.markdown-preview-enhanced > :first-child {
margin-top: 0;
}
.markdown-preview-enhanced[for="preview"] {
width: 100%;
height: 100%;
margin: 0;
overflow: auto;
font-size: 16px;
display: block;
position: absolute;
}
.markdown-preview-enhanced h1,
.markdown-preview-enhanced h2,
.markdown-preview-enhanced h3,
.markdown-preview-enhanced h4,
.markdown-preview-enhanced h5,
.markdown-preview-enhanced h6 {
line-height: 1.2;
margin-top: 1em;
margin-bottom: 16px;
color: #000000;
}
.markdown-preview-enhanced h1 {
font-size: 2.25em;
font-weight: 300;
padding-bottom: 0.3em;
border-bottom: 1px solid #d6d6d6;
}
.markdown-preview-enhanced h2 {
font-size: 1.75em;
font-weight: 400;
padding-bottom: 0.3em;
border-bottom: 1px solid #d6d6d6;
}
.markdown-preview-enhanced h3 {
font-size: 1.5em;
font-weight: 500;
}
.markdown-preview-enhanced h4 {
font-size: 1.25em;
font-weight: 600;
}
.markdown-preview-enhanced h5 {
font-size: 1.1em;
font-weight: 600;
}
.markdown-preview-enhanced h6 {
font-size: 1.0em;
font-weight: 600;
}
.markdown-preview-enhanced h1,
.markdown-preview-enhanced h2,
.markdown-preview-enhanced h3,
.markdown-preview-enhanced h4,
.markdown-preview-enhanced h5 {
font-weight: 600;
}
.markdown-preview-enhanced h5 {
font-size: 1em;
}
.markdown-preview-enhanced h6 {
color: #5c5c5c;
}
.markdown-preview-enhanced h1,
.markdown-preview-enhanced h2 {
border-bottom: 1px solid #d6d6d6;
}
.markdown-preview-enhanced strong {
color: #000000;
}
.markdown-preview-enhanced del {
color: #5c5c5c;
}
.markdown-preview-enhanced a:not([href]) {
color: inherit;
text-decoration: none;
}
.markdown-preview-enhanced a {
color: #08c;
text-decoration: none;
}
.markdown-preview-enhanced a:hover {
color: #0050a3;
text-decoration: none;
}
.markdown-preview-enhanced img,
.markdown-preview-enhanced svg {
max-width: 100%;
}
.markdown-preview-enhanced > p {
margin-top: 0;
margin-bottom: 16px;
word-wrap: break-word;
}
.markdown-preview-enhanced > ul,
.markdown-preview-enhanced > ol {
margin-bottom: 16px;
}
.markdown-preview-enhanced ul,
.markdown-preview-enhanced ol {
padding-left: 2em;
}
.markdown-preview-enhanced ul.no-list,
.markdown-preview-enhanced ol.no-list {
padding: 0;
list-style-type: none;
}
.markdown-preview-enhanced ul ul,
.markdown-preview-enhanced ul ol,
.markdown-preview-enhanced ol ol,
.markdown-preview-enhanced ol ul {
margin-top: 0;
margin-bottom: 0;
}
.markdown-preview-enhanced li {
margin-bottom: 0;
}
.markdown-preview-enhanced li.task-list-item {
list-style: none;
}
.markdown-preview-enhanced li > p {
margin-top: 0;
margin-bottom: 0;
}
.markdown-preview-enhanced .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.markdown-preview-enhanced .task-list-item-checkbox:hover {
cursor: pointer;
}
.markdown-preview-enhanced blockquote {
margin: 16px 0;
font-size: inherit;
padding: 0 15px;
color: #5c5c5c;
border-left: 4px solid #d6d6d6;
}
.markdown-preview-enhanced blockquote > :first-child {
margin-top: 0;
}
.markdown-preview-enhanced blockquote > :last-child {
margin-bottom: 0;
}
.markdown-preview-enhanced hr {
height: 4px;
margin: 32px 0;
background-color: #d6d6d6;
border: 0 none;
}
.markdown-preview-enhanced table {
margin: 10px 0 15px 0;
border-collapse: collapse;
border-spacing: 0;
display: block;
width: 100%;
overflow: auto;
word-break: normal;
word-break: keep-all;
}
.markdown-preview-enhanced table th {
font-weight: bold;
color: #000000;
}
.markdown-preview-enhanced table td,
.markdown-preview-enhanced table th {
border: 1px solid #d6d6d6;
padding: 6px 13px;
}
.markdown-preview-enhanced dl {
padding: 0;
}
.markdown-preview-enhanced dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-weight: bold;
}
.markdown-preview-enhanced dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.markdown-preview-enhanced code {
font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
font-size: 0.85em !important;
color: #000000;
background-color: #f0f0f0;
border-radius: 3px;
padding: 0.2em 0;
}
.markdown-preview-enhanced code::before,
.markdown-preview-enhanced code::after {
letter-spacing: -0.2em;
content: "\00a0";
}
.markdown-preview-enhanced pre > code {
padding: 0;
margin: 0;
font-size: 0.85em !important;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.markdown-preview-enhanced .highlight {
margin-bottom: 16px;
}
.markdown-preview-enhanced .highlight pre,
.markdown-preview-enhanced pre {
font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
padding: 16px;
overflow: auto;
font-size: 0.85em !important;
line-height: 1.45;
color: #333;
background-color: #f0f0f0 !important;
border: #d6d6d6;
border-radius: 3px;
}
.markdown-preview-enhanced .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.markdown-preview-enhanced pre {
word-wrap: break-word;
white-space: normal;
word-break: break-all;
}
.markdown-preview-enhanced pre .section {
opacity: 1;
}
.markdown-preview-enhanced pre code,
.markdown-preview-enhanced pre tt {
display: inline;
max-width: initial;
padding: 0;
margin: 0;
overflow: initial;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.markdown-preview-enhanced pre code:before,
.markdown-preview-enhanced pre tt:before,
.markdown-preview-enhanced pre code:after,
.markdown-preview-enhanced pre tt:after {
content: normal;
}
.markdown-preview-enhanced p,
.markdown-preview-enhanced blockquote,
.markdown-preview-enhanced ul,
.markdown-preview-enhanced ol,
.markdown-preview-enhanced dl,
.markdown-preview-enhanced pre {
margin-top: 0;
margin-bottom: 16px;
}
.markdown-preview-enhanced pre.editor-colors.lineno {
counter-reset: lineNo;
}
.markdown-preview-enhanced pre.editor-colors.lineno .line::before {
display: inline-block;
counter-increment: lineNo;
content: counter(lineNo);
text-align: right;
padding: 0;
margin-left: -1em;
margin-right: 1.5em;
}
.markdown-preview-enhanced pre.editor-colors.lineno.lineno-100 .line::before {
width: 2em;
}
.markdown-preview-enhanced pre.editor-colors.lineno.lineno-1000 .line::before {
width: 2.5em;
}
.markdown-preview-enhanced pre.editor-colors.lineno.lineno-10000 .line::before {
width: 3em;
}
.markdown-preview-enhanced pre.editor-colors.lineno.lineno-100000 .line::before {
width: 3.5em;
}
.markdown-preview-enhanced kbd {
color: #000000;
border: 1px solid #d6d6d6;
border-bottom: 2px solid #c7c7c7;
padding: 2px 4px;
background-color: #f0f0f0;
border-radius: 3px;
}
.markdown-preview-enhanced .pagebreak,
.markdown-preview-enhanced .newpage {
page-break-before: always;
}
@media screen and (min-width: 914px) {
.markdown-preview-enhanced {
width: 980px;
margin: 10px auto;
background: #fff;
}
}
@media screen and (max-width: 400px) {
.markdown-preview-enhanced {
font-size: 14px;
margin: 0 auto;
padding: 15px;
}
}
@media print {
.markdown-preview-enhanced {
background-color: #fff;
/*table,*/
}
.markdown-preview-enhanced h1,
.markdown-preview-enhanced h2,
.markdown-preview-enhanced h3,
.markdown-preview-enhanced h4,
.markdown-preview-enhanced h5,
.markdown-preview-enhanced h6 {
color: #000000;
page-break-after: avoid;
}
.markdown-preview-enhanced blockquote {
color: #5c5c5c;
}
.markdown-preview-enhanced pre {
page-break-inside: avoid;
}
.markdown-preview-enhanced table {
display: table;
}
.markdown-preview-enhanced img {
display: block;
max-width: 100%;
max-height: 100%;
}
.markdown-preview-enhanced pre,
.markdown-preview-enhanced code {
word-wrap: break-word;
white-space: normal;
}
}
.markdown-preview-enhanced[for="preview"] .code-chunk {
position: relative;
}
.markdown-preview-enhanced[for="preview"] .code-chunk .output-div {
overflow-x: auto;
}
.markdown-preview-enhanced[for="preview"] .code-chunk .output-div svg {
display: block;
}
.markdown-preview-enhanced[for="preview"] .code-chunk pre {
cursor: text;
}
.markdown-preview-enhanced[for="preview"] .code-chunk .btn-group {
position: absolute;
right: 0;
top: 0;
display: none;
}
.markdown-preview-enhanced[for="preview"] .code-chunk .btn-group .run-btn,
.markdown-preview-enhanced[for="preview"] .code-chunk .btn-group .run-all-btn {
float: right;
margin-left: 4px;
border-radius: 3px;
font-size: 0.8em;
color: #eee;
background-color: #528bff;
background-image: none;
border: none;
}
.markdown-preview-enhanced[for="preview"] .code-chunk .btn-group .run-btn:hover,
.markdown-preview-enhanced[for="preview"] .code-chunk .btn-group .run-all-btn:hover {
background-color: #4b7fe8;
cursor: pointer;
}
.markdown-preview-enhanced[for="preview"] .code-chunk:hover .btn-group {
display: block;
}
.markdown-preview-enhanced[for="preview"] .code-chunk .status {
position: absolute;
right: 0;
top: 0;
font-size: 0.85em;
color: inherit;
padding: 2px 6px;
background-color: rgba(0, 0, 0, 0.04);
display: none;
}
.markdown-preview-enhanced[for="preview"] .code-chunk.running .btn-group {
display: none;
}
.markdown-preview-enhanced[for="preview"] .code-chunk.running .status {
display: block;
}
.markdown-preview-enhanced:not([for="preview"]) .code-chunk .btn-group {
display: none;
}
.markdown-preview-enhanced:not([for="preview"]) .code-chunk .status {
display: none;
}
/*
* Reveal.js styles
*/
[data-presentation-preview-mode] {
background-color: #f4f4f4;
}
[data-presentation-preview-mode] .preview-slides {
width: 100%;
}
[data-presentation-preview-mode] .preview-slides .slide {
position: relative;
background-color: #fff;
padding: 2em !important;
margin-bottom: 12px;
text-align: left !important;
display: flex;
align-items: center;
border: 1px solid #e6e6e6;
box-shadow: 0px 0px 16px 4px #eeeeee;
font-size: 24px;
}
[data-presentation-preview-mode] .preview-slides .slide h1,
[data-presentation-preview-mode] .preview-slides .slide h2,
[data-presentation-preview-mode] .preview-slides .slide h3,
[data-presentation-preview-mode] .preview-slides .slide h4,
[data-presentation-preview-mode] .preview-slides .slide h5,
[data-presentation-preview-mode] .preview-slides .slide h6 {
margin-top: 0;
}
[data-presentation-preview-mode] .preview-slides .slide .background-video {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
[data-presentation-preview-mode] .preview-slides .slide .background-iframe,
[data-presentation-preview-mode] .preview-slides .slide .background-iframe-overlay {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
border: none;
z-index: 1;
}
[data-presentation-preview-mode] .preview-slides .slide .background-iframe-overlay {
z-index: 2;
}
[data-presentation-preview-mode] section {
display: block;
width: 100%;
transform-style: preserve-3d;
font-size: 100%;
font: inherit;
}
.markdown-preview-enhanced[data-presentation-mode] {
font-size: 24px;
width: 100%;
box-sizing: border-box;
margin: 0;
padding: 0;
}
.markdown-preview-enhanced[data-presentation-mode] h1,
.markdown-preview-enhanced[data-presentation-mode] h2,
.markdown-preview-enhanced[data-presentation-mode] h3,
.markdown-preview-enhanced[data-presentation-mode] h4,
.markdown-preview-enhanced[data-presentation-mode] h5,
.markdown-preview-enhanced[data-presentation-mode] h6 {
margin-top: 0;
}
.markdown-preview-enhanced[data-presentation-mode] strong {
font-weight: bold;
}
.markdown-preview-enhanced[data-presentation-mode]::-webkit-scrollbar {
display: none;
}
.markdown-preview-enhanced .slides {
text-align: left !important;
}
/*
* Your Stylesheet
*
* This stylesheet is loaded when Atom starts up and is reloaded automatically
* when it is changed.
*
* If you are unfamiliar with LESS, you can read more about it here:
* http://www.lesscss.org
*/
/* from github https://discuss.atom.io/t/use-the-gutter-without-enabling-linenumbers/2461/6*/
phoneme2grapheme
Using a sequence 2 sequence model with attention to convert from pronunciation to spelling.
installation
Install the requirements pip install --upgrade -r requirements.txt
Then start a jupyter notebook and open main.ipynb
results
It reaches a character error rate of <20%, and here are the results . The machine has made some reasonable mistakes but becomes confused by the end of the word.
Note if you view the readme in html you will see lighter letters show where the model was uncertain.
pronunciationguessspellingkˈɑkəsˌɔidcockosoid caucasoid bɹˈæsfˌildbrasfielddbrassfieldflˈæʃbl̩b flashbllb flashbulb hˈɛstiə hestia hestia kɹˈæbi crabby crabby tɹədˈus traduse traduce təlˈulə talula tallulah bˈitn̩ beetnn beaton hˈɑlɪtʃɛk holicckk holecek beidˈɔiə bedoia bedoya sɪvˈiɹ siverr severe nɑɪsˈɪpi nicipp nicippe lˈoʊɹntʃəɹlornnchrr launcher bɹɪtˈɔil bretoil britoil ˈɔɹtnɚ ortner ortner bˈɪljn̩ɵs billiants billionthssˈɛmijˌɑn semiyon semillon lˈɔntʃɪŋ launching launching zˌubɪlˈɑgəzubilagaa zubillaga ɹɪfɹˈɛʃɪz refreshes refreshes ˈɪgnəɹn̩s igneranceeignorance tɪsˈɪpəs tesippus ctesippus vɪtkˈɔfskivitkowski witkowski dˈɑdɹɪdʒ dodrrdge doddridge tˈɛnn̩t tennnnt tennent dˈɪŋk dink dink ˈeiljənəɹ alliner alienor dˈuln̩ dullnn doolan hˈʌlki hulkee hulky mˈɛmwˌɑɹz memwars memoirs kɑɹdɑɹˈɛlicardarelllcardarellifˈɝmɚ furmer firmer kwˈɑpjɑ quapya kuopio kɚˈɛktɪd careected corrected ɹˈɔɵmn̩ rothman rothman stɹʊk strook strook ɹˈɛnkwɪst renquist renquist ɛspɪnˈoʊzəespinosa espinosa bˈɪgɪnz biggins biggins pəɹfˈɛkʃn̩perfectionperfectionˈændəɹsn̩ anderson andersen ˈænɪnæt aninatt aninat ˈɔlɹɪd alredd alred ɑɹkˈoʊlə arcola arcola pɹˈimiəm premium premium bˈɑlmʊŋ bolmung balmung ɹˌɑbˈʌstəsrobustoss robustas dɪsˈɔɹdɚz disorddrrsdisorders ˈæsɪtˌæl asitall acetal bjˈuz buse buse wˈeif waff waif ˈæɹənˌoʊs aronose arenose kwˈeiswˈeiquaseeay kweisui ɪmbˈɑdiɪŋ imbodiinggembodying mˈʌlkɚn mulkern mulkern kˈɪmɪtʃ